微信卡券 获取api_ticket 拉取适用卡券列表_微信JS-SDK说明文档_JS-SDK_JSAPI微信公众平台

  • 发表于 2017-10-17

330元/年香港云服务器,节省80%出海成本>>> 

13 微信卡券
 13.1 获取api_ticket
 13.2 拉取适用卡券列表并获取用户选择信息
 13.3 批量添加卡券接口
 13.4 查看微信卡包中的卡券接口

微信卡券

微信卡券接口中使用的签名凭证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 签名。

cardSign详见附录4

开发者特别注意:签名错误会导致拉取卡券列表异常为空,请仔细检查参与签名的参数有效性。

特别提醒

拉取列表仅与用户本地卡券有关,拉起列表异常为空的情况通常有三种:签名错误、时间戳无效、筛选机制有误。请开发者依次排查定位原因。

批量添加卡券接口

wx.addCard({

    cardList: [{

        cardId: "",

        cardExt: ""

    }], // 需要添加的卡券列表

    success: function (res) {

        var cardList = res.cardList; // 添加的卡券列表信息

    }

});

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


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

wx.openCard({

    cardList: [{

        cardId: "",

        code: ""

    }]// 需要打开的卡券列表

});


TOP
顶部