红包JSAPI


上一篇 : 设置红包活动抽奖开关 下一篇: 红包绑定用户事件通知



接口说明

在第三方页面中,通过调用JSAPI来触发用户抽红包的操作,如果抽到红包,会呼出微信的原生红包页面。用户只有通过摇周边的入口才能抽中红包。每个用户在一个活动抽奖id下最多只能中一个红包。创建红包活动时,选择使用模板页面的开发者不需要调用该接口

引入BeaconShakehbJsBridge'

<scripttype="text/javascript"src="http://zb.weixin.qq.com/app/shakehb/BeaconShakehbJsBridge.js">
</script>

API详细说明

抽红包JS API调用与微信的JS API调用格式一致,如下:

函数:invoke
用途:主动调用指定API
通用形式:BeaconShakehbJsBridge.invoke("API名称", {调用参数});
API 名称:jumpHongbao
参数:openid、lottery_id、noncestr、sign
回调函数:无

调用参数说明

参数 说明
openid 用户openid。必填
lottery_id 红包抽奖id,必填,来自addlotteryinfo返回的lottery_id
noncestr 随机字符串,不长于32位。必填
sign 签名,详见下面的签名生成规则

Sign生成规则

1.除sign字段外,所有参数按照字段名的ASCII码从小到大排序后(字典序),使用URL键值对的格式(即Param1=value1&Param2=value2…)拼接而成签名原始串,空值不参与签名组串。

2.签名原始串中,字段名和字段值都采用原始值,不进行URL转义。

3.签名原始串末尾补上key参数(通过“创建红包活动”接口设置的key),如 Param1=value1&Param2=value2…&key=keyvalue

4.得到的字符串进行MD5,并转换为大写。即 sign=ToUpperCase(MD5(Param1=value1&Param2=value2…&key=keyvalue))

5.出于安全考虑,开发者必须在服务器端实现生成签名的逻辑。

请求示例

BeaconShakehbJsBridge.ready(function(){
//跳转到抽红包页面
   BeaconShakehbJsBridge.invoke('jumpHongbao',{
   lottery\_id:'LOTTERY\_ID ',
   noncestr:'378507853820041854759013507217',
   openid:'OPENID',
   sign:'SIGN'
});
});

用户侧错误码说明

提示文案 错误码 错误信息 解决方案
出错了 5 摇周边ticket过期 检查是不是从微信摇一摇进入
出错了 11002 摇一摇ticket不存在 检查是不是从微信摇一摇进入
出错了 11003 无效的摇一摇ticket 检查是不是从微信摇一摇进入
出错了 11004 获取商户appid失败 检查是不是从微信摇一摇进入
出错了 11005 摇周边频率检查失败 检查是不是从微信摇一摇进入
出错了 11009 系统异常 请重试
出错了 11010 随机字符串长度过长 对自定义页面时调jsapi参数校验出错,请检查
出错了 11011 LotteryID解析失败 对自定义页面时调jsapi参数校验出错,请检查
出错了 11012 签名校验失败 对自定义页面时调jsapi参数校验出错,请检查
出错了 11013 openid无效 对自定义页面时调jsapi参数校验出错,请检查
出错了 11014 pass_ticket无效 检查是不是从微信摇一摇进入
出错了 12013 绑定用户和红包失败 抽到红包ticket后,微信支付返回的错误
出错了 12014 微信支付查询红包ticket失败 抽到红包ticket后,微信支付返回的错误
出错了 12015 抽奖操作频率过高 请重试
出错了 12019 page_id无效 使用模版时校验出错


上一篇 : 设置红包活动抽奖开关 下一篇: 红包绑定用户事件通知