微信卡券

微信卡券接口中使用的签名凭证api_ticket,与步骤三中config使用的签名凭证jsapi_ticket不同,开发者在调用微信卡券JS-SDK的过程中需依次完成两次不同的签名,并确保凭证的缓存。

获取api_ticket

api_ticket 是用于调用微信卡券JS API的临时票据,有效期为7200 秒,通过access_token 来获取。

开发者注意事项:

1.此用于卡券接口签名的api_ticket与步骤三中通过config接口注入权限验证配置使用的jsapi_ticket不同。

2.由于获取api_ticket 的api 调用次数非常有限,频繁刷新api_ticket 会导致api调用受限,影响自身业务,开发者需在自己的服务存储与更新api_ticket。

接口调用请求说明

  1. http请求方式: GET
  2. https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=wx_card

参数说明

参数是否必须说明
access_token接口调用凭证

返回数据

数据示例:

  1. {
  2. "errcode":0,
  3. "errmsg":"ok",
  4. "ticket":"bxLdikRXVbTPdHSM05e5u5sUoXNKdvsdshFKA",
  5. "expires_in":7200
  6. }
参数名描述
errcode错误码
errmsg错误信息
ticketapi_ticket,卡券接口中签名所需凭证
expires_in有效时间
### **拉取适用卡券列表并获取用户选择信息**
  1. wx.chooseCard({
  2. shopId: '', // 门店Id
  3. cardType: '', // 卡券类型
  4. cardId: '', // 卡券Id
  5. timestamp: 0, // 卡券签名时间戳
  6. nonceStr: '', // 卡券签名随机串
  7. signType: '', // 签名方式,默认'SHA1'
  8. cardSign: '', // 卡券签名
  9. success: function (res) {
  10. var cardList= res.cardList; // 用户选中的卡券列表信息
  11. }
  12. });
参数名必填类型示例值描述
shopIdstring(24)1234门店ID。shopID用于筛选出拉起带有指定location_list(shopID)的卡券列表,非必填。
cardTypestring(24)GROUPON卡券类型,用于拉起指定卡券类型的卡券列表。当cardType为空时,默认拉起所有卡券的列表,非必填。
cardIdstring(32)p1Pj9jr90_SQRaVqYI239Ka1erk卡券ID,用于拉起指定cardId的卡券列表,当cardId为空时,默认拉起所有卡券的列表,非必填。
timestampstring(32)14300000000时间戳。
nonceStrstring(32)sduhi123随机字符串。
signTypestring(32)SHA1签名方式,目前仅支持SHA1
cardSignstring(64)abcsdijcous123签名。
cardSign详见附录4。 开发者特别注意:签名错误会导致拉取卡券列表异常为空,请仔细检查参与签名的参数有效性。 **特别提醒** 拉取列表仅与用户本地卡券有关,拉起列表异常为空的情况通常有三种:签名错误、时间戳无效、筛选机制有误。请开发者依次排查定位原因。 ### **批量添加卡券接口**
  1. wx.addCard({
  2. cardList: [{
  3. cardId: '',
  4. cardExt: ''
  5. }], // 需要添加的卡券列表
  6. success: function (res) {
  7. var cardList = res.cardList; // 添加的卡券列表信息
  8. }
  9. });

cardExt详见附录4,开发者若调用接口报签名错误、已领完等异常情况可以参照:卡券签名错误排查方法

查看微信卡包中的卡券接口

  1. wx.openCard({
  2. cardList: [{
  3. cardId: '',
  4. code: ''
  5. }]// 需要打开的卡券列表
  6. });