消息对接文档

**消息推送服务接入指南:** 为提高开发者API接口调用效率,增强数据通信的实时性,米合开放平台提供主动推送消息服务。基于消息推送服务,只要相关事件发生,就会把对应的消息实时推送到开发者配置的推送地址。开发者无需通过轮询API来获取相关数据,仅需在接收到消息后解析即可。使用该种数据对接方式可以大大提高API调用效率,减少双方计算资源的浪费。 **一、通知方式** ![image.png](https://cos.easydoc.net/35239470/files/l78twsqv.png) 1.推送地址是开发者用来接收消息的地址,目前仅支持配置一个地址 2.用户提供调用地址,地址需公网可访问。 **二、接收消息** 1.消息推送服务通过POST、参数编码为APPLICATION/JSON(输入流)的方式向开发者提供的地址推送消息。由于平台服务端响应超时时间为2s,建议开发者接收到消息后立即返回成功code,再异步去处理自有的业务信息 2.开发者接收到消息后必须返回 {"code":0,"message":"成功"} 通知米合开放平台成功接收,否则会被判定为推送失败,系统会自动进行消息重推。最多重推3次,推送的时间间隔5min。 **三、消息体示例** ```json { "clientId": "xxx", "sign": "DJALFK3J55LJAL6L6LJDAFJL", "data": [ { "companyCode": "xxx", "messageId": "dsafa453das453f3da4s3f4das3f54d63asf4da3", "messageTag": "orderxxxx", "orderCode": "xxx", "sourceOrderCode": "xxx", "timestamp": 1545434343434 }, { "companyCode": "xxx", "messageId": "dsafa453das453f3da4s3f4das3f54d63asf4da4", "messageTag": "orderxxxx", "orderCode": "xxx", "sourceOrderCode": "xxx", "timestamp": 1545434343435 } ] } ``` 1.目前支持的消息参见api文档:https://easydoc.net/doc/21494789/hA8cof1w/111EXhE1 2.为防止请求被拦截后,参数被恶意篡改,数据根据开发者对接文档的规则进行加签。开发者需要校验clientId是否为自己持有,并校验签名正确后方可使用数据。