我们业务中先是根据openid调用微信开放平台的获取用户已领取卡券接口https://api.weixin.qq.com/card/user/getcardlist?access_token=TOKEN
获取用户的卡券列表,然后根据返回的code码查询卡券状态,如果状态卡券状态正常,再去调用查看卡券详情接口获取卡券详细信息。
但是现在查看卡券详情接口返回:
{"errcode":40073,"errmsg":"invalid card id hint: [LSt_Sa03331567]"},发送的card_id是接口返回的,但是用这个card_id去调用查看卡券详情接口却提示card_id无效
这一套业务逻辑大部分卡券都能正常的获取到卡券详情信息,就这个{"card_id":"pLdaCt77Amg01uh4rDoKVk90KCBo", "code":"754383380909"}
不可以,请问这是什么原因?
-----------0808 18:45补充
这个问题经排查发现是在朋友圈广告添加卡券组件导致的,未添加卡券组件之前通过获取用户已领取卡券接口返回的card_id是pmuy格式开头的pmuy-1MfSJa1o5oi7UyYIx3_WClo ,这个card_id可以正常获取到卡券详情。
添加完组件后提交广告进行预览(同时微信公众号后台卡券列表会有一个”互“字标识 )
,通过预览链接上设置的卡券组件领取卡券,然后在调用获取用户已领取卡券接口返回的card_id就变成了pL开头的 pLdaCt0F63eV_S2oyddggQw4XmS4 ,pL格式的card_id调用卡券详情接口就返回40073错误
微信广告投放的卡券,目前需要走互通才允许投放,未互通的是不行的哦。
走互通是什么意思?互通之后用openid拿到的卡券列表里card_id就是可用的吗?能详细点儿么
我们目前测试阶段是扫描朋友圈广告的预览二维码,然后通过广告页上的卡券组件领取卡券
目前我们的解决办法是在用户领取卡券事件推送中记录下卡券的card_id、code码,然后使用openid拿到用户领取的卡券列表,用卡券列表里的code码和领取事件推送日志中的code码进行比对,找出领取事件推送日志的card_id,然后用这个card_id去获取卡券详情