# 消息推送说明
### 一、概述
1. 消息推送是开放平台主动调用开发者服务的一个通道,用于向应用推送订单状态变更、打印机状态变更等消息。开发者需要在应用管理的后台,设置需要监听的消息类型的推送URL,当有该种类型的消息产生时,开发平台会向应用设置的URL发送HTTP POST数据,达到通知应用的目的。
### 二、推送协议
1. 开放平台以HTTP POST 的方式进行消息推送请求。
2. 开放平台消息推送请求的HTTP Header中的contentType 为“application/x-www-form-urlencoded”
3. 为了防止推送消息被篡改,开放平台进行推送的时候会有简单签名,签名规则见【签名验证规则】,应用需要自行校验消息数据。
4. 应用在消息处理完成后,需要回复HTTP Response的code 200 以及body为{"data":"OK"},表示此次推送消息接收成功。
5. 推送请求如果3s内没有收到响应头为200响应,平台认为此次推送不成功,不管因为什么原因,平台都会重新发起推送(总推送次数不超过3次(<=3))。
6. 应用收到推送HTTP请求后,必须在3s内完成响应,否则平台认为超时响应,会重复推送,造成双方资源浪费。
7. 应用需要自行处理重复推送造成的消息重复。
8. 为了方便未来的消息内容升级,应用需要兼容处理当前消息中不存在的字段。
9. 应用需要支持推送地址的GET与POST访问,当GET或POST请求访问时,请直接返回{"data":"OK"},用于推送地址的可用性测试。
### 三、签名验证规则:
1. 入签参数client_id、client_secret、push_time。
2. 按照client_id、push_time、client_secret排列方式,将相应参数的值进行拼接。
3. 示例:假设client_id的值为A、client_secret的值为B、push_time的值为C,进行拼接后的待签字符串为ACB。
4. 将上一步得到的字符串进行MD5编码,得到sign参数的值。
- 使用前准备【必看】
- 开发者服务指引【必看】
- 接口更新动态
- 2024年5月
- 2024年1月
- 2023年11月
- 2023年10月
- 2023年9月
- 2023年6月
- 开发文档【必看】
- 调用协议【必看】
- 授权文档【必接】
- 自有型应用
- 开放型应用(OAuth2.0授权码模式)
- 开放型应用(扫码授权模式)
- SDK使用说明
- API文档【按需对接】
- 设备文档
- 设备绑定
- 设备解绑或取消授权
- 状态获取
- 离线或重启控制
- 打印控制
- logo控制
- 音效音量控制
- 内置语音控制
- 打印宽度获取
- 型号版本获取
- 接单拒单控制
- 打印文档
- 文本打印
- 图片打印
- 面单文档
- 面单生成并打印
- 面单取消
- 打印队列文档
- 订单状态获取(单订单)
- 订单列表获取
- 订单取消打印(单订单)
- 订单取消打印(全量)
- 订单重打(单订单)
- 应用设置文档
- 推送地址设置
- K8支付设置文档
- 推送开关设置
- 关键词设置
- 高级设置
- 打印消息推送
- 打印消息推送说明
- 打印完成推送
- 终端状态推送
- 接单拒单推送
- K8扫码信息推送
- 扫码相关功能流程图
- 产品介绍
- 授权说明
- 消息推送
- http/https推送方式
- 签名验证规则
- 解密规则
- 指令说明
- 验签解密示例
- 打印指令文档
- 指令文档说明
- 文本打印指令集
- 语音指令文档
- 多语言指令文档
- 扫码功能指令
- 常见问题
- 错误码说明
- FAQ