管理中心
我的
API参考钱包服务REST开发者调用接口卡券创建、查询、修改接口活动门票接口批量查询活动门票模板

批量查询活动门票模板

功能介绍

获取保存在华为钱包服务器的所有活动门票模板。

场景描述

开发者可以调用该API,查询属于某一appId的所有活动门票模板。可以照pageSize来分页返回。返回的模板可以属于多个passTypeIdentifier。

使用约束

需在华为AGC网站上创建应用并申请卡券对应的服务。

接口原型

承载协议

HTTPS GET

接口方向

开发者服务器->华为钱包服务器

接口URL

{url}/hmspass/v1/eventticket/model?session={session}&pageSize={pageSize}

{url}变量需要开发者根据服务器所属区域自行选择,请参见钱包服务器地址。

数据格式

请求消息:Content-Type: application/json

响应消息:Content-Type: application/json

查询参数

展开

参数

是否必选

参数类型

描述

pageSize

否

int

每次返回的记录数。最大值为50。如果pageSize未定义,则返回所有结果。

session

否

String

如果指定了pageSize且对象总数大于pageSize,调用批量查询接口会返回一个nextSession参数。再次调用此接口时,将这个session参数设置为之前获取的nextSession,可以得到下一组对象。调用批量查询接口获取第一组对象时不填写此参数。

备注:pageSize和session都不存在则返回全部对象。pageSize存在而session不存在,则返回第一组对象。pageSize和session都存在则返回下一组对象。不能填写了session而不填写pageSize。对象总数超过50时必须设置pageSize。使用session查询下一组对象时,pageSize应与之前使用的值保持一致。

请求参数

Request Header:

展开

参数

是否必选

参数类型

描述

Authorization

是

String

鉴权码。获取方式详见基于OAuth 2.0开放鉴权,请使用“客户端模式”。“client_id”和“client_secret”即为开发者在华为AGC网站上创建应用后获取的“App ID”和“App key”。将获取到的“access_token”的值拼接在字符串“Bearer”之后,以空格符相隔,组成“Authorization”参数的值。

Content-Type

是

String

固定值:“application/json;charset=utf-8”。

Accept

是

String

固定值:“application/json;charset=utf-8”。

请求示例

收起
自动换行
深色代码主题
复制
  1. GET /hmspass/v1/eventticket/model HTTP/1.1
  2. Content-Type: application/json;charset=utf-8
  3. Authorization: Bearer ***
  4. Accept: application/json;charset=utf-8
  5. Host: wallet-passentrust-drcn.cloud.huawei.com.cn

响应参数

错误码为200时:

展开

参数

参数类型

描述

data

List<HwWalletObject>

卡券模板列表

pageInfo

PageInfo

页面信息

PageInfo:

展开

参数

参数类型

描述

pageSize

int

返回列表的长度

nextSession

String

查询下一页使用的session,5分钟内有效。

响应示例

收起
自动换行
深色代码主题
复制
  1. HTTP/1.1 200 OK
  2. Content-Type: application/json
  3. {
  4. "data": [
  5. {
  6. "passVersion": "1.0",
  7. "passTypeIdentifier": "hwpass.com.huawei.wallet.eventticket.test",
  8. "passStyleIdentifier": "eventTicketModelTest",
  9. "organizationName": "Huawei",
  10. "fields": {
  11. "countryCode": "CN",
  12. "locationList": [
  13. {
  14. "longitude": "114.0679603815",
  15. "latitude": "22.6592051284"
  16. }
  17. ],
  18. "commonFields": [
  19. {
  20. "key": "logo",
  21. "value": "https://www.huawei.com/XXX.png"
  22. },
  23. {
  24. "key": "name",
  25. "value": "XXX Party Ticket"
  26. },
  27. {
  28. "key": "merchantName",
  29. "value": "Huawei",
  30. "localizedValue": "merchantNameI18N"
  31. },
  32. {
  33. "key": "address",
  34. "value": "XXX location"
  35. },
  36. {
  37. "key": "ticketType",
  38. "value": "Adult ticket"
  39. }
  40. ],
  41. "appendFields": [
  42. {
  43. "key": "backgroundColor",
  44. "value": "#FF1C2635"
  45. }
  46. ],
  47. "imageList": [
  48. {
  49. "key": "mainImage[0]",
  50. "value": "https://www.huawei.com/XXX0.png"
  51. },
  52. {
  53. "key": "mainImage[1]",
  54. "value": "https://www.huawei.com/XXX1.png"
  55. },
  56. {
  57. "key": "mainImage[2]",
  58. "value": "https://www.huawei.com/XXX2.png"
  59. }
  60. ],
  61. "messageList": [
  62. {
  63. "key": "message[0]",
  64. "value": "Welcome to the party!"
  65. }
  66. ],
  67. "timeList": [
  68. {
  69. "key": "startTime",
  70. "value": "2020-01-22T09:20:00.083Z"
  71. },
  72. {
  73. "key": "endTime",
  74. "value": "2020-01-22T12:20:00.083Z"
  75. }
  76. ],
  77. "localized": [
  78. {
  79. "key": "merchantNameI18N",
  80. "language": "zh-cn",
  81. "value": "华为"
  82. },
  83. {
  84. "key": "merchantNameI18N",
  85. "language": "en",
  86. "value": "Huawei"
  87. }
  88. ]
  89. }
  90. }
  91. ],
  92. "pageInfo": {
  93. "pageSize": 1,
  94. "nextSession":"sesstionValue"
  95. }
  96. }

错误码

详见错误码。

调用示例

收起
自动换行
深色代码主题
复制
  1. public List<HwWalletObject> listWalletModel(String url, Integer pageSize) {
  2. // Construct the http header.
  3. HttpHeaders header = constructHttpHeaders();
  4. // Construct the http URL.
  5. String baseUrl = ConfigHelper.instants().getValue("walletServerBaseUrl");
  6. String walletServerUrl = baseUrl + url;
  7. HttpEntity entity = new HttpEntity(header);
  8. if (pageSize == null) {
  9. ResponseEntity<BatchGetHwWalletResult> response =
  10. REST_TEMPLATE.exchange(walletServerUrl, HttpMethod.GET, entity, BatchGetHwWalletResult.class);
  11. BatchGetHwWalletResult batchGetHwWalletResult = response.getBody();
  12. if (batchGetHwWalletResult == null) {
  13. System.out.println("listWalletModel failed. batchGetHwWalletResult is null.");
  14. return null;
  15. } else {
  16. return batchGetHwWalletResult.getData();
  17. }
  18. } else {
  19. List<HwWalletObject> walletModelList = new LinkedList<>();
  20. String tempUrl = walletServerUrl + "?pageSize=" + pageSize;
  21. String session = "";
  22. while (true) {
  23. String finalUrl = tempUrl;
  24. if (!session.isEmpty()) {
  25. finalUrl = finalUrl + "&session=" + session;
  26. }
  27. ResponseEntity<BatchGetHwWalletResult> response =
  28. REST_TEMPLATE.exchange(finalUrl, HttpMethod.GET, entity, BatchGetHwWalletResult.class);
  29. BatchGetHwWalletResult batchGetHwWalletResult = response.getBody();
  30. if (batchGetHwWalletResult == null) {
  31. System.out.println("listWalletModel failed. batchGetHwWalletResult is null.");
  32. return null;
  33. }
  34. List<HwWalletObject> data = batchGetHwWalletResult.getData();
  35. if (data == null || data.isEmpty()) {
  36. return walletModelList;
  37. }
  38. walletModelList.addAll(data);
  39. PageInfo pageInfo = batchGetHwWalletResult.getPageInfo();
  40. if (pageInfo == null) {
  41. System.out.println("listWalletModel failed. pageInfo is null.");
  42. return null;
  43. }
  44. String nextSession = pageInfo.getNextSession();
  45. if (nextSession == null || nextSession.isEmpty()) {
  46. return walletModelList;
  47. }
  48. session = nextSession;
  49. }
  50. }
  51. }