- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
售货机HTTP协议
⼀,接⼊前提
API⼊⼝⽹址 :http://域名/v2 (具体以实际服务器为准)
appkey :联系我们申请即可
appsecret :匹配的密钥
另外,可提供⼀个⽹址来接收设备即时消息 (异步回调⽅式)。设备所有上报消息都会通过
HTTP POST⽅法发送给指定的⽹址,以便第三⽅平台可以根据 ⾃⼰的业务需要进⾏处理。
⼆,签名算法
使⽤HmacSHA256算法⽣成签名 :先把appkey和nostr拼接在⼀起,然后使⽤appsecret为
算法密钥获取hash值字符串即可,伪代码如下 :
1 /**
2 @params se ret 密钥
3 @params data 要加密的字符串
4 @return hash字符串
5 string hma 256(se ret, data)
6 **/
7 signature = hma 256(appse ret, appkey + nostr);
注意 :所有请求必须通过http请求头传递以下数据 :
zovye-key: appkey
zovye-sign: 签名字符串
注意 :所有请求必须通过http query参数传递以下数据 :
nostr unix时间戳
请使⽤当前unix时间戳做为nostr,服务器会根据这个时间戳,检查api请求是否过期。
示例伪代码如下 :
1 fun tion makeSign(appkey, appse ret, nostr:string) {
2 return Hma SHA256(appkey + nostr, appse ret);
3 }
4
5 //准备数据
6 onst api_url = :8080/v2
7 onst appkey = appkey;
8 onst appse ret = appse ret;
9
10 //获取nostr ,使用当前unix时间戳
11 onst nostr = getCurrentTimestamp();
12
13 //计算签名
14 onst sign = makeSign(appkey, appse ret, nostr);
15
16 //设置http请求
17 var query = new httpRequest(api_url + ?nostr= + nostr);
18 query.header.set(zovye-key, appkey);
19 query.header.set(zovye-sign, sign);
20
21 //执行请求
22 var resp = http_do(query);
三,发送请求
注意事项 :
1,请求路径中的{imei}替换为实际设备IMEI编号。
2,请求路径中的{orderUID}替换为订单编号。
3,请求路径中的{xxx}其它数据请替换其它对应数据。
4,所有post的参数都是使⽤JSON数据格式,content-type请设置为application/json。
5,接⼝默认为同步模式,有些请求可能会阻塞⽐较⻓的时间。
四,⼀般接⼝
1,服务器状态
说明:
返回当前服务端状态。注 :该接⼝不检查签名,可匿名调⽤。
路径 :
/
⽅法 :GET
返回值示例 :
1 {
2 status: true,
3 data:{
4 version:3.0.1,
5 build:2018121001,
6 start: 154566576686,
7 now: 154566576686
8 }
9 }
注 :start为服务启动时间的unix时间戳,now为服务器当前时间的unix时间戳,可⽤于客
户端检查本地时间与服务器时间差。
2,激活设备
说明:
设备⾸次接⼊需要激活才能使⽤。
路径 :
/device/{imei}
⽅法 :PUT
参数 :⽆
文档评论(0)