# 接口域名说明
HTTP请求URL约定如下:
请求类型 | 域名 |
---|---|
HTTP请求 | https://www.sdzhiot.top/api/[版本]/[uri] |
# HTTP请求数据格式说明
开放平台HTTP请求格式约定如下
参数列表 | 参数类型 | 参数说明 | |
---|---|---|---|
system | sign | String | 签名值,平台用来做签名校验,见HTTP鉴权摘要算法 |
appKey | String | appKey,云平台-个人中心-应用信息中获取 | |
time | Long | 发起接口调用的客户端时间戳(UTC时间戳,单位为毫秒),时间与开放平台同步(两者不能相差5分钟) | |
params | Map | HTTP接口方法使用的参数集合,value为组装好的Map对象 |
# HTTP响应应答格式说明
开放平台HTTP请求格式约定如下
- 非列表数据
字段列表 字段类型 字段说明 code Integer 请求返回码,具体详见全局返回码说明 msg String 请求返回码描述字符串,具体详见全局返回码说明 data Map 请求接口返回的具体内容信息,value为组装好的Map对象
{
"msg": "操作成功",
"code": 200,
"data": {
"expireTime": 1628735186330,
"accessToken": "zh.ddb5046ee489d93d189a826f5fa81d30.8f38b2ccc0f58ac59e44f4ec33604899"
}
}
- 列表数据
字段列表 字段类型 字段说明 code Integer 请求返回码,具体详见全局返回码说明 msg String 请求返回码描述字符串,具体详见全局返回码说明 total Integer 数据总条数 rows Array 对象数组
{
"msg": "操作成功",
"total": 2,
"code": 200,
"rows": [
{
"deviceId": 68,
"sno": "14394131CD45",
"name": "淮安光照土壤九参数02"
},
{
"deviceId": 66,
"sno": "13394131F639",
"name": "淮安光照土壤九参数03"
}
]
}
# HTTP鉴权摘要算法
第一步:计算“签名原始串”
签名原始串为
appKey
,appSecret
,time
3个参数以及params
中所有参数按key做的升序排列(value无需编码)的键值对拼接,中间以英文逗号分隔,并保留最后一个英文逗号
注:
appSecret
在云平台-个人中心-应用信息中获取,请勿作为参数进行传递
例如:
{
"system": {
"appKey": "4a099226ddde4b2b9a8ba63e083ecd85",
"time": 1597828948928,
"sign": 待计算
},
"params": {
"b":123,
"ab":23,
"z":34,
"a":34,
"token":"zh.edb5246ee489d93d189a826f5fa81d30.8f38b2ccc0f58ac59e44f4ec33604899"
}
}
那么签名原始串(中间无空白字符)为:
appKey4a099226ddde4b2b9a8ba63e083ecd85,appSecret892aefca7b214ee0b3b1575f49985e91,time1597828948928, a34,ab23,b123,tokenzh.edb5246ee489d93d189a826f5fa81d30.8f38b2ccc0f58ac59e44f4ec33604899,z34,
第二步:计算MD5
将“签名原始串”进行MD5校验,并转化为16进制的32位小写字符串,作为签名值sign。(注:编码格式为UTF-8)
签名计算之后的参数请求为
{
"system": {
"appKey": "4a099226ddde4b2b9a8ba63e083ecd85",
"time": 1597828948928,
"sign": "71623c0d63424242009d023ab881f10a"
},
"params": {
"b":123,
"ab":23,
"z":34,
"a":34,
"token":"zh.edb5246ee489d93d189a826f5fa81d30.8f38b2ccc0f58ac59e44f4ec33604899"
}
}
token获取 →