首页 / 文档中心 / 平台接口 API / 设备是否在线

设备是否在线

平台接口 API · 自建云接入

/third/product/online — 设备在线状态查询

基本信息

项目 说明
路径 /third/product/online
方法 GET / POST
鉴权 Third 鉴权(token + t,详见下方签名算法)

鉴权参数(Query 必带)

参数 类型 必填 说明
t int64 是 当前 Unix 时间戳(秒),与服务器时间差不超过 2 小时,否则返回 {"code":400,"msg":"请求已过期"}
token string 是 请求签名,由 secret + 所有 Query 参数计算得出(见下方签名算法),校验失败返回 {"code":401,"msg":"非法请求"}

签名算法

计算步骤:

  1. 将所有 Query 参数(含 productId、t 等)加上 secret 组成键值对集合
  2. 按 字母序 排列所有 key
  3. 拼接为 key1=value1&key2=value2&... 格式的字符串(注:不进行 URL encode,直接取原始值)
  4. 对该字符串做 MD5,结果即为 token

⚠️ secret 仅参与签名计算,不可直接出现在请求参数中。


1. 单个产品状态查询

请求

GET /third/product/online?productId=SN001&t=1750262400&token=abc123def456
参数 位置 类型 必填 说明
productId Query string 是 产品序列号
t Query int64 是 当前 Unix 秒级时间戳
token Query string 是 签名

响应

{ "status": 1 }
字段 类型 说明
status int32 1 = 在线,0 = 离线

2. 批量产品状态查询

当 productId 为空时,读取 Body 内容进行批量查询。需使用 POST 方法,签名参数仍需放在 Query 中。

请求

POST /third/product/online?t=1750262400&token=abc123def456

Body: SN001,SN002,SN003
参数 位置 类型 必填 说明
t Query int64 是 当前 Unix 秒级时间戳
token Query string 是 签名(基于所有 Query 参数计算)
— Body string 是 逗号分隔的序列号列表

响应

{
  "SN001": 1,
  "SN002": 0,
  "SN003": 1
}
字段 类型 说明
{key} int32 键为序列号,1 = 在线,0 = 离线

边界情况

场景 响应
Body 为空 {}
序列号含前后空格 自动 TrimSpace
连续逗号产生的空串 跳过

签名计算示例(伪代码)

// 假设 secret = "e10adc3949ba59abbe56e057f20f883e"
// 请求参数: productId=SN001, t=1750262400

params := url.Values{
    "productId": {"SN001"},
    "t":         {"1750262400"},
    "secret":    {"e10adc3949ba59abbe56e057f20f883e"},  // 仅参与计算,不发送
}

// 按 key 字母序拼接: productId=SN001&secret=e10ad...&t=1750262400
str := "productId=SN001&secret=e10adc3949ba59abbe56e057f20f883e&t=1750262400"

token = MD5(str)  // → 签名结果

调用示例(curl)

单个查询:

# 1. 计算 token(需自行实现签名逻辑)
TIMESTAMP=$(date +%s)
# token = MD5("productId=SN001&secret=${SECRET}&t=${TIMESTAMP}")

curl "http://host:port/third/product/online?productId=SN001&t=${TIMESTAMP}&token=${TOKEN}"

批量查询:

curl -X POST \
  "http://host:port/third/product/online?t=${TIMESTAMP}&token=${TOKEN}" \
  -d "SN001,SN002,SN003"
这份文档没解决你的问题?联系我们,技术工程师直接对接。

询价咨询

填写这几项,我们 1 个工作日内回传报价与方案

点「生成询价邮件」会打开你的邮件客户端,正文已自动填好;电脑没配邮件客户端,就点「复制内容」粘到网页邮箱发送,收件人 sunshiyang@xstrive.com。