领券事件同步接口

方式一:领券事件推送

卡券被用户领取会触发事件推送,该事件将发送至开发者填写的卡券回调地址callbackUrl

百度服务器在 3 秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次。
关于重试的消息排重,推荐使用 FromUserName + CreateTime 排重。
假如服务器无法保证在 3 秒内处理并回复,可以直接回复空串,百度服务器不会对此作任何处理,并且不会发起重试。

开发者服务器收到请求必须作出下述回复:

  1. 开始者回复 success(推荐方式),代码示例:String result = "success"; return result;
  2. 直接回复空串。

用户在领取卡券时,百度会把这个事件推送到开发者填写的callbackUrl

推送示例

  1. {
  2. "ToUserName":"app_id",
  3. "FromUserName":"open_id",
  4. "CreateTime":"1472551036",
  5. "MsgType":"event",
  6. "Event":"user_get_coupon",
  7. "CouponId":"pZI8Fjwsy5fVPRBeD78J4RmqVvBc",
  8. "UserCouponCode":"226009850808",
  9. "CouponTakeId":"xxxxx"
  10. }

参数说明

参数说明
ToUserName开发者 app_id
FromUserName领券用户的 OpenID
CreateTime消息创建时间(整型)
MsgType消息类型,event
Event事件类型,user_get_coupon(用户领取卡券)
CouponId卡券 ID
UserCouponCode卡券 Code 码
CouponTakeId卡券领取标识,调用核销同步接口时必传
EncryptData加密信息,可用于接口安全认证,平台为开发者提供了 Java 语言的示例代码,点击下载解密包

方式二:跳转协议带参数

用户从百度卡券包卡券详情点击「立即使用」时,跳转打开开发者小程序的跳转协议路径页面地址,同时带上该券的领券参数coupon,开发者拿到参数后,对参数进行解密,可以获取到该用户的领券信息。

注意事项coupon为加密信息,需要使用小程序 App Secret (智能小程序密匙)进行解密(小程序开发者平台:设置->开发设置->开发者 ID(App Secret(智能小程序密匙))

图片

获取参数

开发者需在卡券详情页点击立即使用跳转的页面上,通过 onShow() 获取当前页面路径中的 coupon 参数。

开发者须知
若点击「立即使用」加密信息传递,注意需要在小程序 app.js 文件中增加 onShow 能力开发。

代码示例(放在 app.js 中)

  1. onShow(event) {
  2. let extraData = event.referrerInfo.extraData;
  3. let coupon = extraData.coupon;
  4. swan.showModal({
  5. title: '提示' + coupon,
  6. });
  7. }

解密参数

coupon 参数进行解密,获取到用户的领券信息,为用户发券;

使用小程序 App Secret(智能小程序密匙)进行解密(小程序开发者平台:设置->开发设置->开发者 ID(App Secret(智能小程序密匙))

解密示例

  1. {"open_id":"xxx","coupon_id":"xxx","coupon_code":"xxx","app_key":"xxx","coupon_take_id":"xxx"}

参数说明

参数是否必须说明
open_id用户 openId
coupon_id卡券 ID
coupon_code卡券 Code 码,小程序开发者创建时上传的 Code 码
app_key小程序 appKey
coupon_take_id卡券领取标识,调用核销同步接口时必传