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