微信小程序 小程序使用·preAddOrder

immediateDelivery.preAddOrder

本接口应在服务器端调用,详细说明参见服务端API。

预下配送单接口

请求地址

POST https://api.weixin.qq.com/cgi-bin/express/local/business/order/pre_add?access_token=ACCESS_TOKEN

请求参数

属性 类型 默认值 必填 说明
access_token string 接口调用凭证
shopid string 商家id, 由配送公司分配的appkey
shop_order_id string 唯一标识订单的 ID,由商户生成, 不超过128字节
shop_no string 商家门店编号,在配送公司登记,美团、闪送必填
delivery_sign string 用配送公司提供的appSecret加密的校验串说明
delivery_id string 配送公司ID
openid string 下单用户的openid
sender Object 发件人信息,闪送、顺丰同城急送必须填写,美团配送、达达,若传了shop_no的值可不填该字段
receiver Object 收件人信息
cargo Object 货物信息
order_info Object 订单信息
shop Object 商品信息,会展示到物流通知消息中
sub_biz_id string 子商户id,区分小程序内部多个子商户

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 坐标类型,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 坐标类型,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 订单类型, 0: 即时单 1 预约单,如预约单,需要设置expected_delivery_time或expected_finish_time或expected_pick_time
expected_delivery_time number 0 期望派单时间(美团、达达支持,美团表示商家发单时间,达达表示系统调度时间, 到那个时间才会有状态更新的回调通知),unix-timestamp, 比如1586342180
expected_finish_time number 0 期望送达时间(顺丰同城急送支持),unix-timestamp, 比如1586342180
expected_pick_time number 0 期望取件时间(闪送、顺丰同城急送支持,闪送需要设置两个小时后的时间,顺丰同城急送只需传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 是否保价,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:需要。取货码的作用是:骑手必须输入取货码才能从商家取货)

shop 的结构

属性 类型 默认值 必填 说明
wxa_path string 商家小程序的路径,建议为订单页面
img_url string 商品缩略图 url
goods_name string 商品名称
goods_count number 商品数量
wxa_appid string 若结算方式为:第三方向配送公司统一结算,商户后续和第三方结算,则该参数必填;在该结算模式下,第三方用自己的开发小程序替授权商户发起下单,并将授权小程序的appid给平台,后续配送通知中可回流授权商户小程序。

返回值

Object

属性 类型 说明
errcode number 错误码, 当errcode==0或者不存在还需要看resultcode
errmsg string 错误描述
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 配送公司可以返回此字段,当用户下单时候带上这个字段,保证在一段时间内运费不变

使用场景

  1. 在用户提交外卖订单时,商家可调用本接口查询配送公司是否可接单、预计多久接单、运费预估等。预估运费可作为展示给用户的运费参考值。
  2. 举个例子:商家通过预下配送单接口返回的预估运费是8元,商家可决定前端顾客下外卖单时展示给顾客看的运费是真实的8元,还是其他商家指定的金额。
  3. 说明:本接口非必须调用接口,若不需要获取配送公司是否可接单、预计多久接单、运费预估等,也可不调用本接口,直接下配送单。
  4. 顺丰同城可返回配送费用、配送距离、预计骑手接单时间,不支持返回delivery_token。
  5. 闪送可返回配送费用、配送距离、预计骑手接单时间,不支持返回delivery_token。
  6. 美团配送返回0时表示校验通过,不支持返回配送费用、配送距离、预计骑手接单时间和delivery_token。
  7. 达达支持预下单查询配送费用、配送距离、预计骑手接单时间和delivery_token(有效期3分钟)。

请求示例

{
   "cargo": {
       "cargo_first_class": "美食夜宵",
       "cargo_second_class": "零食小吃",
       "goods_detail": {
           "goods": [
               {
                   "good_count": 1,
                   "good_name": "水果",
                   "good_price": 10,
                   "good_unit": "元"
               },
               {
                   "good_count": 2,
                   "good_name": "蔬菜",
                   "good_price": 20,
                   "good_unit": "元"
               }
           ]
       },
       "goods_height": 1,
       "goods_length": 3,
       "goods_value": 5,
       "goods_weight": 1,
       "goods_width": 2
   },
   "delivery_id": "SFTC",
   "delivery_sign": "01234567890123456789",
   "openid": "oABC123456",
   "order_info": {
       "delivery_service_code": "",
       "expected_delivery_time": 0,
       "is_direct_delivery": 0,
       "is_finish_code_needed": 1,
       "is_insured": 0,
       "is_pickup_code_needed": 1,
       "note": "test_note",
       "order_time": 1555220757,
       "order_type": 0,
       "poi_seq": "1111",
       "tips": 0
   },
   "receiver": {
       "address": "xxx地铁站",
       "address_detail": "2号楼202",
       "city": "北京市",
       "coordinate_type": 0,
       "lat": 40.1529600000,
       "lng": 116.5060300000,
       "name": "老王",
       "phone": "18512345678"
   },
   "sender": {
       "address": "xx大厦",
       "address_detail": "1号楼101",
       "city": "北京市",
       "coordinate_type": 0,
       "lat": 40.4486120000,
       "lng": 116.3830750000,
       "name": "刘一",
       "phone": "13712345678"
   },
   "shop": {
       "goods_count": 2,
       "goods_name": "宝贝",
       "img_url": "https://mmbiz.qpic.cn/mmbiz_png/xxxxxxxxx/0?wx_fmt=png",
       "wxa_path": "/page/index/index"
   },
   "shop_no": "12345678",
   "sub_biz_id": "sub_biz_id_1",
   "shop_order_id": "SFTC_001",
   "shopid": "122222222",
}

返回示例

下单成功

{
  "resultcode": 0,
  "resultmsg": "ok",
  "fee": 10,
  "deliverfee": 10,
  "couponfee": 0,
  "tips": 0,
  "insurancfee": 0,
  "distance": 1000,
  "dispatch_duration": 300,
  "delivery_token": "1111111"
}

下单失败

{
  "resultcode": 1010,
  "resultmsg": "收件人信息不正确"
}

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《微信小程序 小程序使用·preAddOrder》
文章链接:https://zhuji.vsping.com/310131.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。