文档中心 > 基础技术

物流发货

更新时间:2023/03/31 访问次数:651425

一、基础发货逻辑


对于实物类商品,消费者付款以后需要商家线下物流发货。

1. 订单状态为“买家已付款等待卖家发货状态”,这时卖家可以进行订单发货,生成运单号后,通过物流接口回传运单号和物流公司信息,接口调用成功平台系统会推进交易订单状态进入卖家已发货状态,消费者也能在卖家中心查看到物流单号信息。

2. 并不是所有订单都需要发货,一般实物类商品需要通过物流发货送到消费者,其他类型订单是否需要发货以及发货方式以各行业类目要求为准。

3. 平台官方支持的物流公司可通过接口获取,如使用的物流公司不在枚举值内,可以使用 “code:OTHER” 进行发货处理。


二、相关API


 API名称  描述
 taobao.logistics.online.send  在线订单发货处理(支持货到付款)
alibaba.ascp.logistics.offline.send

新版自己联系物流(线下)发货接口,新版物流发货接口支持一单多包裹

taobao.logistics.online.confirm  确认发货通知接口(未传入运单号补偿使用)
taobao.logistics.companies.get 获取物流公司信息
alibaba.ascp.logistics.consign.resend 新版修改已发货订单物流信息接口


三、整单发货场景

第一步:获取待发货的订单


调用taobao.trades.sold.get,入参加入status=” WAIT_SELLER_SEND_GOODS”,可以搜索出来所有待发货的订单,如下图。


image.png


第二步:判断子订单是否已关闭或退款


通过订单查询接口查询子订单状态 或者 查询RDS订单推送中交易订单状态。

第一种情况:如果子订单中存在已关闭的订单(即orders.status=” TRADE_CLOSED”),则需要用户在自己本地的 ERP系统中标记一下该子订单中的商品,防止在发货的时候,仍然把该笔子订单对应的货物发给买家;

第二种情况:如果子订单中存在正在退款的订单(即orders.refund_status=” WAIT_SELLER_AGREE”),该订单需要 等待退款完成后,再发货;否则发货的时候,就会默认成为卖家拒绝退款

除以上基础步骤外,为保障最大化的数据准确性,减少因数据同步不及时导致的仓储&履约损失。针对退款数据的校验方案请参见:退款数据处理方案


第三步:发货处理


调用 alibaba.ascp.logistics.offline.sendtaobao.logistics.online.send 对订单进行发货。这两个接口仅是发货方式的区别,前者为自行联系物流发货,后者为在线下单。

1)当订单是货到付款订单时(即type=”cod”,交易接口查询得到),只能调用taobao.logistics.online.send进行发货处理 。

2)company_code 为物流公司代码,可通过 taobao.logistics.companies.get  获取。 

3)无需物流订单只能用虚拟发货处理:taobao.logistics.dummy.send (无需物流(虚拟)发货处理),订单是否需要虚拟发货,可以通过接口 taobao.trade.fullinfo.get(获取单笔交易的详细信息) shipping_type字段进行判断。

4)时效保障(is_lgtype),一口价订单只能走线下发货:alibaba.ascp.logistics.offline.send( 自己联系物流发货 )

5)家装物流订单只能用家装物流发货: taobao.wlb.order.jz.consign (家装发货接口) ,判断订单是否为家装订单,调用 taobao.trade.fullinfo.get 接口,入参父字段 service_orders(服务子订单列表),根据返回其子字段 tmser_spu_code(家装干支装服务)判断。

若为下列其中之一,即为家装订单:(家装干线服务");("家装干支服务");("家装干支装服务");("卫浴大件干线");("卫浴大件干支");("卫浴大件安装");("地板干线");("地板干支");("地板安装");("灯具安装");("卫浴小件安装");//618新增8类16种("集成吊顶大件干线")("集成吊顶大件干支")("集成吊顶大件安装")("涂料干线")("瓷砖干线")("油漆干线")("涂料干支")("瓷砖干支")("油漆干支")("涂料安装")("瓷砖安装")("油漆安装")("浴霸安装")("墙纸安装")("电子门锁安装")("集成吊顶小件安装")

6)海外集运订单不能用无需物流发货:taobao.wlb.import.threepl.offline.consign( 3PL直邮线下发货 )

7)保税订单商家不需要自己发货,仓库会发货的。

8)taobao.logistics.online.confirm 非发货API ,仅在使用 taobao.logistics.online.send 发货未输入运单号out_sid的前提下需要使用

9)如拆单发货,除tid、out_sid、company_code 3参数外,还需加sub_tid 和 is_split 两个参数 。sub_tid 表示子订单号(即oid),查询订单时可获取,is_split 输入1表示拆单。

 

四、拆单/子订单发货场景

1. 业务流程


image.png


2. 实施方案


1)接口调用逻辑

taobao.logistics.online.send( 在线订单发货处理(支持货到付款))

alibaba.ascp.logistics.offline.send( 自己联系物流发货 )

如果需要拆单发货 ,入参传入 sub_tid (需要拆单发货的子订单集合,针对的是一笔交易下有多个子订单需要分开发货的场景;1次可传人多个子订单号,子订单间用逗号隔开;为空表示不做拆单发货) 。 


2)订单管理的影响

① 拆单发货的订单比普通订单增加了部分发货的状态SELLER_CONSIGNED_PART和是否为多笔订单的标示为is_part_consign

需要开发者注意的是:

a. 为了防止开发者漏单,搜索“未发货订单”会把“部分发货”的订单也搜索出来,需要开发者对返回订单的is_part_consign做判断;

b. 消息服务 中,子订单也会单独的发送消息,希望开发者关注;

c. 关联子订单号(bind_oid),这些关联子订单要和当前子订单放在一起发货,才能发货成功。比如:你在页面买了一台电脑,同时赠送了一个3年质保服务。质保服务就是这台电脑的关联子订单。质保服务要电脑一起发货的。

② 子订单独立的物流及关联信息,包含bind_oid(关联子订单号),consign_time(发货时间),shipping_type(发货类型),logistics_company(物流公司),invoice_no(子订单运单号),ERP根据需要做单独处理。


3)发货管理的影响

① 物流发货必须要传入父子订单和拆单标示;

② 物流单查询和物流流转信息的查询必须传入父子订单号;

③ taobao.logistics.dummy.send(无需物流(虚拟)发货处理)不支持拆单发货。

 

FAQ

当前订单不允许用其他物流公司发货

返回
顶部