接收设备上报

来源文档:GS_GE类设备对接文档V1.0.7

开发者需要提供 HTTPS 回调 API,用于接收设备的数据上报。

请求方式

POST

请求字段

字段 说明
device_id 设备唯一 ID,device_id、IMEI 至少传一个
IMEI 国际移动设备识别码
timestamp 时间戳
nonce 随机字符串,长度为 8~12 位
sign 签名校验字段
data 设备上报的数据,真实上报以字符串形式表示

请求示例

请求示例
{
  "device_id": "DeviceID",
  "IMEI": "DEMO_IMEI_001",
  "timestamp": 112789023833,
  "nonce": "<YOUR_NONCE>",
  "sign": "<YOUR_SIGN>",
  "data": "{\"source\":\"guard\",\"dest\":\"4g-smoke-sense-camera\",\"cmd\":\"stop_alarm\",\"device_id\":\"testxxxxx001\",\"cmd_time\":\"2024-01-01 00:00:00\"}"
}

data 字段真实上报的数据以字符串形式表示,开发者需要根据具体事件将其转换为 JSON 后解析。解析后,GS/GE 系列不同事件主要通过 origin_info 字段区分,其他公共字段大致相同。

sign 生成规则

参数 传值
DID 传 device_id
IMEI 不传
vpOpenID 传 appid
timestamp 传外层 timestamp
nonce 传外层 nonce
data 传本次消息的 data 字符串
secretKey 传 secret_key

origin_info.did 为设备 ID,当前请使用外层 device_id 字段;该字段后续会移除。mode=event 表示事件,mode=alarm 表示告警;send_time 与外层 timestamp 表示同一上报时间,后续会移除。

收到消息后,建议先放到内部 MQ 程序中消费,再及时响应回调 API。

返回字段

成功接收时返回:

请求示例
{"ret":"ok"}

接收失败时返回,或不返回:

请求示例
{"ret":"error"}

curl 示例

请求示例
curl -XPOST 'https://开发者提供的回调地址' \
  -H 'content-type: application/json;charset=UTF-8' \
  -H 'AppID: <YOUR_APP_ID>' \
  --data-raw '{
    "device_id": "DeviceID",
    "IMEI": "DEMO_IMEI_001",
    "timestamp": 112789023833,
    "nonce": "kjhZausd1",
    "sign": "<YOUR_SIGN>",
    "data": "{\"source\":\"guard\",\"dest\":\"4g-smoke-sense-camera\",\"cmd\":\"stop_alarm\",\"device_id\":\"testxxxxx001\",\"cmd_time\":\"2024-01-01 00:00:00\"}"
  }'