更新时间:2024-05-14 GMT+08:00

设备消息状态变更通知

功能介绍

应用服务器在调用物联网平台的创建规则触发条件(Resource:device.message.status,Event:update)、创建规则动作修改规则触发条件接口配置并激活规则后,当设备消息状态变更时,物联网平台会向应用服务器推送通知消息。

URI

POST /由应用服务器创建设备消息状态变更通知规则的转发目标决定

请求参数

表1 请求Body参数

参数

是否必选

参数类型

描述

resource

String

参数说明:订阅的资源名称,取值为device.message.status。

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

DeviceMessageStatusUpdateNotifyDataV5 object

参数说明:推送消息。

表2 DeviceMessageStatusUpdateNotifyDataV5

参数

是否必选

参数类型

描述

header

NotifyDataHeader object

参数说明:推送消息header。

body

DeviceMessageStatusUpdate object

参数说明:推送消息body。

表3 NotifyDataHeader

参数

是否必选

参数类型

描述

app_id

String

参数说明:应用ID。

最大长度:256

device_id

String

参数说明:设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。

最大长度:256

node_id

String

参数说明:设备标识码,通常使用IMEI、MAC地址或Serial No作为nodeId。

最大长度:256

product_id

String

参数说明:产品ID,用于唯一标识一个产品,在注册产品时由物联网平台分配获得。

最大长度:256

gateway_id

String

参数说明:网关ID,用于标识一个网关设备。当设备是直连设备时,gatewayId与设备的deviceId一致。当设备是非直连设备时,gatewayId为设备所关联的直连设备(即网关)的deviceId。

最大长度:256

tags

Array of TagV5DTO objects

参数说明:要绑定到指定资源的标签列表,标签列表中各项标签键值之间不允许重复,一个资源最多可以绑定10个标签。

表4 TagV5DTO

参数

是否必选

参数类型

描述

tag_key

String

参数说明:标签键,在同一资源下标签键唯一。绑定资源时,如果设置的键已存在,则将覆盖之前的标签值。如果设置的键值不存在,则新增标签。

tag_value

String

参数说明:标签值。

表5 DeviceMessageStatusUpdate

参数

是否必选

参数类型

描述

topic

String

参数说明:消息上报使用的mqtt topic。

message_id

String

参数说明:消息的序列号,唯一标识一条消息。

name

String

参数说明:消息名称。

status

String

参数说明:设备消息状态,包含:PENDING,DELIVERED,TIMEOUT,FAILED。

error_info

ErrorInfoDTO object

参数说明:消息下发失败信息。

timestamp

String

参数说明:消息更新时间,格式:yyyyMMdd'T'HHmmss'Z' UTC字符串,如:20151212T121212Z。

表6 ErrorInfoDTO

参数

是否必选

参数类型

描述

error_code

String

参数说明:异常信息错误码,包含IOTDA.014016和IOTDA.014112。IOTDA.014016表示设备不在线;IOTDA.014112表示设备没有订阅topic。

error_msg

String

参数说明:异常信息说明,包含设备不在线和设备没有订阅topic说明。

响应参数

请求示例

设备消息状态变更通知示例:

设备消息状态变更通知

{
  "resource" : "device.message.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" : {
    "error_info" : {
      "error_msg" : "Send to device failed, device not subscribe topic.",
      "error_code" : "IOTDA.014112"
    },
    "name" : "name",
    "topic" : "topic",
    "message_id" : "1235",
    "status" : "DELIVERED",
    "timestamp" : "20151212T121212Z"
  }
}

响应示例

状态码

状态码

描述

200

OK

错误码

请参见错误码