# 订单变更推送
# 1.接口说明
名称 | 描述 |
---|---|
功能 | 美团企业版向企业推送订单变更 |
HTTP方法 | POST |
请求方 | 美团企业版平台 |
响应方 | 第三方平台 |
url | 第三方提供 |
method | order.change.push |
# 2.重要提示
1、订单变更推送仅作为消息通知功能,不关注下游服务业务处理结果。下游服务接收通知解析数据成功后,建议异步进行业务处理,及时response如下格式请求响应:
{"status": 0,"msg": "消息接收成功","data": {}}
2、下游服务接收到通知,请求响应返回数据包含"status"字段,且值为"0",认为下游服务接收通知成功,其他值均认为接收通知失败。
3、消息通知通过HTTP或HTTPS请求发送,为了避免请求长时间不被响应,设置了超时时间,目前超时时间为5秒,请求超时认为下游服务接收通知失败。
4、建议提供HTTP接口,HTTPS会进行SSL验证,可能存在证书验证不通过的情况。
5、消息推送失败会重试推送,消息通知不保证顺序,请下游服务做好幂等处理。
6、下游服务接收通知失败,美团企业版会重试推送3次,每次时间间隔如下:
{"第一次重试间隔":"60秒", "第二次重试间隔":"310秒", "第三次重试间隔":"600秒"}
# 3.公共参数
# 4.业务请求参数
名称 | 类型 | 是否必填 | 示例 | 说明 |
---|---|---|---|---|
data | OrderChangeInfo | 是 | 订单状态变更推送数据 |
# OrderChangeInfo
OrderChangeInfo字段说明
名称 | 类型 | 是否必填 | 示例 | 说明 |
---|---|---|---|---|
sqtBizOrderId | Long | 是 | 306092209006387202 | 美团企业版订单ID |
origOrderId | String | 是 | 1592988152350002 | 原始业务订单id |
sqtType | Integer | 是 | 5 | 美团企业版业务类型 |
changeType | Integer | 是 | 10 | 变更类型 10 业务订单状态变更 20 支付状态变更 101 配送状态,外卖、买药品类可配 102 机票客票状态变更 103 团购核销状态变更 104 打车事件变更 105 团购补录状态变更 106 物流状态变更,买药品类可配 201 报备信息变更 |
changeStatus | String | 是 | 10 | 变更状态 changeType为10时,参考订单详情中业务订单状态 changeType为20时,参考订单详情中支付状态 changeType为101时,参考订单详情中外卖、买药配送状态 changeType为102时,结构为TicketStatusInfo格式Json字符串 changeType为103时参考订单详情中团购核销状态 changeType为104时,参考订单详情中打车订单事件状态的事件码 changeType为106时,参考买药快递状态 changeType为201时,结构为CanyinReportContentInfo |
changeTime | Long | 是 | 1609430400000 | 变更时间,13位时间戳,某些情况可能不准,如业务侧推送时间延后 |
extInfoMap | Map<String,String> | 否 | 三方定制额外推送参数,需要双方协商确定 注: 当changeType为104时,当前值map包含 key:orderStatus , value:[参考订单详情中业务订单状态] |
# TicketStatusInfo
TicketStatusInfo字段说明
名称 | 类型 | 是否必填 | 示例 | 说明 |
---|---|---|---|---|
ticketStatus | String | 是 | LIFT/BOARDED | 客票状态 |
ticketNumber | String | 是 | 666 | 客票号 |
# CanyinReportContentInfo
CanyinReportContentInfo字段说明
名称 | 类型 | 是否必填 | 示例 | 说明 |
---|---|---|---|---|
reportLater | Integer | 否 | 报备状态(0:无需稍后填写,1:需要稍后报备,2:已报备) | |
editCount | Integer | 否 | 修改次数 |
# 5.示例结果
业务请求(加密前的数据)
{
"entId": 617,
"ts": 1621222860,
"method": "order.change.push",
"data": {
"sqtBizOrderId": 526001045969776640,
"origOrderId": "694866826080335",
"sqtType": 10,
"changeType": 20,
"changeStatus": "20",
"changeTime": 1621222800000,
"extInfoMap": {}
}
}
客票状态变更时
{
"entId": 617,
"ts": 1621222860,
"method": "order.change.push",
"data": {
"sqtBizOrderId": 526001045969776640,
"origOrderId": "694866826080335",
"sqtType": 12,
"changeType": 102,
"changeStatus": "{\"ticketStatus\":\"LIFT/BOARDED\",\"ticketNumber\":\"666\"}",
"changeTime": 1621222800000,
"extInfoMap": {}
}
}
业务响应
{
"status": 0,//当且仅当status=0,被认为下游接收通知成功
"msg": "成功",
"data": {}
}
{
"status": 1,//status!=0,均认为下游接收通知失败
"msg": "参数校验失败",
"data": {}
}