设备命令状态变更通知
接口说明
应用服务器在调用物联网平台的创建规则触发条件(Resource:device.command.status,Event:update)、创建规则动作、修改规则触发条件接口配置并激活规则后,当命令状态变更时,物联网平台会向应用服务器推送通知消息。
注意事项
应用服务器收到推送消息时,请务必返回响应码。
URI
| 请求方法 | POST |
|---|---|
| URI | 应用服务器创建设备命令状态变更通知规则时的Url决定(HTTP),AMQP通道不需要url |
| 传输协议 | HTTPS |
请求参数
| 名称 | 必选/可选 | 类型 | 位置 | 说明 |
|---|---|---|---|---|
| resource | 必选 | String | Body | 参数说明:订阅的资源名称,取值为device.commmad.status。 |
| event | 必选 | String | Body | 参数说明:订阅的资源事件,取值为update。 |
| event_time | 必选 | String | Body | 参数说明:资源事件生成时间,格式:yyyyMMdd’T’HHmmss’Z’ UTC字符串。 |
| notify_data | 必选 | Body | 参数说明:推送消息。 |
| 名称 | 必选/可选 | 类型 | 说明 |
|---|---|---|---|
| header | 必选 | NotifyDataHeader Object | 参数说明:推送消息header。 |
| body | 必选 | DeviceCommandStatusUpdate Object | 参数说明:推送消息body。 |
| 名称 | 必选/可选 | 类型 | 说明 |
|---|---|---|---|
| app_id | 可选 | String | 参数说明:应用ID。 |
| device_id | 可选 | String | 参数说明:设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 |
| node_id | 可选 | String | 参数说明:设备标识码,通常使用IMEI、MAC地址或Serial No作为nodeId。 |
| product_id | 可选 | String | 参数说明:产品ID,用于唯一标识一个产品,在注册产品时由物联网平台分配获得。 |
| gateway_id | 可选 | String | 参数说明:网关ID,用于标识一个网关设备。当设备是直连设备时,gatewayId与设备的deviceId一致。当设备是非直连设备时,gatewayId为设备所关联的直连设备(即网关)的deviceId。 |
| 名称 | 必选/可选 | 类型 | 说明 |
|---|---|---|---|
| tag_key | 必选 | String | 参数说明:标签键,在同一资源下标签键唯一。绑定资源时,如果设置的键已存在,则将覆盖之前的标签值。如果设置的键值不存在,则新增标签。 |
| tag_value | 可选 | String | 参数说明:标签值。 |
| 名称 | 必选/可选 | 类型 | 说明 |
|---|---|---|---|
| command_id | 必选 | String | 参数说明:命令id,唯一标识一条命令。 |
| created_time | 可选 | String | 参数说明:命令的创建时间,"yyyyMMdd'T'HHmmss'Z'"格式的UTC字符串。 |
| sent_time | 可选 | String | 参数说明:物联网平台发送命令的时间,如果命令是立即下发, 则该时间与命令创建时间一致, 如果是缓存命令, 则是命令实际下发的时间。"yyyyMMdd'T'HHmmss'Z'"格式的UTC字符串。 |
| delivered_time | 可选 | String | 参数说明:物联网平台将命令送达到设备的时间,"yyyyMMdd'T'HHmmss'Z'"格式的UTC字符串。 |
| response_time | 可选 | String | 参数说明:设备响应命令的时间,"yyyyMMdd'T'HHmmss'Z'"格式的UTC字符串。 |
| status | 可选 | String | 参数说明:下发命令的状态。
|
| result | 可选 | Object | 参数说明:设备命令执行的详细结果,由设备返回,Json格式。 |
请求示例
POST https://{Endpoint}应用服务器创建设备命令状态变更通知规则时的Url决定(HTTP),AMQP通道不需要url
Content-Type: application/json
{
"resource" : "device.commmad.status",
"event" : "update",
"event_time" : "20190303T081011Z",
"notify_data" : {
"header" : {
"device_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
"product_id" : "ABC123456789",
"app_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
"gateway_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
"node_id" : "ABC123456789",
"tags" : [ {
"tag_value" : "testTagValue",
"tag_key" : "testTagName"
} ]
},
"body" : {
"result" : {
"key" : "value"
},
"created_time" : "20151212T121212Z",
"sent_time" : "20151212T121212Z",
"command_id" : "id",
"delivered_time" : "20151212T131212Z",
"response_time" : "20151212T131212Z",
"status" : "SUCCESSFUL"
}
}
} 响应示例
Status Code: 200 OK
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.