接口说明
在第三方页面中,通过调用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无效 | 使用模版时校验出错
|