You need to create an app in AppGallery Connect and apply for services corresponding to the passes.
Protocol | HTTPS GET |
|---|---|
Direction | Developer server -> Huawei server |
URL | {url}/hmspass/v1/giftcard/instance/{instanceId} Set the {url} variable based on the region where the server is located. For details, please refer to Wallet Server Addresses. |
Data Format | Request: Content-Type: application/json Response: Content-Type: application/json |
Parameter | Mandatory/Optional | Type | Description |
|---|---|---|---|
instanceId | Mandatory | String | Unique identifier of an instance. It must be unique across all instances sharing the same appId. The value contains only letters, digits, dots (.), hyphens (-), and underscores (_). |
Request Header
Parameter | Mandatory/Optional | Type | Description |
|---|---|---|---|
Authorization | Mandatory | String | Authorization code. For details about how to obtain the value, please refer to the Client Credentials mode in OAuth 2.0-based Authentication. In this mode, client_id and client_secret are respectively the App ID and App key of the app that you created in AppGallery Connect. Concatenate the value of access_token to the end of Bearer, with a space in between, to generate the value of Authorization. |
Content-Type | Mandatory | String | The value is always application/json;charset=utf-8. |
Accept | Mandatory | String | The value is always application/json;charset=utf-8. |
GET /hmspass/v1/giftcard/instance/30001 HTTP/1.1 Content-Type: application/json;charset=utf-8 Authorization: Bearer *** Accept: application/json;charset=utf-8 Host: wallet-passentrust-drcn.cloud.huawei.com.cn
When the result code is 200:
Parameter | Type | Description |
|---|---|---|
For details, please refer to the HwWalletObject Parameters. | Pass instance that is identified by instanceId. |
HTTP/1.1 200 OK
Content-Type: application/json
{
"passTypeIdentifier": "hwpass.com.huawei.wallet.giftcard.test",
"passStyleIdentifier": "giftCardModelTest",
"organizationPassId": "356688115",
"serialNumber": "30001",
"fields": {
"status": {
"state": "active",
"effectTime": "2019-11-13T00:00:00.111Z",
"expireTime": "2028-11-20T00:00:00.111Z"
},
"barCode": {
"text": "1118466050",
"type": "codabar",
"value": "1118466050",
"encoding": "UTF-8"
},
"commonFields": [
{
"key": "cardNumber",
"value": "356688115"
},
{
"key": "balance",
"value": "$199"
},
{
"key": "balanceRefreshTime",
"value": "Thursday, Dec 12,2018"
},
{
"key": "pin",
"value": "118.91",
"label": "PIN Number"
}
]
}
} public HwWalletObject getWalletModelByModelId(String url, String modelId) {
// Construct the HTTP header.
HttpHeaders header = constructHttpHeaders();
// Construct the HTTP URL.
String baseUrl = ConfigHelper.instants().getValue("walletServerBaseUrl");
String walletServerUrl = baseUrl + url + modelId;
// Send the HTTP request and get the response.
ResponseEntity<HwWalletObject> response =
REST_TEMPLATE.exchange(walletServerUrl, HttpMethod.GET, new HttpEntity(header), HwWalletObject.class);
// Return the wallet model with the corresponding model ID.
return response.getBody();
}