设备消息确认通知
典型场景
第三方应用在物联网平台订阅了设备消息确认通知后(订阅的通知类型为messageConfirm),当平台向设备下发命令,并收到设备返回的命令确认消息(如命令已送达、已执行等)时,平台会向第三方应用推送通知消息。
接口功能
支持物联网平台向订阅了设备消息确认通知的第三方应用推送通知消息。
注意事项
- 应用在订阅平台业务数据时需要订阅接口描述中的指定回调地址,回调地址中的server与port为应用服务器公网地址与服务器配置中指定的端口。
- 应用通过PushMessageReceiver类并重写回调接口接收推送消息的内容。
- 如果回调地址不是应用服务器本身的地址,则第三方应用需要自己实现原始回调接口,接口内容请参考IoT平台北向API参考中的消息推送章节。
接口描述
回调地址 |
https://server:port/v1.0.0/messageReceiver |
---|---|
回调接口 |
def handleMessageConfirm(self) |
接口所属类 |
PushMessageReceiver |
参数说明
入参是request.json
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
nmcDTO |
必选 |
NotifyMessageConfirmDTO |
body |
见下表NotifyMessageConfirmDTO的描述。 |
NotifyMessageConfirmDTO
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
notifyType |
必选 |
String |
body |
通知类型,取值:“messageConfirm”。 |
header |
必选 |
MessageConfirmHeader |
body |
具体参见下表MessageConfirmHeader结构说明。 |
body |
必选 |
ObjectNode |
body |
根据业务具体定义,确认消息可以携带的状态变化等消息。 |
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
requestId |
必选 |
String(1-128) |
body |
消息的序列号,唯一标识该消息。 |
from |
必选 |
String(1-128) |
body |
表示消息发布者的地址。
|
to |
必选 |
String(1-128) |
body |
表示消息接收者的地址,To就是订阅请求中的From,如第三方应用的userId。 |
status |
必选 |
String(1-32) |
body |
命令状态。
|
timestamp |
必选 |
String(1-32) |
body |
时间戳,时间格式:yyyyMMdd'T'HHmmss'Z',如:“20151212T121212Z”。 |
响应参数
Status Code: 200 OK
请求示例
Method: POST request: {callbackUrl} Header: Content-Type:application/json Body: { "notifyType":"messageConfirm", "header":{ "requestId":"***********", "from":"***********", "to":"***********", "status":"delivered", "timestamp":"20151212T121212Z" }, "body":{ } }
响应示例
response: Status Code: 200 OK