消息回调对接
该文档用于描述通过回调接口方式接收慧视云开放平台消息。该方式需要开发者提供httpServer服务,当平台设备产生消息时,通过调用开发者提供的httpServer服务地址,将消息通知给开发者。开发者需要按照平台约定的消息格式进行解析,并按照平台约定的响应结果进行回复,未按约定回复成功的消息,平台将尝试推送三次。三次后消息被抛弃。

用户设置的回调地址需要根据平台侧约定的header内容和相应内容进行包装,下面以设备上线消息说明。其他消息格式请参考消息格式说明。
请求头
| 参数名 | 参数值 | 是否必须 |
|---|---|---|
| Content-Type | application/json | 是 |
请求报文体
| 名称 | 类型 | 是否必须 | 备注 |
|---|---|---|---|
| messageType | String | 是 | 事件类型=channel_name_notice_message |
| alarmTime | String | 是 | 报警时间,RFC3339格式 |
| messageData | Object | 是 | 消息内容(详情见下表) |
messageData内容如下:
| 名称 | 类型 | 是否必须 | 备注 |
|---|---|---|---|
| deviceSn | String | 是 | 设备序列号 |
| deviceName | String | 是 | 设备名称 |
| videoChannels | object [] | 是 | 视频通道列表 |
videoChannels内容如下:
| 名称 | 类型 | 是否必须 | 备注 |
|---|---|---|---|
| channelId | int | 是 | 通道ID |
| channelName | String | 是 | 视频通道名称 |
//示例数据
{
"messageType": "channel_name_notice_message",
"alarmTime": "2020-08-27T18:32:52.000+08:00",
"messageData": {
"deviceSn": "device_login_message",
"deviceName": "device_login_message",
"videoChannels": [
{
"channelId":0,
"channelName":"通道名称1"
}
],
}
}
第三方平台应相应的报文内容
| 名称 | 类型 | 是否必须 | 备注 |
|---|---|---|---|
| code | int | 是 | 状态码;响应1000表示成功,其它错误会重试推送;单条消息最多重试3次 |
| msg | String | 是 | 状态码解释信息 |
| data | Object | 是 | 默认写死{} |
//成功示例数据
{
"code": 1000,
"msg": "OK",
"data": {}
}
//失败示例数据
{
"code": 9999,
"msg": "eror",
"data": {}
}
总结:开发者提供的httpServer接口,需要支持Content-Type=application/json,收到数据后应相应平台code=1000表示成功收到,不响应或响应其他,平台会重复推送,最多尝试三次。