# onOrderPreAdd
本文档描述服务器端接收的消息或事件,详细说明参见消息推送。
并非真正发单,用来验证是否配送公司是否可以接单,并在成功时返回时效、计价等信息,也可用来验证地址以及时间是否在配送范围内。注意:预下单和下单时候由于时间差或者配送公司策略问题,返回的运费可能不一致,如果配送公司返回delivery_token,商家真正下单时候带上delivery_token,配送公司需保证在这一段时间内运费不变
# 消息参数
# Object
属性 | 类型 | 说明 |
---|---|---|
ToUserName | string | 快递公司小程序 UserName |
FromUserName | string | 微信团队的 OpenID (固定值) |
CreateTime | number | 事件时间,Unix时间戳 |
MsgType | string | 消息类型,固定为 event |
Event | string | 事件类型,固定为 transport_precreate_order,不区分大小写 |
shopid | string | 商家id, 由配送公司分配的appkey |
shop_no | string | 商家门店编号, 在配送公司侧登记 |
shop_order_id | string | 唯一标识订单的 ID,由商户生成 |
delivery_sign | string | 用配送公司侧提供的appSecret加密的校验串 |
sender | Object | 发件人信息,如果配送公司能从shopid+shop_no对应到门店地址,则不需要填写,否则需填写 |
receiver | Object | 收件人信息 |
cargo | Object | 货物信息 |
order_info | Object | 订单信息 |
sender 的结构
属性 | 类型 | 说明 |
---|---|---|
name | string | 姓名,最长不超过256个字符 |
city | string | 城市名称,如广州市 |
address | string | 地址(街道、小区、大厦等,用于定位) |
address_detail | string | 地址详情(楼号、单元号、层号) |
phone | string | 电话/手机号,最长不超过64个字符 |
lng | number | 经度(火星坐标或百度坐标,和 coordinate_type 字段配合使用,确到小数点后6位 |
lat | number | 纬度(火星坐标或百度坐标,和 coordinate_type 字段配合使用,精确到小数点后6位) |
coordinate_type | number | 坐标类型,0:火星坐标(高德,腾讯地图均采用火星坐标) 1:百度坐标 |
receiver 的结构
属性 | 类型 | 说明 |
---|---|---|
name | string | 姓名,最长不超过256个字符 |
city | string | 城市名称,如广州市 |
address | string | 地址(街道、小区、大厦等,用于定位) |
address_detail | string | 地址详情(楼号、单元号、层号) |
phone | string | 电话/手机号,最长不超过64个字符 |
lng | number | 经度(火星坐标或百度坐标,和 coordinate_type 字段配合使用,确到小数点后6位 |
lat | number | 纬度(火星坐标或百度坐标,和 coordinate_type 字段配合使用,精确到小数点后6位) |
coordinate_type | number | 坐标类型,0:火星坐标(高德,腾讯地图均采用火星坐标) 1:百度坐标 |
cargo 的结构
属性 | 类型 | 说明 |
---|---|---|
goods_value | number | 货物价格,单位为元,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-5000] |
goods_height | number | 货物高度,单位为cm,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-45] |
goods_length | number | 货物长度,单位为cm,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-65] |
goods_width | number | 货物宽度,单位为cm,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-50] |
goods_weight | number | 货物重量,单位为kg,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-50] |
goods_detail | Object | 货物详情,最长不超过10240个字符 |
goods_pickup_info | string | 货物取货信息,用于骑手到店取货,最长不超过100个字符 |
goods_delivery_info | string | 货物交付信息,最长不超过100个字符 |
cargo_first_class | string | 品类一级类目, 详见品类表 |
cargo_second_class | string | 品类二级类目 |
goods_detail 的结构
属性 | 类型 | 说明 |
---|---|---|
goods | Array.<Object> | 货物列表 |
goods 的结构
属性 | 类型 | 说明 |
---|---|---|
good_count | number | 货物数量 |
good_name | string | 货品名称 |
good_price | number | 货品单价,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数) |
good_unit | string | 货品单位,最长不超过20个字符 |
order_info 的结构
属性 | 类型 | 说明 |
---|---|---|
delivery_service_code | string | 配送服务代码 不同配送公司自定义, 顺丰和达达不填,美团必填 |
order_type | number | 订单类型, 0: 即时单 1 预约单,如预约单,需要设置expected_delivery_time或expected_finish_time或expected_pick_time |
expected_delivery_time | number | 期望派单时间(美团、达达支持,美团表示商家发单时间,达达表示系统调度时间, 到那个时间才会有状态更新的回调通知),unix-timestamp, 比如1586342180 |
expected_finish_time | number | 期望送达时间(顺丰同城急送支持),unix-timestamp, 比如1586342180 |
expected_pick_time | number | 期望取件时间(闪送、顺丰同城急送支持,闪送需要设置两个小时后的时间,顺丰同城急送只需传expected_finish_time或expected_pick_time其中之一即可,同时都传则以expected_finish_time为准),unix-timestamp, 比如1586342180 |
poi_seq | string | 门店订单流水号,建议提供,方便骑手门店取货,最长不超过32个字符 |
note | string | 备注,最长不超过200个字符 |
order_time | number | 用户下单付款时间, 比如1555220757 |
is_insured | number | 是否保价,0,非保价,1.保价 |
declared_value | number | 保价金额,单位为元,精确到分 |
tips | number | 小费,单位为元, 下单一般不加小费 |
is_direct_delivery | number | 是否选择直拿直送(0:不需要;1:需要。选择直拿直送后,同一时间骑手只能配送此订单至完成,配送费用也相应高一些,闪送必须选1,达达可选0或1,其余配送公司不支持直拿直送) |
cash_on_delivery | number | 骑手应付金额,单位为元,精确到分 |
cash_on_pickup | number | 骑手应收金额,单位为元,精确到分 |
rider_pick_method | number | 物流流向,1:从门店取件送至用户;2:从用户取件送至门店 |
is_finish_code_needed | number | 收货码(0:不需要;1:需要。收货码的作用是:骑手必须输入收货码才能完成订单妥投) |
is_pickup_code_needed | number | 取货码(0:不需要;1:需要。取货码的作用是:骑手必须输入取货码才能从商家取货) |
# 消息返回
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
ToUserName | string | 是 | 原样返回请求中的 FromUserName | |
FromUserName | string | 是 | 快递公司小程序 UserName | |
CreateTime | number | 是 | 事件时间,Unix时间戳 | |
MsgType | string | 是 | 消息类型,固定为 event | |
Event | string | 是 | 事件类型,固定为 transport_precreate_order,不区分大小写 | |
resultcode | number | 是 | 错误码 | |
resultmsg | string | 是 | 错误描述 | |
fee | number | 是 | 实际运费(单位:元),运费减去优惠券费用 | |
deliverfee | number | 是 | 运费(单位:元) | |
couponfee | number | 是 | 优惠券费用(单位:元) | |
tips | number | 是 | 小费(单位:元) | |
insurancefee | number | 是 | 保价费(单位:元) | |
distance | number | 否 | 配送距离(单位:米) | |
dispatch_duration | number | 否 | 预计骑手接单时间,单位秒,比如5分钟,就填300, 无法预计填0 | |
delivery_token | string | 否 | 配送公司可以返回此字段,当用户下单时候带上这个字段,配送公司可保证在一段时间内运费不变 |