
# 设备更新通知
#### 功能介绍
应用服务器在调用物联网平台的[创建规则触发条件 - CreateRoutingRule](https://support.huaweicloud.com/api-iothub/iot_06_v5_01307.html)（Resource:device，Event:update）、[创建规则动作 - CreateRuleAction](https://support.huaweicloud.com/api-iothub/iot_06_v5_01302.html)、[修改规则触发条件 - UpdateRoutingRule](https://support.huaweicloud.com/api-iothub/iot_06_v5_01309.html)接口配置并激活规则后，当物联网平台中的设备更新时，物联网平台会向应用服务器推送通知消息。
#### URI
POST /由应用服务器创建设备更新通知规则的转发目标决定
#### 请求参数
表1请求Body参数 
| 参数            | 是否必选 | 参数类型                                                                                                                                        | 描述                                                                                                         |
|:---|:---|:---|:---|
| resource      | 是    | String                                                                                                                                      | **参数说明**：订阅的资源名称，取值为device。                                                                                |
| event         | 是    | String                                                                                                                                      | **参数说明**：订阅的资源事件，取值为update。                                                                                |
| event_time    | 是    | String                                                                                                                                      | **参数说明**：资源事件生成时间,格式：yyyyMMdd'T'HHmmss'Z' UTC字符串，如：20151212T121212Z。若需要显示本地时区，您需要自己进行时间转换。                 |
| event_time_ms | 否    | String                                                                                                                                      | **参数说明**：资源事件生成时间,格式：yyyy-MM-dd'T'HH:mm:ss.SSS'Z' UTC字符串，如：2015-12-12T12:12:12.000Z。若需要显示本地时区，您需要自己进行时间转换。 |
| request_id    | 否    | String                                                                                                                                      | **参数说明**：消息ID，由设备侧指定或平台生成，用于跟踪业务流程。                                                                        |
| notify_data   | 是    | [DeviceCreateOrUpdateNotifyData] object | **参数说明**：推送消息。                                                                                             |
   
 表2DeviceCreateOrUpdateNotifyData 
| 参数   | 是否必选 | 参数类型                                                                                                          | 描述               |
|:---|:---|:---|:---|
| body | 是    | [QueryDeviceBase] object | **参数说明**：推送消息内容。 |
   
 表3QueryDeviceBase 
| 参数                 | 是否必选 | 参数类型                                                                                                        | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| app_id             | 否    | String                                                                                                      | **参数说明**：资源空间ID。 最大长度：**36**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| app_name           | 否    | String                                                                                                      | **参数说明**：资源空间名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| device_id          | 否    | String                                                                                                      | **参数说明**：设备ID，用于唯一标识一个设备。在注册设备时直接指定，或者由物联网平台分配获得。由物联网平台分配时，生成规则为"product_id" + "_" + "node_id"拼接而成。 最大长度：**256**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| node_id            | 否    | String                                                                                                      | **参数说明**：设备标识码，通常使用IMEI、MAC地址或Serial No作为nodeId。 最大长度：**64**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| gateway_id         | 否    | String                                                                                                      | **参数说明**：网关ID，用于标识设备所属的父设备，即父设备的设备ID。当设备是直连设备时，gateway_id与设备的device_id一致。当设备是非直连设备时，gateway_id为设备所关联的父设备的device_id。 最大长度：**256**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| device_name        | 否    | String                                                                                                      | **参数说明**：设备名称。 最大长度：**256**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| node_type          | 否    | String                                                                                                      | **参数说明**：设备节点类型。 - ENDPOINT：非直连设备。   - GATEWAY：直连设备或网关。   - UNKNOWN：未知。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| description        | 否    | String                                                                                                      | **参数说明**：设备的描述信息。 最大长度：**2048**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| fw_version         | 否    | String                                                                                                      | **参数说明**：设备的固件版本。 最大长度：**256**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| sw_version         | 否    | String                                                                                                      | **参数说明**：设备的软件版本。 最大长度：**256**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| device_sdk_version | 否    | String                                                                                                      | **参数说明**：设备的SDK版本。 最大长度：**256**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| auth_info          | 否    | [AuthInfo] object             | **参数说明**：设备的接入认证信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| product_id         | 否    | String                                                                                                      | **参数说明**：设备关联的产品ID，用于唯一标识一个产品模型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| product_name       | 否    | String                                                                                                      | **参数说明**：设备关联的产品名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| status             | 否    | String                                                                                                      | **参数说明**：设备的状态。 - ONLINE：设备在线。   - OFFLINE：设备离线。   - ABNORMAL：设备异常。   - INACTIVE：设备未激活。   - FROZEN：设备冻结。    |
| create_time        | 否    | String                                                                                                      | **参数说明**：在物联网平台注册设备的时间。格式：yyyyMMdd'T'HHmmss'Z'，如20151212T121212Z。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| tags               | 否    | Array of [TagV5DTO] objects   | **参数说明**：设备的标签列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| modules            | 否    | Array of [ModuleDTO] objects | 设备的OTA模块列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| extension_info     | 否    | Object                                                                                                      | **参数说明**：设备扩展信息。用户可以自定义任何想要的扩展信息，如果在创建设备时为子设备指定该字段，将会通过MQTT接口"平台通知网关子设备新增"将该信息通知给网关。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
 表4AuthInfo 
| 参数            | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| auth_type     | 否    | String  | **参数说明**：鉴权类型。支持密钥认证接入(SECRET)和证书认证接入(CERTIFICATES)两种方式。使用密钥认证接入方式(SECRET)填写secret字段，使用证书认证接入方式(CERTIFICATES)填写fingerprint字段，不填写auth_type默认为密钥认证接入方式(SECRET)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| secure_access | 否    | Boolean | **参数说明**：指设备是否通过安全协议方式接入，默认值为true。 - true：通过安全协议方式接入。   - false：通过非安全协议方式接入。    缺省值：**true** |
| timeout       | 否    | Integer | **参数说明**：设备验证码的有效时间，单位：秒，默认值：0。若设备在有效时间内未接入物联网平台并激活，则平台会删除该设备的注册信息。若设置为"0"，则表示设备验证码不会失效（建议填写为"0"）。注意：只有注册设备接口或者修改设备接口修改timeout时返回该参数。 最小值：**0** 最大值：**2147483647** 缺省值：**0**                                                                                                                                                                                                                                                                                                                                                                                                                |
   
 表5TagV5DTO 
| 参数        | 是否必选 | 参数类型   | 描述                                                                    |
|:---|:---|:---|:---|
| tag_key   | 是    | String | **参数说明**：标签键，在同一资源下标签键唯一。绑定资源时，如果设置的键已存在，则将覆盖之前的标签值。如果设置的键值不存在，则新增标签。 |
| tag_value | 否    | String | **参数说明**：标签值。                                                         |
   
 表6ModuleDTO 
| 参数             | 是否必选 | 参数类型   | 描述     |
|:---|:---|:---|:---|
| module_name    | 是    | String | 模块名称。  |
| module_version | 是    | String | 模块版本号。 |
   
#### 响应参数
**状态码：200**
OK
无
#### 请求示例
设备更新通知示例：
```
设备更新通知
{
  "resource" : "device",
  "event" : "update",
  "event_time" : "20151212T121212Z",
  "event_time_ms" : "2015-12-12T12:12:12.000Z",
  "request_id" : "3fe58d5e-8697-4849-a165-7db128f7e776",
  "notify_data" : {
    "body" : {
      "device_sdk_version" : "C_v0.5.0",
      "device_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
      "create_time" : "20190303T081011Z",
      "description" : "watermeter device",
      "auth_info" : {
        "auth_type" : "SECRET",
        "secure_access" : true,
        "timeout" : 300
      },
      "product_name" : "Thermometer",
      "gateway_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
      "sw_version" : "1.1.0",
      "tags" : [ {
        "tag_value" : "testTagValue",
        "tag_key" : "testTagName"
      } ],
      "extension_info" : {
        "aaa" : "xxx",
        "bbb" : 0
      },
      "app_name" : "testAPP01",
      "device_name" : "dianadevice",
      "node_type" : "ENDPOINT",
      "product_id" : "b640f4c203b7910fc3cbd446ed437cbd",
      "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka",
      "fw_version" : "1.1.0",
      "node_id" : "ABC123456789",
      "status" : "INACTIVE"
    }
  }
}
```
#### 响应示例
无
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | OK |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-iothub/ErrorCode.html)。
