互亿无线 · 文档中心

奖励营销活动 - API文档


1.目的

无论是签名还是微信登录,都是为了加强安全性,防止被刷奖,将被刷奖的可能性降低。

2.两种方式区别

微信登录:当应用或系统限定于微信内使用则可以选择微信登录,这也是最为常见的方式,通常不需要开发即可使用。

签名登录:当应用想要更强的兼容性或限定于APP内,PC端,不止在微信内使用则可以选择此登录方式,当然也可以在微信内使用。签名生成代码工作量非常少,通常10行以内代码即可搞定。

3.用户唯一性判定方式

同一活动中,同一微信openid或签名id 与手机号码绑定,是一对一关系,同样微信号或同样签名id算作一个用户,手机号码不可重复。

4.选择建议

1)微信是个非常好的传播渠道,没有特别需要,直接使用此方式会更便捷和快速以及更好传播(可以不需要开发);
2)关注微信公众号之类的活动,首选微信登录;
3)APP内活动则可以使用签名登录;
4)PC端站点活动首选签名登录;
5)确保用户必须满足一定的资格才能参与活动则可以选择签名登录。

5.签名应用场景举例

1)充值满1000元拥有1次抽奖机会;
2)实名验证之后拥有1次抽奖机会;
3)绑定银行卡之后才能拥有1次抽奖机会;
4)用户级别达到3级拥有1次抽奖机会;
5)微信用户是已关注了微信公众号拥有1次抽奖机会。

注意:
目前只提供1次抽奖机会,若需要对同一用户提供多次抽奖机会,请与我们沟通。

6.签名生成方式说明

传递参数:
id:标识id
nonce:随机数
timestamp:时间戳(数值型,允许 10 分钟 统一以东 8 时间,格式如:1420045261)
sign:签名

加密方式:对参数按照key=value的格式,并按照参数名ASCII字典序排序并拼接项目密钥。

$string = "id=$id&nonce=$nonce&secret=密钥×tamp=$timestamp";
$sign=sha1($string);

假设领取流量(劵)地址为:http://flow.216612.com/hd/56a21421044aa8f62c1c50dd
则传递如: http://flow.216612.com/hd/56a21421044aa8f62c1c50dd?id=testid&nonce=testnonce×tamp=testtimestamp&sign=testsign

7.返回错误码

1001:缺少关键参数如:id nonce timestamp sign
1002:签名过期,目前为10分钟
1003:签名验证错误

8.更多功能

当传递参数cid时,若选择『流量券』方式,则任务链接会自动加上传递的参数
假设任务地址为:http://www.baidu.com 则会更改为:http://www.baidu.com?cid=xxx
假设任务地址为:http://www.baidu.com?test=1 则会更改为:http://www.baidu.com?test=1&cid=xxx
假设需要自定义回传参数名称可如此:http://www.baidu.com?cid= 系统会自动补全为:http://www.baidu.com?cid= xxx

工作时段:4008 808 898
其他时段:4008 808 898