# 运力下单

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

事件英文名：add_single_waybill

当用户下单时，会发送此事件。

## 1. 消息参数

### 请求体 `Request Payload`

```json
[
  {
    "参数名": "ToUserName",
    "类型": "string",
    "说明": "快递公司小程序UserName",
    "枚举": "-"
  },
  {
    "参数名": "FromUserName",
    "类型": "string",
    "说明": "微信团队的OpenID（固定值）",
    "枚举": "-"
  },
  {
    "参数名": "CreateTime",
    "类型": "number",
    "说明": "事件时间，Unix时间戳",
    "枚举": "-"
  },
  {
    "参数名": "MsgType",
    "类型": "string",
    "说明": "消息类型，固定为event",
    "枚举": "-"
  },
  {
    "参数名": "Event",
    "类型": "string",
    "说明": "事件类型，固定为add_single_waybill，不区分大小写",
    "枚举": "-"
  },
  {
    "参数名": "Token",
    "类型": "string",
    "说明": "订单Token。请保存该Token，更新运单轨迹时需要传入，长度需预留256个字符",
    "枚举": "-"
  },
  {
    "参数名": "WXAppId",
    "类型": "string",
    "说明": "商户微信小程序的appid",
    "枚举": "-"
  },
  {
    "参数名": "OrderID",
    "类型": "string",
    "说明": "商户订单ID，可以使用token而不用这个字段",
    "枚举": "-"
  },
  {
    "参数名": "Sender",
    "类型": "object",
    "说明": "发件人信息",
    "枚举": "-"
  },
  {
    "参数名": "Receiver",
    "类型": "object",
    "说明": "收件人信息",
    "枚举": "-"
  },
  {
    "参数名": "GoodDetail",
    "类型": "object",
    "说明": "物品详情",
    "枚举": "-"
  },
  {
    "参数名": "Insured",
    "类型": "object",
    "说明": "保价信息",
    "枚举": "-"
  },
  {
    "参数名": "ExpectStartTime",
    "类型": "number",
    "说明": "期望上门取件起始时间",
    "枚举": "-"
  },
  {
    "参数名": "ExpectEndTime",
    "类型": "number",
    "说明": "期望上门取件结束时间",
    "枚举": "-"
  },
  {
    "参数名": "Settingment",
    "类型": "number",
    "说明": "结算方式默认0现结，1到付,2月结,3支付分",
    "枚举": "-"
  },
  {
    "参数名": "CompanyID",
    "类型": "string",
    "说明": "中通大客户CompanyID，结算方式为2，且选中通时需填",
    "枚举": "-"
  },
  {
    "参数名": "Account",
    "类型": "string",
    "说明": "月结账号，结算方式为2时需填",
    "枚举": "-"
  },
  {
    "参数名": "AccountPwd",
    "类型": "string",
    "说明": "月结账号密码结算方式为2时需填",
    "枚举": "-"
  },
  {
    "参数名": "Remark",
    "类型": "string",
    "说明": "备注信息",
    "枚举": "-"
  },
  {
    "参数名": "PickUpStartTime",
    "类型": "number",
    "说明": "上门时间段（开始时间）",
    "枚举": "-"
  },
  {
    "参数名": "PickUpEndTime",
    "类型": "number",
    "说明": "上门时间段（结束时间）",
    "枚举": "-"
  },
  {
    "参数名": "Scene",
    "类型": "number",
    "说明": "场景值",
    "枚举": "枚举值"
  }
]
```

### Body.Sender `Object Payload`

发件人信息

```json
[
  {
    "参数名": "Name",
    "类型": "string",
    "说明": "收件人姓名"
  },
  {
    "参数名": "Tel",
    "类型": "string",
    "说明": "收件人座机号码"
  },
  {
    "参数名": "Mobile",
    "类型": "string",
    "说明": "收件人手机号码"
  },
  {
    "参数名": "Province",
    "类型": "string",
    "说明": "省份，比如\"广东省\""
  },
  {
    "参数名": "City",
    "类型": "string",
    "说明": "地区/市，比如\"广州市\""
  },
  {
    "参数名": "Area",
    "类型": "string",
    "说明": "区/县，比如\"海珠区\""
  },
  {
    "参数名": "Street",
    "类型": "string",
    "说明": "街道，比如新港中路"
  },
  {
    "参数名": "Address",
    "类型": "string",
    "说明": "详细地址，比如\"XX路XX号XX大厦XX\""
  },
  {
    "参数名": "Id",
    "类型": "string",
    "说明": "地址id"
  }
]
```

### Body.Receiver `Object Payload`

收件人信息

```json
[
  {
    "参数名": "Name",
    "类型": "string",
    "说明": "收件人姓名"
  },
  {
    "参数名": "Tel",
    "类型": "string",
    "说明": "收件人座机号码"
  },
  {
    "参数名": "Mobile",
    "类型": "string",
    "说明": "收件人手机号码"
  },
  {
    "参数名": "Province",
    "类型": "string",
    "说明": "省份，比如\"广东省\""
  },
  {
    "参数名": "City",
    "类型": "string",
    "说明": "地区/市，比如\"广州市\""
  },
  {
    "参数名": "Area",
    "类型": "string",
    "说明": "区/县，比如\"海珠区\""
  },
  {
    "参数名": "Street",
    "类型": "string",
    "说明": "街道，比如新港中路"
  },
  {
    "参数名": "Address",
    "类型": "string",
    "说明": "详细地址，比如\"XX路XX号XX大厦XX\""
  },
  {
    "参数名": "Id",
    "类型": "string",
    "说明": "地址id"
  }
]
```

### Body.GoodDetail `Object Payload`

物品详情

```json
[
  {
    "参数名": "Weight",
    "类型": "number",
    "示例": "1",
    "说明": "货物总重量，比如1.2，单位是千克(kg)",
    "枚举": "-"
  },
  {
    "参数名": "Special",
    "类型": "number",
    "示例": "0",
    "说明": "物品类型，见物品类型说明",
    "枚举": "枚举值"
  }
]
```

### Body.Insured `Object Payload`

保价信息

```json
[
  {
    "参数名": "UseInsured",
    "类型": "number",
    "说明": "是否保价，0表示不保价，1表示保价"
  },
  {
    "参数名": "InsuredValue",
    "类型": "number",
    "说明": "保价金额，单位是分，比如:10000表示100元"
  }
]
```

## 2. 消息返回

### 返回体 `Response Payload`

```json
[
  {
    "参数名": "ToUserName",
    "类型": "string",
    "必填": "是",
    "说明": "原样返回请求中的FromUserName"
  },
  {
    "参数名": "FromUserName",
    "类型": "string",
    "必填": "是",
    "说明": "快递公司小程序UserName"
  },
  {
    "参数名": "CreateTime",
    "类型": "number",
    "必填": "是",
    "说明": "事件时间，Unix时间戳"
  },
  {
    "参数名": "MsgType",
    "类型": "string",
    "必填": "是",
    "说明": "消息类型，固定为event"
  },
  {
    "参数名": "Event",
    "类型": "string",
    "必填": "是",
    "说明": "事件类型，固定为add_single_waybill，不区分大小写"
  },
  {
    "参数名": "ResultCode",
    "类型": "number",
    "必填": "是",
    "说明": "处理结果错误码"
  },
  {
    "参数名": "ResultMsg",
    "类型": "string",
    "必填": "否",
    "说明": "处理结果的详细信息"
  },
  {
    "参数名": "WayBillID",
    "类型": "string",
    "必填": "否",
    "说明": "运单ID，如果不能立即返回，可以在打印面单时候回调通知微信端"
  },
  {
    "参数名": "EstimatedDeliveryTime",
    "类型": "string",
    "必填": "否",
    "说明": "预计送达时间，格式：yyyy-mm-dd"
  },
  {
    "参数名": "JumpPath",
    "类型": "string",
    "必填": "否",
    "说明": "下单成功后跳转的地址（appid需要联系微信进行登记配置）"
  },
  {
    "参数名": "PickCode",
    "类型": "string",
    "必填": "否",
    "说明": "取件码"
  }
]
```

## 3. 枚举信息

### Body.Scene `Enum`

场景值

```json
[
  {
    "枚举值": "1",
    "描述": "C端散单"
  },
  {
    "枚举值": "2",
    "描述": "B端退货"
  },
  {
    "枚举值": "3",
    "描述": "B端发货"
  }
]
```

### Body.GoodDetail.Special `Enum`

物品类型，见物品类型说明

```json
[
  {
    "枚举值": "0",
    "描述": "文件类"
  },
  {
    "枚举值": "1",
    "描述": "电子产品类(包括家用电器)"
  },
  {
    "枚举值": "2",
    "描述": "办公用品类,服装鞋帽，箱包类"
  },
  {
    "枚举值": "3",
    "描述": "化妆品，美容产品类"
  },
  {
    "枚举值": "4",
    "描述": "珠宝，手表，眼镜，贵重饰品类"
  },
  {
    "枚举值": "5",
    "描述": "食品，保健药品类"
  },
  {
    "枚举值": "6",
    "描述": "工艺品类(包括瓷器，茶具，烹饪用品)"
  },
  {
    "枚举值": "7",
    "描述": "玩具乐器类"
  },
  {
    "枚举值": "8",
    "描述": "其他类"
  }
]
```

## 4. 注意事项

本事件无特殊注意事项

## 5. 代码示例

本事件无代码示例
