订阅推送消息格式
各协议对应消息类型
接入协议 | 消息类型 |
TLINK | 设备数据变化通知、设备指令响应通知、设备事件上报通知、设备上下线通知、设备增加或删除 |
MQTT | 设备数据变化通知、设备指令响应通知、设备事件上报通知、设备上下线通知、设备增加或删除 |
LWM2M | 设备数据变化通知、设备指令响应通知、设备事件上报通知、设备上下线通知、设备数据批量变化通知、设备增加或删除 |
NB网关 | 设备数据变化通知、设备指令响应通知、设备事件上报通知、设备上下线通知、设备数据批量变化通知、设备增加或删除 |
HTTP/HTTPS | 设备数据变化通知、设备事件上报通知、设备上下线通知、设备增加或删除 |
TCP | 设备数据变化通知、设备指令响应通知、设备事件上报通知、设备上下线通知、设备增加或删除 |
消息格式描述
推送数据经过平台统一协议封装,对于本协议无意义的冗余字段或其他无用字段可予以忽略。
1.设备数据变化
参数名 | 说明 | 类型 | 必填 |
tenantId | 租户ID | string | Y |
productId | 产品ID | string | Y |
deviceId | 设备ID | string | Y |
messageType | 消息类型=dataReport | string | Y |
IMEI | NB终端设备识别号 | string | N |
IMSI | NB终端sim卡标识 | string | N |
deviceType | 设备标识 | string | N |
topic | 数据上报主题 | string | Y |
assocAssetId | 合作伙伴ID | string | N |
timestamp | 时间戳 | long | Y |
upPacketSN | 上行报文序号 | int | N |
upDataSN | 数据上报报文序号 | int | N |
serviceId | 服务ID(LWM2M、TCP、TLINK) | int | N |
服务标识(MQTT、HTTP、网关) | string | N | |
protocol | 协议类型 | string | Y |
payload | 消息负载,非透传消息格式为payload:消息内容JSON;透传消息格式为payload:{"APPdata":"消息内容BASE64编码"} | json | Y |
样例:
LWM2M:{"upPacketSN":-1,"deviceType":"","productId":"151***20","IMEI":"87439*****97353","deviceId":"5bcba*****f5472fb08a2090cd4e7158","protocol":"lwm2m","messageType":"dataReport","payload":{"current_temperature":-40,"current_humidity":0},"assocAssetId":"","tenantId":"9900000000*****","IMSI":"undefined","topic":"v1/up/ad19","upDataSN":-1,"serviceId":1,"timestamp":1667800228974}
MQTT:{"upPacketSN":-1,"deviceType":"","productId":"151***21","IMEI":"","deviceId":"15154****01","protocol":"mqtt","messageType":"dataReport","payload":{"pci":-32768,"rsrp":-32768,"cell_id":-2147483648,"sinr":-32768,"ecl":-32768},"assocAssetId":"","tenantId":"9900000000*****","IMSI":"","topic":"ad","upDataSN":-1,"serviceId":"signal_report","timestamp":1667799875008}
注:upPacketSN、upDataSN字段为Tlink协议特有字段,其他协议该字段为默认值-1。
2.设备命令响应
参数名 | 说明 | 类型 | 必填 |
tenantId | 租户ID | string | Y |
productId | 产品ID | string | Y |
deviceId | 设备ID | string | Y |
messageType | 消息类型=commandResponse | string | Y |
taskId | 指令任务ID | int/string | Y |
result | 指令执行结果,其中:resultcode为指令执行状态(SUCCESSFUL:成功,SENT:已发送, DELIVERED:已送达, FAILED:失败);resultdetail为指令执行结果 | json | Y |
样例:
{"tenantId":"1","productId":"1503","messageType":"commandResponse","deviceId":"2d1f1a708b5d4cef880937d67b5e5842","taskId":1,"result":{"resultCode": "SUCCESSFUL","resultDetail": {"Length": 2,"Rspdata": "Qkg="}}}
3.设备事件上报
参数名 | 说明 | 类型 | 必填 |
tenantId | 租户ID | string | Y |
productId | 产品ID | string | Y |
deviceId | 设备ID | string | Y |
messageType | 消息类型=eventReport | string | Y |
imei | 终端设备识别号 | string | Y |
imsi | 终端sim卡标识 | string | Y |
deviceSn | 设备编号 | string | Y |
timestamp | 时间戳 | long | Y |
eventType | 事件类型,信息:1,警告:2,故障:3 | int | Y |
eventContent | 事件上报数据 | json | Y |
serviceId | 服务ID | int | Y |
protocol | 协议类型 | string | Y |
样例:
{"tenantId":"1","productId":"10010208","deviceSn":"111qw","deviceId":"10010208111qw","messageType":"eventReport","imei":"xxx","imsi":"xx","timestamp":1554190965950,"eventType":1,"eventContent":{"m":44},"serviceId":1001,"protocol":"rdap"}
4.设备上下线
参数名 | 说明 | 类型 | 必填 |
tenantId | 租户ID | string | Y |
productId | 产品ID | string | Y |
deviceId | 设备ID | string | Y |
messageType | 消息类型=deviceOnlineOfflineReport | string | Y |
eventType | 上线:1,下线:0 | int | Y |
timestamp | 时间戳 | long | Y |
protocol | 协议名称 | string | Y |
iccid | sim卡号 | string | Y |
imei | 设备imei | string | N |
ipv4Address ipv4 | 设备IP地址 | string | N |
ipv6Address ipv6 | 设备IP地址 | string | N |
样例:{"timestamp":1678263103563,"tenantId":"10000000","protocol":"lwm2m","productId":"1000000","messageType":"deviceOnlineOfflineReport","ipv4Address":"11.25.57.35","iccid":"undefined","eventType":1,"deviceId":"55f7b4da79f34c6cb1c5e34f00000000","imei":"868334030000000"}
5.TUP合并数据变化
参数名 | 说明 | 类型 | 必填 |
tenantId | 租户ID | string | Y |
productId | 产品ID | string | Y |
deviceId | 设备ID | string | Y |
messageType | 消息类型=dataReportTupUnion | string | Y |
IMEI | NB终端设备识别号 | string | N |
IMSI | NB终端sim卡标识 | string | N |
deviceType | 设备标识 | string | N |
topic | 数据上报主题 | string | Y |
assocAssetId | 合作伙伴ID | string | N |
timestamp | 时间戳 | int | Y |
upPacketSN | 上行报文序号 | int | N |
serviceId | 服务ID | string | N |
protocol | 协议类型 | string | Y |
payload | 消息负载 | json | Y |
样例:
{"deviceId":"143b4d4cc64e4c16981000159d27c7c6","IMEI":"","IMSI":"xx","deviceType":"","tenantId":"1","productId":"10002052","messageType":"dataReportTupUnion","topic":"v1/up/ads","assocAssetId":"","timestamp":1554198622509,"payload":{"services":[{"serviceId":"Datas","serviceType":"Datas","data":{"datas":"0002000F383633373033303337303831383230000800130DFF2E074805D801E30700000402113213454E000F000116"},"eventTime":"20190402T095022Z"}]},"upPacketSN":-1,"upDataSN":-1"serviceId":"","protocol":"tup"}
注:upPacketSN、upDataSN字段为Tlink协议特有字段,此类型消息该字段均为默认值-1。
6.设备增加删除
参数名 | 说明 | 类型 | 必填 | |
tenantId | 租户ID | String | Y | |
productId | 产品ID | Integer | Y | |
messageType | 消息类型,addDeleteDevice | String | Y | |
appId | 应用ID | String | N | |
operation | 操作 add/delete | String | Y | |
deviceList | 设备列表 | Array | Y | |
deviceList | deviceId | 设备ID | String | Y |
deviceName | 设备名称 | String | Y |
样例:
{"deviceList":[{"deviceId":"2ae27*****0ab42a602114292690","deviceName":"test009"}],"messageType":"addDeleteDevice","operation":"delete","productId":100***79,"tenantId":"103***88"}