业务数据开发
(1)HTTP(S)协议业务数据开发接口原型
请求方法 | POST |
请求地址 | http:// *.non-nb.ctwing.cn:8991/topic https:// *.non-nb.ctwing.cn:8992/topic |
传输协议 | HTTP(S) |
(2)HTTP(S)协议业务数据开发请求头部
参数 | 必选/可选 | 类型 | 位置 | 描述 | |
signKey | 必选 | String | Header | 签名秘钥,设备生成,携带至平台 | |
timestamp | 必选 | Int | Header | 时间戳。(20分钟有效,前后时间差不超过10分钟) | |
signature | 必选 | String | Header | 签名。 算法:sha256(signKey+MasterKey+timestamp) MasterKey为平台上创建产品时自动生成,可在产品概况中查询。 | |
Content-Type | 必选 | String | Header | application/json |
(3)HTTP(S)协议业务数据开发请求参数
参数 | 必选/可选 | 类型 | 位置 | 描述 |
productId | 必选 | Int | Body | 产品Id,平台产品信息中获取。 |
deviceId | 必选 | String | Body | 设备Id,平台设备信息管理中获取。 |
accessToken | 必选 | String | Body | 设备鉴权参数。登陆鉴权报文中返回。 |
topic | 必选 | String | Body | 上报主题。非透传产品,为服务定义生成的服务标识;透传产品可任意填写。 |
payload | 可选 | String | Body | 业务数据。仅支持JSON格式。非透传产品需根据服务定义填写。 |
(4)HTTP(S)协议业务数据开发响应参数
参数 | 描述 |
code | 业务返回码,0为成功 |
message | 鉴权结果 |
(5)业务数据开发请求示例
Method: POST
request:http:// *.non-nb.ctwing.cn:8991/topic
Header:
timestamp: 1551753880000
signKey: ***
signature: *******
Content-Type: application/json
Body:
{
"productId": 10000000,
"deviceId": "100000001234",
"accessToken":"********************",
"topic":"uptest",
"payload":{"up":1, "test":1}
}
(6)业务数据开发响应示例
response:
Status Code: 200 OK
Content-Type: application/json
Body:
{
“code”: 0,
“message”: “SUCCESSFUL”
}
(7)HTTP(S)协议业务数据开发HTTP状态码
HTTP状态码(Status Code) | 描述 | 说明 |
200 | OK | 请求正常 |
400 | Bad request | 请求数据缺失或格式错误 |
401 | Unauthorized | 请求缺少权限 |
403 | Forbidden | 请求禁止 |
404 | Not found | 请求资源不存在 |
500 | Internal Error | 服务器异常 |
503 | Service Unavailable | 服务不可用 |
504 | Async Service | 异步通讯 |
(8)HTTP(S)协议业务数据开发业务返回码
业务返回码 | 描述 | 说明 |
0 | SUCCESSFUL | 数据发送成功 |
10000 | common error | 未知错误 |
10001 | Product is not exist. | 产品不存在。不存在此productId对应的产品。 |
10003 | Parameter error | 参数验证失败。缺少参数或参数格式错误 |
20000 | signature error | 签名错误 |
20002 | accessToken error | accessToken错误 |
20003 | accessToken is null | accessToken未携带 |
20004 | accessToken is expired or deviceId error | accessToken超期或设备Id错误。需检查设备Id是否正确,或重新鉴权接入 |
30001 | Publish message error | 数据上报失败 |