批量设备数据变化通知
典型场景
第三方应用在物联网平台订阅了设备数据批量变化通知后(订阅的通知类型为deviceDatasChanged),当设备同时上报多个服务属性数据时,平台会向第三方应用推送通知消息。
接口功能
支持物联网平台向订阅了设备数据批量变化通知的第三方应用推送通知消息。
注意事项
- 应用在订阅平台业务数据时需要订阅接口描述中的指定回调地址,回调地址中的server与port为应用服务器公网地址与服务器配置中指定的端口。
- 应用通过PushMessageReceiver类并重写回调接口接收推送消息的内容。
- 如果回调地址不是应用服务器本身的地址,则第三方应用需要自己实现原始回调接口,接口内容请参考IoT平台北向API参考中的消息推送章节。
接口描述
回调地址 |
https://server:port/v1.0.0/messageReceiver |
---|---|
回调接口 |
def handleDeviceDatasChanged(self) |
接口所属类 |
PushMessageReceiver |
参数说明
入参是request.json
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
nddscDTO |
必选 |
NotifyDeviceDatasChangedDTO |
body |
见下表NotifyDeviceDatasChangedDTO的描述。 |
NotifyDeviceDatasChangedDTO
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
notifyType |
必选 |
String |
body |
通知类型,取值:“deviceDatasChanged”。 |
requestId |
必选 |
String |
body |
消息的序列号,唯一标识该消息。 |
deviceId |
必选 |
String |
body |
设备ID,用于唯一标识一个设备。 |
gatewayId |
必选 |
String |
body |
网关ID,用于唯一标识一个网关设备。 |
services |
必选 |
List<DeviceService> |
body |
服务列表信息,具体参见DeviceService结构体说明。 |
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
serviceId |
必选 |
String |
body |
服务ID。 |
serviceType |
必选 |
String |
body |
服务类型。 |
data |
必选 |
ObjectNode |
body |
服务数据信息。 |
eventTime |
必选 |
String |
body |
事件上报时间,时间格式:yyyymmddThhmissZ,例如“20151212T121212Z”。 |
响应参数
Status Code: 200 OK
请求示例
Method: POST request: {callbackUrl} Header: Content-Type:application/json Body: { "notifyType":"deviceDatasChanged", "requestId":"*************", "deviceId":"********************************", "gatewayId":"*************", "service":[ { "serviceId":"Brightness", "serviceType":"Brightness", "data":{ "brightness":80 }, "eventTime":"20170311T163657Z" }, { "serviceId":"Color", "serviceType":"Color", "data":{ "value":"red" }, "eventTime":"20170311T163657Z" } ] }
响应示例
response: Status Code: 200 OK