用户调用该接口可实现自己联系发货(线下物流),使用该接口发货,交易订单状态会直接变成卖家已发货。不支持货到付款、在线下单类型的订单。
名称 | 类型 | 是否必须 | 示例值 | 更多限制 | 描述 |
---|---|---|---|---|---|
cancel_id | Number | 可选 | 123456 | 卖家联系人地址库ID,可以通过taobao.logistics.address.search接口查询到地址库ID。 如果为空,取的卖家的默认退货地址 | |
company_code | String | 必须 | POST | 物流公司代码.如"POST"就代表中国邮政,"ZJS"就代表宅急送.调用 taobao.logistics.companies.get 获取。 | |
feature | String | 可选 | identCode=tid:aaa,bbb;machineCode=tid2:aaa;retailStoreId=12345;retailStoreType=STORE | feature参数格式 范例: identCode=tid1:识别码1,识别码2|tid2:识别码3;machineCode=tid3:3C机器号A,3C机器号B identCode为识别码的KEY,machineCode为3C的KEY,多个key之间用”;”分隔 “tid1:识别码1,识别码2|tid2:识别码3”为identCode对应的value。 "|"不同商品间的分隔符。 例1商品和2商品,之间就用"|"分开。 TID就是商品代表的子订单号,对应taobao.trade.fullinfo.get 接口获得的oid字段。(通过OID可以唯一定位到当前商品上) ":"TID和具体传入参数间的分隔符。冒号前表示TID,之后代表该商品的参数属性。 "," 属性间分隔符。(对应商品数量,当存在一个商品的数量超过1个时,用逗号分开)。 具体:当订单中A商品的数量为2个,其中手机串号分别为"12345","67890"。 参数格式:identCode=TIDA:12345,67890。 TIDA对应了A宝贝,冒号后用逗号分隔的"12345","67890".说明本订单A宝贝的数量为2,值分别为"12345","67890"。 当存在"|"时,就说明订单中存在多个商品,商品间用"|"分隔了开来。|"之后的内容含义同上。retailStoreId=12345,发货门店ID或仓信息。retailStoreType=STORE: 发货门店类别,STORE表示门店,WAREHOUSE表示电商仓。对于全渠道订单回传的商家,retailStoreId和retailStoreType字段为必填字段。 | |
is_split | Number | 可选 | 0 | 表明是否是拆单,默认值0,1表示拆单 | |
out_sid | String | 必须 | 123456789 | 运单号.具体一个物流公司的真实运单号码。淘宝官方物流会校验,请谨慎传入; | |
seller_ip | String | 可选 | 192.168.1.10 | 商家的IP地址 | |
sender_id | Number | 可选 | 123456 | 卖家联系人地址库ID,可以通过taobao.logistics.address.search接口查询到地址库ID。如果为空,取的卖家的默认取货地址 | |
sub_tid | Number [] | 可选 | 1,2,3 |
|
需要拆单发货的子订单集合,针对的是一笔交易下有多个子订单需要分开发货的场景;1次可传人多个子订单号,子订单间用逗号隔开;为空表示不做拆单发货。 |
tid | Number | 必须 | 123 | 淘宝交易ID |
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
shipping | Shipping | 自己联系的调用结果 | |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 | TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret); LogisticsOfflineSendRequest req = new LogisticsOfflineSendRequest(); req.setCancelId(123456L); req.setCompanyCode( "POST" ); req.setFeature( "identCode=tid:aaa,bbb;machineCode=tid2:aaa;retailStoreId=12345;retailStoreType=STORE" ); req.setIsSplit(0L); req.setOutSid( "123456789" ); req.setSellerIp( "192.168.1.10" ); req.setSenderId(123456L); req.setSubTid( "1,2,3" ); req.setTid(123L); LogisticsOfflineSendResponse rsp = client.execute(req, sessionKey); System.out.println(rsp.getBody()); |
1 2 3 4 5 | < logistics_offline_send_response > < shipping > < is_success >true</ is_success > </ shipping > </ logistics_offline_send_response > |
1 2 3 4 5 6 | < error_response > < code >50</ code > < msg >Remote service error</ msg > < sub_code >isv.invalid-parameter</ sub_code > < sub_msg >非法参数</ sub_msg > </ error_response > |
错误码 | 错误描述 | 解决方案 |
---|---|---|
isv.logistics-offline-service-error:B01 | 物流订单不存在 | 调用发货接口前要先判断tid是不是属于自身的tid,并且需要判断tid是否存在,最好用搜索出来的tid列表里面的数据传入。 |
isv.logistics-offline-service-error:B02 | 没有权限进行发货 | 在发货前要判断好订单的状态,只有交易存在、属于自己、并且是等待卖家发货的才能发,其余的状态无需调用这个接口。 |
isv.logistics-offline-service-error:B04 | 订单状态不对 | 1.遇到isv开头的错误不要在程序重试; 2.建议在发货前先调用交易API如:taobao.trade.fullinfo.get来查询这个订单的状态,根据订单状态再做相应的处理,避免状态为已发货订单进行重复发货 |
isv.logistics-offline-service-error:B53 | 没有发货类型,不能发货 | 在前端对发货类型是否传入做好校验,没有传入order_type的不允许其发货。 |
isv.logistics-offline-service-error:B56 | 没有选择物流公司 | 在前端对是否选择物流公司(company_code)做好校验,没有选择company_code的不允许其发货。 |
isv.logistics-offline-service-error:B59 | 运单号为空 | 在前端对是否填写运单号(out_sid)进行校验,没有传入out_sid不允许其发货。 |
isv.logistics-offline-service-error:B60 | 运单号不符合规则 | 每个物流公司都有特定的运单号规则,参照该运单号规则在前端对运单号是否符合对应的规则进行校验,不符合规则的不允许其发货。 |
isv.invalid-parameter | 参数无效,格式不对、非法值、越界等 | 请对照参数表 |
isv.logistics-offline-service-error:B98 | 发货类型不匹配 | 确认发货类型 |
isv.logistics-offline-service-error:P01 | 参数为空 | 必填参数为空,如tid为空,请确保传入的必选参数不为空,请对照参数表 |
isv.logistics-offline-service-error:B101 | 地址库不存在或该地址库不属于当前用户 | 可以通过此接口查询地址库taobao.logistics.address.search |
isv.logistics-offline-service-error:P03 | 没有用户ID | 检查用户是否登录,或session过期 |
isv.logistics-offline-service-error:B27 | 已生成发货单 | 已经生成发货单的订单不能发货 |
isv.logistics-offline-service-error:B58 | 物流公司名称过长 | 物流公司名称过长,长度在20个字符 |
isv.logistics-offline-service-error:B57 | 该物流公司不支持自己联系 | 该物流公司不支持自己联系,通过taobao.logistics.companies.get查询支持自已联系的物流公司 |
isv.logistics-offline-service-error:B55 | 该交易状态不正确,不能发货 | 建议在发货前先调用交易API如:taobao.trade.fullinfo.get来查询这个订单的状态,根据订单状态再做相应的处理,避免状态为已发货订单进行重复发货 |
isv.logistics-offline-service-error:B109 | 对不起,您尚未成功订购E速宝物流服务 | 订购E速宝服务 |
isv.logistics-offline-service-error:B110 | 对不起,该订单超出了E速宝的服务范围,请联系小二处理 | 检查收货地址和发货地址 |
isv.logistics-offline-service-error:P25 | top 接口不允许对拆单订单操作 | top 接口不允许对拆单订单进行操作 |
isv.logistics-offline-service-error:F | 运单号被识别为假,无法发货 | 请使用正确的运单号 |
isv.logistics-offline-service-error:F01 | 您填写的运单号已经过期无效,不允许用此物流运单号发货 | 请使用正确的运单号 |
isv.logistics-offline-service-error:F02 | 您此笔交易订单付款时间晚于快递公司揽收时间,此物流运单号不能使用 | 请使用正确的运单号 |
isv.logistics-offline-service-error:F03 | 您此笔交易订单收货人地址信息与快递公司签收地址信息不匹配,此物流运单号不能使用 | 请使用正确的运单号 |
isv.logistics-offline-service-error:F04 | 运单号已被使用,当前订单非真, 此物流单号不能使用 | 请使用正确的运单号 |
isv.logistics-offline-service-error:F05 | 您填写的运单号已被使用,不允许用此物流运单号发货 | 请使用正确的运单号 |
isv.logistics-offline-service-error:F06 | 您的收货人信息与发货人信息一致,不允许发货 | 请确认信息 |
isv.logistics-offline-service-error:CD25 | 拆单标记 和子订单列表两者必须都填或者都不填 | 拆单标记 和子订单列表两者必须都填或者都不填 |
isv.logistics-offline-service-error:CD26 | 子订单交易号为空 | 当传递isSplit 为1后,必须传递该订单下的子订单交易号。 |
isv.logistics-offline-service-error:CD22 | 订单已拆单,必须传入子交易号列表 | 这个是已经被拆单的,操作这个订单发货时,必须带有子订单列表 |
isv.logistics-offline-service-error:CD23 | 订单已拆单,请走拆单逻辑 | 订单已拆单,必须传入issplit和子订单列表 |
isv.logistics-offline-service-error:CD24 | 当前操作的订单是拆单订单,拆单标记和子订单列表都必须传递 | 当前操作的订单是拆单订单,拆单标记和子订单列表都必须传递 |
isv.logistics-offline-service-error:CD27 | 订单已经被拆单,isSplit 必须是1 | 订单已经被拆单,isSplit 必须是1 |
isv.logistics-offline-service-error:CD28 | 接入拆单异常 | 拆单逻辑未知错误,请确认发货参数 |
isv.logistics-offline-service-error::B05 | 未查到物流订单 | 未查到物流订单,请确认参数后重试 |
isv.logistics-offline-service-error:CD29 | 当前操作的订单不是拆单订单,拆单标记和子订单列表都不能带入 | 当前操作的订单不是拆单订单,拆单标记和子订单列表都不能带入 |
isv.logistics-offline-service-error:B06 | 子订单号没有精确匹配 | 传入的子订单交易号必须完全匹配物流包裹中的子订单 |
isv.logistics-offline-service-error:CD30 | 输入的用户Id或交易订单号不正确,未查到交易订单 | 请输入正确的用户ID和交易订单号 |
isv.logistics-offline-service-error:CD31 | 非拆单订单的物流订单数不等于1 | 请联系淘宝物流开发 |
isv.logistics-offline-service-error:P02 | 物流订单不存在 | sessionkey 对应的nick 和订单(tid) 对应nick 不一致导致报错,调用发货接口前要先判断tid是不是属于卖家自身的tid 。 |
isv.logistics-offline-service-error:P38 | 拆单校验未通过 | 检查拆单发货时参数,确认相关参数正确 |
isv.logistics-offline-service-error:P22 | feature 参数格式不对。 | 对照文档的示例检查 feature 参数 ,按文档说明确认正确后重试。 |
isp.logistics-online-service-error:S01 | 系统异常 | 1、先检查是参数是否正确。如company_code传人了out_sid(运单号);订单号(tid)和sessionkey 对应的不是同一个卖家等 。2、若参数无误,报错后可稍等后重试1次 。 |
isv.invalid-parameter:seller_nick:P17 | 非法的nick,无权查询 | 入参时tid 和sessionkey 对应的卖家nick 不是同一个导致, 确认一致后重试 |
isv.logistics-offline-service-error:B150 | 发货异常,请稍等后重试 | |
isv.logistics-offline-service-error:B52 | 物流公司不存在或被禁用 | 一般是发货时,非淘宝合作物流公司,company_code 传人other等英文字符导致 。发货时如非淘宝合作物流公司,请直接输入物流公司名称,不能填other |
isv.logistics-offline-service-error:B105 | 发货使用物流公司不支持 | 部分物流公司被清退导致(详细可参考http://bbs.taobao.com/catalog/thread/567766-317065096.htm?spm=0.0.0.0.ReLZOb),更换其它物流公司发货 |
isv.logistics-offline-service-error:AT0011 | 物流订单状态不为新建状态,无需发货处理 | 发货时检查订单状态,已发货订单不要重复发货,仅对待发货的订单发货。 |
isv.logistics-offline-service-error:AT0112 | 物流的订单状态为关闭状态,无需发货 | 发货时检查订单状态,非等待发货状态,无需发货 |
isv.logistics-offline-service-error:B02(CD04) | 没有权限进行发货 | 在发货前要判断好订单的状态,只有交易存在、属于自己、并且是等待卖家发货的才能发,其余的状态无需也不能调用这个接口。 |
isv.logistics-offline-service-error:CD86 | 您的订单无法通过此接口进行发货操作 | 请联系淘宝小二进行咨询 |
B60 | 运单号不符合规则或已经被使用 | 每个物流公司都有特定的运单号规则,参照该运单号规则在前端对运单号是否符合对应的规则进行校验,不符合规则的不允许其发货。 |
B150 | 发货异常,请稍等后重试 | 发货异常,请稍等后重试,如果一直失败请联系平台技术 |
B01 | 物流订单不存在 | 调用发货接口前要先判断tid是不是属于自身的tid,并且需要判断tid是否存在,最好用搜索出来的tid列表里面的数据传入。 |
CD06 | 推荐物流的订单状态为关闭状态,无需发货处理 | 推荐物流的订单状态为关闭状态,无需发货处理 |
CD08 | 无效的联系人 | 无效的联系人,请检查发货人相关信息,如手机号码,电话等 |
CD68 | 该物流单号为无法识别或快递公司未同平台对接 | 该物流单号为无法识别或快递公司未同平台对接 |
BN02 | 为了保障消费者及时便捷地查询商品物流信息,平台正在规范商家销售及发货流程,无法选择【其他】物流公司发货,避免商家因无物流数据产生消费者咨询/订单退款/平台处罚等问题。 | 为了保障消费者及时便捷地查询商品物流信息,平台正在规范商家销售及发货流程,无法选择【其他】物流公司发货,避免商家因无物流数据产生消费者咨询/订单退款/平台处罚等问题。 |
BN03 | 信息错误,如companycode信息包含中文等,请核实后重新填写。 | 信息错误,如companycode信息包含中文等,请核实后重新填写。 |
CD69 | 该物流公司不支持这种服务 | 该物流公司不支持这种服务 |
CD74 | 未找到该淘系订单 | 请确认该套系订单是否正确 |
CONSIGN_FUZZY_QUERY_SUB_ORDER_MATCH_NO | 传入的子订单交易号必须完全匹配物流包裹中的子订单,请检查子交易ID是否一致 | 传入的子订单交易号必须完全匹配物流包裹中的子订单,请检查子交易ID是否一致 |
CD01 | 系统错误 | 如果长时间一直出现,请联系平台技术,并提供api请求的requestId |
CD25 | 订单空校验,全量订单收货地址为空 | 订单空校验,全量订单收货地址为空,请确认收货地址 |
CONSIGN_FUZZY_QUERY_ORDER_ERROR | 查询订单系统出现异常,请重试 | 如果长时间一直出现,请联系平台技术,并提供api请求的requestId |
B05 | 拆单失败 | 拆单失败 |
CD24 | 订单空校验,全量订单的订单商品列表为空 | 订单空校验,全量订单的订单商品列表为空 |
CD04 | 没有权限进行发货 | 没有权限进行发货,请确认订单状态 |
CD17 | 拆单校验未通过 | 拆单校验未通过 |
CD28 | 收货人市信息不能为空 | 收货人市信息不能为空 |
DCP_ESB_SERVICE_NOT_SUB | 对不起,您尚未成功订购E速宝物流服务 | 对不起,您尚未成功订购E速宝物流服务。需要订购服务 |
CONSIGN_QUERY_ORDER_IS_NULL | 获取物流订单为空 | 获取物流订单为空 |
CD11 | 系统错误,获取物流订单数据失败 | 如果长时间一直出现,请联系平台技术,并提供api请求的requestId |
CD07 | 物流订单状态不为新建状态,无需发货处理 | 物流订单状态不为新建状态,无需发货处理 |