# 物流轨迹推送通知

> 本文档描述服务器端接收的消息或事件，详细说明参见[消息推送](/miniprogram/dev/framework/server-ability/message-push.md)。

事件英文名：ewaybill_push_path

当电子面单对应的物流轨迹发生变化时，微信小店会通过该接口将消息通知给供货商。

相关 API 接口：[ewaybill_getorder](/doc/store/shop/API/channels-shop-delivery/ewaybill/api_ewaybill_getorder)

## 1. 消息参数

### 请求体 `Request Payload`

```json
[
  {
    "参数名": "ToUserName",
    "类型": "string",
    "说明": "UserName"
  },
  {
    "参数名": "FromUserName",
    "类型": "string",
    "说明": "OpenID"
  },
  {
    "参数名": "CreateTime",
    "类型": "number",
    "说明": "事件时间,Unix时间戳"
  },
  {
    "参数名": "MsgType",
    "类型": "string",
    "说明": "消息类型,固定为event"
  },
  {
    "参数名": "Event",
    "类型": "string",
    "说明": "事件类型,本接口固定为ewaybill_push_path"
  },
  {
    "参数名": "waybill_info",
    "类型": "object",
    "说明": "事件主体"
  }
]
```

### Body.waybill_info `Object Payload`

事件主体

```json
[
  {
    "参数名": "ewaybill_order_id",
    "类型": "UINT64",
    "说明": "电子面单订单id",
    "枚举": "-"
  },
  {
    "参数名": "waybill_id",
    "类型": "String",
    "说明": "运单号",
    "枚举": "-"
  },
  {
    "参数名": "update_time",
    "类型": "UINT32",
    "说明": "更新时间，单位秒",
    "枚举": "-"
  },
  {
    "参数名": "status",
    "类型": "UINT32",
    "说明": "轨迹节点状态",
    "枚举": "枚举值"
  },
  {
    "参数名": "desc",
    "类型": "String",
    "说明": "轨迹节点描述",
    "枚举": "-"
  }
]
```

## 2. 消息返回

### 返回体 `Response Payload`

回复 `success` 或空字符串（无需加密）

## 3. 枚举信息

### Body.waybill_info.status `Enum`

轨迹节点状态

```json
[
  {
    "枚举值": "0",
    "描述": "待揽件"
  },
  {
    "枚举值": "1",
    "描述": "揽收"
  },
  {
    "枚举值": "2",
    "描述": "运输中"
  },
  {
    "枚举值": "3",
    "描述": "派件"
  },
  {
    "枚举值": "4",
    "描述": "入柜"
  },
  {
    "枚举值": "5",
    "描述": "签收"
  },
  {
    "枚举值": "6",
    "描述": "退回"
  },
  {
    "枚举值": "7",
    "描述": "转寄"
  },
  {
    "枚举值": "8",
    "描述": "异常"
  },
  {
    "枚举值": "9",
    "描述": "出柜"
  },
  {
    "枚举值": "99",
    "描述": "其他未知"
  }
]
```

## 4. 注意事项

- 回调url设置和消息推送规则需参考[消息推送文档](/doc/store/shop/dev_before/message_push) ，如果设置的回调url无法访问，供货商将无法收微信小店发送的通知；

## 5. 代码示例

请求示例

```json
{
    "ToUserName": "gh_*",
    "FromUserName": "OpenID",
    "CreateTime": 1662480000,
    "MsgType": "event",
    "Event": "ewaybill_push_path",
    "waybill_info": {
       "ewaybill_order_id":123123123123123,
       "waybill_id":"xxxx",
       "update_time":1231231,
       "status":1,
       "desc":"您的快件已签收"
     }
}
```

返回示例

```json
{
  "ToUserName": "oABCD",
  "FromUserName": "gh_abcdefg",
  "CreateTime": 1533042556,
  "MsgType": "event",
  "Event": "ewaybill_push_path",
  "ResultCode": 0,
  "ResultMsg": "success"
}
```
