Push an Asynchronous Device Command Status Change Notification
Function
After the application calls the API for creating a rule triggering condition (resource is set to device.command.status and event to update), the API for creating a rule action, and the API for modifying a rule triggering condition, and activates a rule, the platform pushes the result to the server specified by the rule when the command status changes.
URI
POST /URL (HTTP) determined when the application creates an asynchronous device command status change notification rule. The AMQP channel does not require the URL.
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
resource |
Yes |
String |
Parameter description: subscribed resource name. Set this parameter to device.command.status. |
event |
Yes |
String |
Parameter description: subscribed event. Set this parameter to update. |
event_time |
Yes |
String |
Parameter description: UTC time when the resource event was generated. The value is in the format of yyyyMMdd'T'HHmmss'Z', for example, 20151212T121212Z. If necessary, convert the time to display in the local time zone format. |
event_time_ms |
No |
String |
Parameter description: UTC time when a resource event was generated. The value is in the format of yyyy-MM-dd'T'HH:mm:ss.SSS'Z', for example, 2019-03-03T08:10:11.000Z. If necessary, convert the time to display in the local time zone format. |
request_id |
No |
String |
Parameter description: message ID, which is specified by the device or generated by the platform, and is used to trace the service process. |
notify_data |
Yes |
Parameter description: message to push. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
header |
Yes |
NotifyDataHeader object |
Parameter description: message header. |
body |
Yes |
DeviceCommandStatusUpdate object |
Parameter description: message body. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
app_id |
No |
String |
Parameter description: application ID. Maximum: 256 |
device_id |
No |
String |
Parameter description: unique device ID, which is allocated by IoTDA during device registration. Maximum: 256 |
node_id |
No |
String |
Parameter description: device node ID. This parameter is set to the IMEI, MAC address, or serial number. Maximum: 256 |
product_id |
No |
String |
Parameter description: unique product ID, which is allocated by the platform during product registration. Maximum: 256 |
gateway_id |
No |
String |
Parameter description: gateway ID, which uniquely identifies a gateway. The gateway ID is the same as the device ID if the device is a directly connected device. If the device is an indirectly connected device, the gateway ID is the device ID of the directly connected device (that is, the gateway) with which it associates. Maximum: 256 |
tags |
No |
Array of TagV5DTO objects |
Parameter description: list of tags to be bound to a specific resource. Each tag key must be unique in the tag list. Up to 10 tags can be bound to a resource. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
tag_key |
Yes |
String |
Parameter description: tag key, which is unique for a resource. If the specified key already exists, the value of the existing tag is overwritten. If the specified key does not exist, a new tag is added. |
tag_value |
No |
String |
Parameter description: tag value. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
command_id |
Yes |
String |
Parameter description: command ID, which uniquely identifies a command. |
created_time |
No |
String |
Parameter description: UTC time when the command was created. The value is in the format of yyyyMMdd'T'HHmmss'Z'. |
sent_time |
No |
String |
Parameter description: UTC time when the platform sent the command. The value is in the format of yyyyMMdd'T'HHmmss'Z'. If the command was sent immediately, the value was the same as the command creation time. If the command had been cached, the value was the time when the command was actually sent. |
delivered_time |
No |
String |
Parameter description: UTC time when the device received the command. The value is in the format of yyyyMMdd'T'HHmmss'Z'. |
response_time |
No |
String |
Parameter description: UTC time when the device responded to the command. The value is in the format of yyyyMMdd'T'HHmmss'Z'. |
status |
No |
String |
Parameter description: status of the delivered command.
|
result |
No |
Object |
Parameter description: detailed command execution result, which is returned by the device in JSON format. |
Response Parameters
None
Example Requests
Asynchronous device command status change notification.
Asynchronous device command status change notification. { "resource" : "device.command.status", "event" : "update", "event_time" : "20151212T121212Z", "event_time_ms" : "2015-12-12T12:12:12.000Z", "request_id" : "3fe58d5e-8697-4849-a165-7db128f7e776", "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" } } }
Example Responses
None
Status Codes
Status Code |
Description |
---|---|
200 |
OK |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot