# onOrderStatus
本文档描述服务器端接收的消息或事件,详细说明参见消息推送。
配送单配送状态更新通知接口
# 消息参数
# Object
| 属性 | 类型 | 说明 |
|---|---|---|
| ToUserName | string | 快递公司小程序 UserName |
| FromUserName | string | 微信团队的 OpenID (固定值) |
| CreateTime | number | 事件时间,Unix时间戳 |
| MsgType | string | 消息类型,固定为 event |
| Event | string | 事件类型,固定为 update_waybill_status,不区分大小写 |
| shopid | string | 商家id, 由配送公司分配的appkey |
| shop_order_id | string | 唯一标识订单的 ID,由商户生成 |
| shop_no | string | 商家门店编号, 在配送公司侧登记 |
| waybill_id | string | 配送单id |
| action_time | number | Unix时间戳 |
| order_status | number | 配送状态,详见下方的order_status 枚举值 |
| action_msg | string | 附加信息 |
| agent | Object | 骑手信息 |
agent 的结构
| 属性 | 类型 | 说明 |
|---|---|---|
| name | string | 骑手姓名 |
| phone | string | 骑手电话 |
| reach_time | number | 预计送达时间戳, 配送中返回 |
order_status 枚举值
| 值 | 说明 |
|---|---|
| 101 | 配送公司接单阶段——等待分配骑手,即初始状态 |
| 102 | 配送公司接单阶段——分配骑手成功 |
| 103 | 配送公司接单阶段——商家取消订单, 订单结束 |
| 201 | 骑手取货阶段——骑手到店开始取货 |
| 202 | 骑手取货阶段——取货成功 |
| 203 | 骑手取货阶段——取货失败,商家取消订单, 订单结束 |
| 204 | 骑手取货阶段——取货失败,骑手因自身原因取消订单, 订单结束 |
| 205 | 骑手取货阶段——取货失败,骑手因商家原因取消订单, 订单结束 |
| 301 | 骑手配送阶段——配送中 |
| 302 | 骑手配送阶段——配送成功, 订单结束 |
| 303 | 骑手配送阶段——商家取消订单,配送物品开始返还商家 |
| 304 | 骑手配送阶段——无法联系收货人,配送物品开始返还商家 |
| 305 | 骑手配送阶段——收货人拒收,配送物品开始返还商家 |
| 401 | 骑手返回配送货品阶段——货品返还商户成功, 订单结束 |
| 501 | 因运力系统原因取消, 订单结束 |
| 502 | 因不可抗拒因素(天气,道路管制等原因)取消,订单结束 |
补充说明:
- 最终状态包括成功状态302,失败状态: 103,203,204,205,401,501,502。
- 当状态更新时,我们会在关键节点给收件用户推送服务通知,告知配送状态,同一配送单常态下会收到三条通知,即【骑手已接单】、【骑手已取货,配送中】、【配送已完成】,配送异常时会下发【配送异常】服务通知。
此外,不同服务通知对应的 order_status 枚举值为
| 服务通知 | 对应的order_status值 |
|---|---|
| 骑手已接单 | 102 |
| 骑手已取货,配送中 | 202或301 |
| 配送已完成 | 302 |
| 配送异常 | 203、204、205、303、304、305、501、502 |
# 消息返回
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| ToUserName | string | 是 | 原样返回请求中的 FromUserName | |
| FromUserName | string | 是 | 快递公司小程序 UserName | |
| CreateTime | number | 是 | 事件时间,Unix时间戳 | |
| MsgType | string | 是 | 消息类型,固定为 event | |
| Event | string | 是 | 事件类型,固定为 update_waybill_status,不区分大小写 | |
| resultcode | number | 是 | 错误码 | |
| resultmsg | string | 是 | 错误描述 |
# 使用场景
当配送公司更新订单配送状态时,微信会通过本接口同步通知商户
# 消息数据包示例
JSON 格式
{
"ToUserName": "toUser",
"FromUserName": "fromUser",
"CreateTime": 1546924844,
"MsgType": "event",
"Event": "update_waybill_status",
"shopid": "123456",
"shop_order_id": "123456",
"waybill_id": "123456",
"action_time": 1546924844,
"order_status": 102,
"action_msg": "",
"shop_no": "123456",
"agent": {
"name": "xxx",
"phone": "1234567"
}
}