合作伙伴工作台
注册

HTTP消息推送

用户可以通过门户或者调用北向API接口添加北向应用订阅url,平台可以将符合订阅条件的设备消息以HTTP POST方式推送至指定的url。目前支持设备数据变化通知、设备指令响应通知、设备事件上报通知、设备上下线通知等消息类型的订阅,各协议对应消息类型及格式参见订阅推送消息格式。订阅级别分为设备级,产品级和分组级。目前订阅生效时间为1分钟左右。 支持HTTP和HTTPs两种推送方式,HTTPs方式具备数字签名和通讯加密能力,具有较高的安全性。HTTP推送方式采用明文传输,可能造成推送消息被窃听或篡改,具有安全风险,请慎重选择,建议用户采用HTTPs方式来接收推送消息

设备级订阅方法

从左侧导航栏选择"产品中心",点击选择所需要操作的产品,进入后点击"设备管理"标签页,查看目前的设备列表。

当设备状态为"已激活"时,点击右侧操作栏中的"应用订阅",以进行进一步操作。

在"新增订阅"框中,选择订阅的消息类型以及添加订阅方URL地址完成操作,订阅级别默认为设备级。

产品级订阅方法

从左侧导航栏选择"产品中心",点击选择所需要操作的产品,点击"订阅管理"标签页,点击右上方"新增订阅"添加产品级订阅,选择消息类型以及添加订阅方URL地址完成操作,订阅级别默认为产品级。

添加订阅成功后,可以在门户"订阅管理"中查看消息类型、订阅级别、订阅时间及订阅方地址等,并且可以在右侧的操作栏对以上信息进行修改和编辑,也可以进行关闭订阅的操作。

订阅成功后,设备发送的符合订阅条件的消息,都会经过平台统一格式转换后,以JSON格式推送至订阅的URL地址。

分组级订阅方法

从左侧导航栏选择"分组管理",点击选择"分组订阅"标签页,点击右上方"新增订阅"添加分组级订阅。

在"新增订阅"中选择所需的消息类型,订阅级别默认为分组级,选择分组并填写URL完成操作。

添加订阅成功后,可以查看分组ID、消息类别、订阅级别、订阅方地址和创建时间等,并且可以在右侧的操作栏对以上信息进行修改和编辑,也可以进行关闭订阅的操作。

异常处理

目前,订阅接收方收到消息后,需固定返回HTTP 200,其它返回码平台会认为推送失败。消息推送支持失败重传机制,推送失败(超时、HTTP返回码不等于200等)的消息,平台最多会重试3次。如果消息接收服务连续失败次数超过100次或者最近10s推送失败率超过10%,平台会认为该服务暂时不可用,标记该消息接收服务处于失败冷却状态,1分钟内不再向该消息接收服务推送消息(这1分钟内的相关消息将不会被推送,但Saas的"设备增加删除"类型的消息会继续推送)。

为了提高消息推送效率,平台会对接收方处理消息的响应时间进行考核,并以此为主要依据来确定消息推送的优先级,因此接收方收到消息后应对消息进行异步处理,立即返回HTTP响应。

推送安全

推送服务支持HTTPS证书安全认证。推送时,北向消息接收服务作为服务端、平台消息推送服务作为客户端。北向消息接收服务端可通过平台提供的安全证书(右键->另存为)对平台进行客户端身份认证。以Nginx为例,北向消息接收服务开启对平台安全认证的参考配置如下:

server {
	listen 443 ssl;
	server_name xxx;
	ssl_certificate /xxx/server.crt;
	ssl_certificate_key /xxx/server.key;

	#平台安全证书
	ssl_client_certificate /xxx/aep-msgpush.crt;
	ssl_verify_client on;
	location / {
		root html;
		index index.html index.htm;
	}
}
这篇文档是否帮助您解决了问题?
如果您愿意进一步帮助我们改进文档 ,请留下您的联系方式。