# 订单发货
接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南
接口英文名:senddelivery
可通过该接口对订单发货
相关事件通知:
# 1. 调用方式
# HTTPS 调用
POST https://api.weixin.qq.com/channels/ec/order/delivery/send?access_token=ACCESS_TOKEN
# 云调用
调用方法:channels.ec.order.delivery.send
出入参和 HTTPS 调用相同,调用方式可查看 云调用 说明文档
# 第三方调用
本接口支持第三方平台代商家调用。
该接口所属的权限集 id 为:131
服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。
# 2. 请求参数
# 查询参数 Query String parameters
参数名 | 类型 | 必填 | 示例 | 说明 |
---|---|---|---|---|
access_token | string | 是 | ACCESS_TOKEN | 接口调用凭证,可使用 access_token、authorizer_access_token |
# 请求体 Request Payload
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
order_id | number | 是 | 订单id |
delivery_list | objarray | 是 | 物流信息 |
# Body.delivery_list(Array) Object Payload
物流信息
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
waybill_id | string | 否 | 快递单号,deliver_type=1时必填 |
delivery_id | string | 否 | 快递公司id,通过获取快递公司列表接口获得,非主流快递公司可以填OTHER,deliver_type=1时必填 |
product_infos | objarray | 是 | 包裹中的商品信息 |
deliver_type | number | 是 | 发货方式,1:自寄快递发货,3:虚拟商品无需物流发货(只有deliver_method=1的订单可以使用虚拟发货) |
course_info | object | 否 | 课程相关信息 |
sn_info | object | 否 | 国补SN码信息,国补订单一定要有SN码才能发货 |
# Body.delivery_list(Array).product_infosObject Payload
Object Payload
包裹中的商品信息
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
product_id | string | 是 | 商品id |
sku_id | string | 是 | 商品sku |
product_cnt | number | 是 | 商品数量 |
# Body.delivery_list(Array).course_info Object Payload
课程相关信息
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
start_time | number | 否 | 课程开始时间,时间戳 |
end_time | number | 否 | 课程结束时间,时间戳 |
course_path | object | 是 | 课程地址 |
# Body.delivery_list(Array).course_info.course_path Object Payload
课程地址
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | number | 是 | 课程地址类型,0:小程序地址 |
wxa_appid | string | 是 | 小程序appid |
wxa_path | string | 是 | 小程序地址 |
# Body.delivery_list(Array).sn_info Object Payload
国补SN码信息,国补订单一定要有SN码才能发货
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
sn_code | string | 是 | 国补SN码 |
imei1 | string | 否 | IMEI码 |
imei2 | string | 否 | IMEI码 |
# 3. 返回参数
# 返回体 Response Payload
参数名 | 类型 | 示例 | 说明 |
---|---|---|---|
errcode | number | 0 | 错误码 |
errmsg | string | ok | 错误信息 |
# 4. 注意事项
已经完成售后的商品不能进行发货,虚拟商品必须整单发货。
# 5. 代码示例
# 5.1 普通快递发货
请求示例
{
"order_id": "123456",
"delivery_list": [
{
"delivery_id": "YD",
"waybill_id": "23424324253",
"deliver_type": 1,
"product_infos": [
{
"product_cnt": 1,
"product_id": "12345",
"sku_id": "678910"
}
]
}
]
}
返回示例
{
"errcode": 0,
"errmsg": "ok"
}
# 5.2 课程发货
请求示例
{
"order_id": "123456",
"delivery_list": [
{
"deliver_type": 3,
"product_infos": [
{
"product_cnt": 1,
"product_id": "12345",
"sku_id": "678910"
}
],
"course_info" :{
"start_time" : 1675180800,
"end_time" : 1675958400,
"course_path" : {
"type" : 0,
"wxa_appid" : "wxabcdes",
"wxa_path" : "path"
}
}
}
]
}
返回示例
{
"errcode": 0,
"errmsg": "ok"
}
# 6. 错误码
以下是本接口的错误码列表,其他错误码可参考 通用错误码
错误码 | 错误描述 | 解决方案 |
---|---|---|
40097 | 请求体参数不正确,请检查各个参数是否按规范填写,具体原因请查看errmsg | |
47001 | 请求体格式不正确,请检查请求体中各个参数的类型是否正确 | |
48001 | 无权调用本api,请检查相关权限是否已开通 | |
100002 | 订单不存在 | |
100003 | 订单更新过于频繁,更新订单失败,请重试 | |
101100 | 当前订单状态不允许发货,请检查订单状态 | |
108009 | 当前订单有未完成售后单,不允许发货 | |
109000 | 发货失败,请检查 errmsg 中返回的商品是否正确填写,包括订单中是否包含该商品,该商品是否已经发货,是否已经完成售后无法发货,以及商品数量是否填写正确等 | |
109001 | 当前订单已经发货完成,不能重复发货 | |
109002 | 当前发货请求里没有带上发货商品,请检查product_infos和is_all_product是否按规范填写 | |
109205 | 当前订单已经下单在线物流单,不允许自寄发货 | |
606003 | 商家没有默认退货地址,不可发货,请设置默认退货地址后再进行发货 | |
606004 | delivery_id不合法,请使用【获取物流公司列表】接口获取合法的delivery_id | |
606005 | waybill_id不合法,请检查快递单号是否正确填写 | |
606008 | deliver_type不符合要求,普通订单请使用快递发货,虚拟商品订单请无需物流发货,请检查订单deliver_method | |
606031 | 发货请求里product_id或sku_id填写不正确,请检查订单中是否包含该商品 | |
606034 | 请前往平台服务-商品质检菜单,开通质检服务后走质检发货流程 | |
606036 | 带有课程链接的包裹里只能包含一个sku | |
606037 | 该sku不是课程商品,不能填写课程信息 | |
606038 | 课程链接appid或小程序地址为空 | |
606045 | 应平台管控要求,请使用【上传生鲜质检信息】接口上传商品打包信息 | |
606046 | 请使用电子面单发货 | |
606048 | 核销信息有误,小程序appid或path为空 | |
606049 | 当前订单存在风险,请先不要发货等待平台进一步的通知 | |
606051 | 虚拟商品必须整单发货 | |
606060 | 国补订单需要sn码 | |
606061 | 国补订单只能用特定的快递公司 | |
6060479 | 快递单号与物流公司提供的正则表达式不匹配 | |
10020115 | 用户申请修改收货地址,请商家处理完毕之后再发货 | |
10020276 | 存在发货前更换sku请求,请商家处理后再发货 | |
268545000 | 快递公司不支持国补 | |
268545001 | 订单ID和面单的取号的商品id不匹配 | |
268545002 | 电子面单中的商品订单信息无效 | |
268545003 | 商品SKU不匹配 | |
268545004 | 商品国补信息不存在 | |
268545005 | 国补商品不支持组合打单 | |
268545006 | 国补不支持多sku | |
268545007 | 订单商品不唯一 | |
268545008 | 国补订单参数错误 | |
268545009 | 国补锁sn码失败,可以重试 | |
268545010 | 国补sn码被其他平台锁定 | |
268545011 | 国补sn码被其他订单锁定 | |
268545012 | 国补sn码锁定参数错误,可以检查SN码/IMEI码等信息 | |
268545013 | 国补sn码锁定失败,其他逻辑错误 | |
268545014 | 商品分类不支持国补 | |
268545015 | 国补sn码不存在 |
# 7. 适用范围
本接口支持「微信小店」账号类型调用。其他账号类型如无特殊说明,均不可调用。