# 接口域名说明

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鉴权摘要算法

第一步:计算“签名原始串”

签名原始串为appKeyappSecrettime3个参数以及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"
    }
}