设备信息查询
请求数据
- /product/info
| 参数名 | 描述 | 类型 | 必传 | 附加说明 |
|---|---|---|---|---|
| productId | 设备序列号 | String | Y | |
| info | 查询信息 | String | Y | 可选参数: "soft-version", "base-info" |
| token | 签名串 | String | Y | |
| t | 当前时间戳 | Number | Y | 单位:秒 |
info == "soft-version" 返回JSON:
{
version: "Jan 21 2021/11:48:01" // 首页软件版本号
}
info == "base-info" 返回JSON:
{
version: "" // 软件版本
cloudVer: "" // 云管理版本
diskTotal: 10 // 磁盘总大小, 有存储卡时存在
diskFree: 10 // 磁盘剩余大小, 有存储卡时存在
cpu: 10 // cpu占用率
mem: 10 // 内存占用率
chs: 3 // 通道数
}
返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| version | String | 设备软件版本号 |
| cloudVer | String | 云管理软件版本号 |
| diskTotal | Number | 磁盘总大小, 有存储卡时存在 |
| diskFree | Number | 磁盘剩余大小, 有存储卡时存在 |
| cpu | Number | cpu占用率 |
| mem | Number | 内存占用率 |
| chs | Number | 通道数 |
| code | Number | 错误码,失败时存在 |
| msg | String | 错误信息 |
备注
- 该接口同时只支持一个请求
返回错误码(code)对照表
| 错误码code | 说明 | |
|---|---|---|
| 10001 | 设备离线 | |
| 10002 | 设备未正常运行 | |
| 10003 | 云管理版本过低,不支持该接口 | |
| 10004 | 请求过于频繁 | |
| 10005 | 设备忙,未响应 | |
| 其它 | 设备异常或请求参数错误 |
2. 批量查询
productId为空时,读取 Body JSON
请求
POST /third/product/info?t=1750262400&token=abc123
Content-Type: application/json
{
"ids": ["SN001", "SN002", "SN003"],
"info": "pause"
}
| 参数 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
t |
Query | int64 |
是 | 时间戳 |
token |
Query | string |
是 | 签名 |
ids |
Body | string[] |
是 | 产品序列号列表 |
info |
Body | string |
否 | 透传给各客户端的自定义信息 |
响应
{
"SN001": { "status": 1, ...客户端返回的原有字段... },
"SN002": { "status": 0 },
"SN003": { "code": 10001, "msg": "proxy offline", "status": 1 }
}
| 字段 | 类型 | 说明 |
|---|---|---|
{序列号} |
object |
以序列号为 key 的 map |
{序列号}.status |
int32 |
1 = 在线,0 = 离线 |
边界情况
| 场景 | 行为 |
|---|---|
ids 中有空字符串 |
跳过 |
| Body 不是合法 JSON | 400 invalid json body |
| 客户端离线 | 直接返回 {"status": 0},不发起请求 |
| 客户端在线但返回非 JSON | 包装为 {"code": 10100, "msg": "...", "status": 1} |
| 客户端在线但 SDK 版本过低 | 包装为 {"code": 10003, "msg": "version limit", "status": 1} |
| 请求时离线 | 包装为 {"code": 10002, "msg": "cloudc offline", "status": 1} |
调用示例(curl)
批量查询:
TIMESTAMP=$(date +%s)
# token = MD5("info=pause&secret=${SECRET}&t=${TIMESTAMP}")
curl -X POST \
"http://host:port/third/product/info?t=${TIMESTAMP}&token=${TOKEN}" \
-H "Content-Type: application/json" \
-d '{"ids":["SN001","SN002","SN003"],"info":"pause"}'
这份文档没解决你的问题?联系我们,技术工程师直接对接。