设备事件通知
典型场景
第三方应用在物联网平台订阅了设备事件通知后(订阅的通知类型为deviceEvent),当平台收到设备上报的事件消息时,平台会向第三方应用推送通知消息。
接口功能
支持物联网平台向订阅了设备事件通知的第三方应用推送通知消息。
注意事项
- 应用在订阅平台业务数据时需要订阅接口描述中的指定回调地址,回调地址中的server与port为应用服务器公网地址与服务器配置中指定的端口。
- 应用通过PushMessageReceiver类并重写回调接口接收推送消息的内容。
- 如果回调地址不是应用服务器本身的地址,则第三方应用需要自己实现原始回调接口,接口内容请参考IoT平台北向API参考中的消息推送章节。
接口描述
回调地址 |
https://server:port/v1.0.0/messageReceiver |
---|---|
回调接口 |
def handleDeviceEvent(self) |
接口所属类 |
PushMessageReceiver |
参数说明
入参是request.json
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
ndeDTO |
必选 |
NotifyDeviceEventDTO |
body |
见下表NotifyDeviceEventDTO的描述。 |
NotifyDeviceEventDTO
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
notifyType |
必选 |
String |
body |
通知类型,取值:“deviceEvent”。 |
header |
必选 |
DeviceEventHeader |
body |
具体参见下表DeviceEventHeader结构说明。 |
body |
必选 |
ObjectNode |
body |
响应命令的消息内容。 |
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
eventType |
必选 |
String(1-32) |
body |
事件类型。 |
from |
必选 |
String(1-128) |
body |
表示消息发布者的地址。
|
timestamp |
必选 |
String (1-32) |
body |
时间戳,时间格式:yyyyMMdd'T'HHmmss'Z',如:“20151212T121212Z”。 |
eventTime |
必选 |
String (1-32) |
body |
事件上报时间,时间格式:yyyyMMdd'T'HHmmss'Z',如:“20151212T121212Z”。 |
deviceId |
必选 |
String |
body |
设备ID,用于唯一标识一个设备。 |
serviceType |
必选 |
String |
body |
命令所属的服务类型。 |
响应参数
Status Code: 200 OK
请求示例
Method: POST request: {callbackUrl} Header: Content-Type:application/json Body: { "notifyType":"deviceEvent", "header":{ "eventType":"*******", "from":"/devices/{deviceId}/services/{serviceId}", "deviceId":"*******", "serviceType":"*******", "timestamp":"20151212T121212Z", "eventTime":"20151212T121212Z" }, "body":{ "usedPercent":80 } }
响应示例
response: Status Code: 200 OK