微信卡券
微信卡券接口中使用的签名凭证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。
接口调用请求说明
- http请求方式: GET
- https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=wx_card
参数说明
参数 | 是否必须 | 说明 |
---|---|---|
access_token | 是 | 接口调用凭证 |
返回数据
数据示例:
- {
- "errcode":0,
- "errmsg":"ok",
- "ticket":"bxLdikRXVbTPdHSM05e5u5sUoXNKdvsdshFKA",
- "expires_in":7200
- }
参数名 | 描述 |
---|---|
errcode | 错误码 |
errmsg | 错误信息 |
ticket | api_ticket,卡券接口中签名所需凭证 |
expires_in | 有效时间 |
- wx.chooseCard({
- shopId: '', // 门店Id
- cardType: '', // 卡券类型
- cardId: '', // 卡券Id
- timestamp: 0, // 卡券签名时间戳
- nonceStr: '', // 卡券签名随机串
- signType: '', // 签名方式,默认'SHA1'
- cardSign: '', // 卡券签名
- success: function (res) {
- var cardList= res.cardList; // 用户选中的卡券列表信息
- }
- });
参数名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|
shopId | 否 | string(24) | 1234 | 门店ID。shopID用于筛选出拉起带有指定location_list(shopID)的卡券列表,非必填。 |
cardType | 否 | string(24) | GROUPON | 卡券类型,用于拉起指定卡券类型的卡券列表。当cardType为空时,默认拉起所有卡券的列表,非必填。 |
cardId | 否 | string(32) | p1Pj9jr90_SQRaVqYI239Ka1erk | 卡券ID,用于拉起指定cardId的卡券列表,当cardId为空时,默认拉起所有卡券的列表,非必填。 |
timestamp | 是 | string(32) | 14300000000 | 时间戳。 |
nonceStr | 是 | string(32) | sduhi123 | 随机字符串。 |
signType | 是 | string(32) | SHA1 | 签名方式,目前仅支持SHA1 |
cardSign | 是 | string(64) | abcsdijcous123 | 签名。 |
- wx.addCard({
- cardList: [{
- cardId: '',
- cardExt: ''
- }], // 需要添加的卡券列表
- success: function (res) {
- var cardList = res.cardList; // 添加的卡券列表信息
- }
- });
cardExt详见附录4,开发者若调用接口报签名错误、已领完等异常情况可以参照:卡券签名错误排查方法
查看微信卡包中的卡券接口
- wx.openCard({
- cardList: [{
- cardId: '',
- code: ''
- }]// 需要打开的卡券列表
- });