红包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参数校验出错,请检查
出错了11011LotteryID解析失败对自定义页面时调jsapi参数校验出错,请检查
出错了11012签名校验失败对自定义页面时调jsapi参数校验出错,请检查
出错了11013openid无效对自定义页面时调jsapi参数校验出错,请检查
出错了11014pass_ticket无效检查是不是从微信摇一摇进入
出错了12013绑定用户和红包失败抽到红包ticket后,微信支付返回的错误
出错了12014微信支付查询红包ticket失败抽到红包ticket后,微信支付返回的错误
出错了12015抽奖操作频率过高请重试
出错了12019page_id无效使用模版时校验出错