This API is used to obtain a loyalty card instance that has been added to the Huawei server.
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/loyalty/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/loyalty/instance/40001 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.loyalty.test",
"passStyleIdentifier": "loyaltyModelTest",
"organizationPassId": "356688115",
"serialNumber": "40001",
"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",
"label": "Card Number"
},
{
"key": "balance",
"value": "$199",
"label": "Balance"
},
{
"key": "memberName",
"value": "Joe Wiley",
"label": "Name"
}
],
"appendFields": [
{
"key": "points",
"value": "2000",
"label": "Points"
}
]
}
}
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 obtain 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();
}