添加配送单
接口应在服务器端调用,详细说明参见服务端API。
接口说明
接口英文名
addLocalOrder
功能描述
该接口用于下配送单。
注意事项
使用场景举例
- 商家可调用本接口向配送公司请求下配送单,配送公司会返回这一单的配送单号、配送费、预计骑手接单时间等信息。
- 如遇下单错误,请先确认一下编码方式,python建议 json.dumps(b, ensure_ascii=False),php建议 json_encode($arr, JSON_UNESCAPED_UNICODE) 可预约时间:达达:72小时内,闪送2小时以后,48小时以内。
调用方式
HTTPS 调用
POST https://api.weixin.qq.com/cgi-bin/express/local/business/order/add?access_token=ACCESS_TOKEN
第三方调用
- 调用方式以及出入参和HTTPS相同,仅是调用的token不同
- 该接口所属的权限集id为:51、71
- 服务商获得其中之一权限集授权后,可通过使用authorizer_access_token代商家进行调用
请求参数
属性 | 类型 | 必填 | 说明 | |
---|---|---|---|---|
access_token | string | 是 | 接口调用凭证,该参数为 URL 参数,非 Body 参数。使用getAccessToken 或者 authorizer_access_token | |
shopid | string | 是 | 商家id,由配送公司分配的appkey | |
shop_order_id | string | 是 | 唯一标识订单的 ID,由商户生成, 不超过128字节 | |
delivery_id | string | 是 | 配送公司ID | |
openid | string | 是 | 下单用户的openid | |
sender | object | 是 | 发件人信息,顺丰同城急送必须填写,美团配送、达达、闪送,若传了shop_no的值可不填该字段 | |
属性类型必填说明namestring是姓名,最长不超过256个字符citystring是城市名称,如广州市addressstring是地址(街道、小区、大厦等,用于定位)address_detailstring是地址详情(楼号、单元号、层号)phonestring是电话/手机号,最长不超过64个字符lngnumber是经度(火星坐标或百度坐标,和 coordinate_type 字段配合使用,确到小数点后6位latnumber是纬度(火星坐标或百度坐标,和 coordinate_type 字段配合使用,精确到小数点后6位)coordinate_typenumber否坐标类型,0:火星坐标(高德,腾讯地图均采用火星坐标) 1:百度坐标 | ||||
receiver | object | 是 | 收件人信息 | |
属性类型必填说明namestring是姓名,最长不超过256个字符citystring是城市名称,如广州市addressstring是地址(街道、小区、大厦等,用于定位)address_detailstring是地址详情(楼号、单元号、层号)phonestring是电话/手机号,最长不超过64个字符lngnumber是经度(火星坐标或百度坐标,和 coordinate_type 字段配合使用,确到小数点后6位latnumber是纬度(火星坐标或百度坐标,和 coordinate_type 字段配合使用,精确到小数点后6位)coordinate_typenumber否坐标类型,0:火星坐标(高德,腾讯地图均采用火星坐标) 1:百度坐标 | ||||
cargo | object | 是 | 货物信息 | |
属性类型必填说明goods_valuenumber是货物价格,单位为元,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-5000]goods_heightnumber否货物高度,单位为cm,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-45]goods_widthnumber否货物宽度,单位为cm,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-50]goods_lengthnumber否货物长度,单位为cm,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-65]goods_weightnumber是货物重量,单位为kg,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-50]goods_detailobject否货物详情,最长不超过10240个字符属性类型必填说明goodsarray | ||||
order_info | object | 是 | 订单信息 | |
属性类型必填说明delivery_service_codestring否配送服务代码 不同配送公司自定义, 顺丰和达达不填expected_delivery_timenumber否期望派单时间(达达支持,表示达达系统调度时间, 到那个时间才会有状态更新的回调通知),unix-timestamp, 比如1586342180order_typenumber否订单类型, 0: 即时单 1 预约单,如预约单,需要设置expected_delivery_time或expected_finish_time或expected_pick_timepoi_seqstring否门店订单流水号,建议提供,方便骑手门店取货,最长不超过32个字符notestring否备注,最长不超过200个字符order_timenumber否用户下单付款时间, 顺丰必填, 比如1555220757is_insurednumber否是否保价,0,非保价,1.保价declared_valuenumber否保价金额,单位为元,精确到分tipsnumber否小费,单位为元, 下单一般不加小费is_direct_deliverynumber否是否选择直拿直送(0:不需要;1:需要。选择直拿直送后,同一时间骑手只能配送此订单至完成,配送费用也相应高一些,闪送必须选1,达达可选0或1,其余配送公司不支持直拿直送)cash_on_deliverynumber否骑手应付金额,单位为元,精确到分cash_on_pickupnumber否骑手应收金额,单位为元,精确到分rider_pick_methodnumber否物流流向,1:从门店取件送至用户;2:从用户取件送至门店is_finish_code_needednumber否收货码(0:不需要;1:需要。收货码的作用是:骑手必须输入收货码才能完成订单妥投)is_pickup_code_needednumber否取货码(0:不需要;1:需要。取货码的作用是:骑手必须输入取货码才能从商家取货)expected_finish_timenumber否期望送达时间(美团、顺丰同城急送支持),unix-timestamp, 比如1586342180expected_pick_timenumber否期望取件时间(闪送、顺丰同城急送支持,闪送需要设置两个小时后的时间,顺丰同城急送只需传expected_finish_time或expected_pick_time其中之一即可,同时都传则以expected_finish_time为准),unix-timestamp, 比如1586342180 | ||||
shop | object | 是 | 商品信息,会展示到物流通知消息中 | |
属性类型必填说明wxa_pathstring否商家小程序的路径,建议为订单页面img_urlstring否商品缩略图 url;shop.detail_list为空则必传,shop.detail_list非空可不传。goods_namestring否商品名称, 不超过128字节;shop.detail_list为空则必传,shop.detail_list非空可不传。goods_countnumber否商品数量;shop.detail_list为空则必传。shop.detail_list非空可不传,默认取shop.detail_list的sizewxa_appidstring否该参数在【即使配送】的addOrder接口才生效。若结算方式为:第三方向配送公司统一结算,商户后续和第三方结算,则该参数必填;在该结算模式下,第三方用自己的开发小程序替授权商户发起下单,并将授权小程序的appid给平台,后续配送通知中可回流授权商户小程序。detail_listarray | ||||
delivery_token | string | 是 | 预下单接口返回的参数,配送公司可保证在一段时间内运费不变 | |
delivery_sign | string | 是 | 用配送公司提供的appSecret加密的校验串说明 | |
shop_no | string | 是 | 商家门店编号,在配送公司登记,如果只有一个门店,美团闪送必填, 值为店铺id | |
sub_biz_id | string | 否 | 子商户id,区分小程序内部多个子商户 | |
order_source | string | 否 | ||
order_sequence | string | 否 |
返回参数
属性 | 类型 | 说明 |
---|---|---|
resultcode | number | 运力返回的错误码 |
resultmsg | string | 运力返回的错误描述 |
fee | number | 实际运费(单位:元),运费减去优惠券费用 |
deliverfee | number | 运费(单位:元) |
couponfee | number | 优惠券费用(单位:元) |
tips | number | 小费(单位:元) |
insurancfee | number | 保价费(单位:元) |
distance | number | 配送距离(整数单位:米) |
waybill_id | string | 配送单号 |
order_status | number | 配送状态。详见order_status 枚举值 |
finish_code | number | 收货码 |
pickup_code | number | 取货码 |
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",
"delivery_token": "xxxxxxxx"
}
返回数据示例
{
"resultcode": 0,
"resultmsg": "ok",
"fee": 10,
"deliverfee": 10,
"couponfee": 0,
"tips": 0,
"insurancfee": 0,
"distance": 1000,
"waybill_id": "123456789",
"order_status": 101,
"finish_code": 1024,
"pickup_code": 2048,
"dispatch_duration": 300
}
示例说明: HTTPS调用失败实例
请求数据示例
同上
返回数据示例
{
"resultcode": 1010,
"resultmsg": "收件人信息不正确"
}
错误码
错误码 | 错误码取值 | 解决方案 |
---|---|---|
40001 | invalid credential access_token isinvalid or not latest | 获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口 |