# 预下配送单
接口应在服务器端调用,详细说明参见服务端API。
# 接口说明
# 接口英文名
preAddOrder
# 功能描述
# 使用场景描述
- 在用户提交外卖订单时,商家可调用本接口查询配送公司是否可接单、预计多久接单、运费预估等。预估运费可作为展示给用户的运费参考值。
- 举个例子:商家通过预下配送单接口返回的预估运费是8元,商家可决定前端顾客下外卖单时展示给顾客看的运费是真实的8元,还是其他商家指定的金额。
- 说明:本接口非必须调用接口,若不需要获取配送公司是否可接单、预计多久接单、运费预估等,也可不调用本接口,直接下配送单。
- 顺丰同城可返回配送费用、配送距离、预计骑手接单时间,不支持返回delivery_token。
- 闪送可返回配送费用、配送距离、预计骑手接单时间,不支持返回delivery_token。
- 美团配送返回0时表示校验通过,不支持返回配送费用、配送距离、预计骑手接单时间和delivery_token。
- 达达支持预下单查询配送费用、配送距离、预计骑手接单时间和delivery_token(有效期3分钟)。
# 调用方式
# HTTPS 调用
POST https://api.weixin.qq.com/cgi-bin/express/local/business/order/pre_add?access_token=ACCESS_TOKEN
# 第三方调用
调用方式以及出入参和HTTPS相同,仅是调用的token不同
该接口所属的权限集id为:51、71
服务商获得其中之一权限集授权后,可通过使用authorizer_access_token代商家进行调用
# 请求参数
属性 | 类型 | 必填 | 说明 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
access_token / cloudbase_access_token | string | 是 | 接口调用凭证,该参数为 URL 参数,非 Body 参数。access_token和cloudbase_access_token二选一 其中access_token可通过getAccessToken接口获得; 如果是第三方代调用请传入authorizer_access_token ; cloudbase_access_token可通过getOpenData 接口获得 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shopid | string | 是 | 商家id, 由配送公司分配的appkey | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shop_order_id | string | 是 | 唯一标识订单的 ID,由商户生成, 不超过128字节 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
delivery_id | string | 是 | 配送公司ID | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
openid | string | 是 | 下单用户的openid | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sender | object | 是 | 发件人信息,闪送、顺丰同城急送必须填写,美团配送、达达,若传了shop_no的值可不填该字段 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
receiver | object | 是 | 收件人信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cargo | object | 是 | 货物信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
order_info | object | 是 | 订单信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shop | object | 是 | 商品信息,会展示到物流通知消息中 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
delivery_sign | string | 是 | 用配送公司提供的appSecret加密的校验串说明 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shop_no | string | 是 | 商家门店编号,在配送公司登记,美团、闪送必填 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sub_biz_id | string | 是 | 子商户id,区分小程序内部多个子商户 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
order_source | string | 否 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
order_sequence | string | 否 |
# 返回参数
属性 | 类型 | 说明 |
---|---|---|
resultcode | number | 运力返回的错误码 |
resultmsg | string | 运力返回的错误描述 |
fee | number | 实际运费(单位:元),运费减去优惠券费用 |
deliverfee | number | 运费(单位:元) |
couponFee | number | 优惠券费用(单位:元) |
tips | number | 小费(单位:元) |
insurancefee | number | 保价费(单位:元) |
distance | number | 配送距离(单位:米)预计骑手接单时间,单位秒,比如5分钟,就填300, 无法预计填0 |
delivery_token | string | 配送公司可以返回此字段,当用户下单时候带上这个字段,保证在一段时间内运费不变 |
dispatch_duration | number | 预计骑手接单时间,单位秒,比如5分钟,就填300, 无法预计填0 |
# 调用示例
示例说明: HTTPS调用成功返回
# 请求数据示例
{
"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"
}
示例说明: HTTPS调用失败返回
# 请求数据示例
同上
# 返回数据示例
{
"resultcode": 1010,
"resultmsg": "收件人信息不正确"
}
# 错误码
错误码 | 错误码取值 | 解决方案 |
---|---|---|
40001 | invalid credential access_token isinvalid or not latest | 获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口 |