全部
淘宝
拼多多
抖音
京东
快手
当当
1688
淘工厂
小红书
有赞
微店
在线测试

自己联系物流(线下物流)发货


接口地址: http://api.vv-tool.com/tool/erps/send


接口介绍: 对订单做发货处理,主要是自己的联系快递公司(线下物流)发货 点击查看详情


必须用户授权 : 需要用户的授权,才能拿到被授权的数据


请求方式: POST


返回格式: JSON


接口收费: 扣账户余额


频率限制: 10 次/秒


请求头参数

参数 类型 必选 示例
Authorization string 授权 access_token Bearer 1798c6aadec33d1bc2f5b707f1049aefexxxx

请求参数

名称 类型 必须 示例值 描述
sub_tid string false 1,2,3 需要拆单发货的子订单集合,针对的是一笔交易下有多个子订单需要分开发货的场景;1 次可传人多个子订单号,子订单间用逗号隔开;为空表示不做拆单发货。
shop_id String true 123456789 店铺 ID
tid Number true 123 淘宝交易 ID
is_split Number false 0 表明是否是拆单,默认值 0,1 表示拆单
out_sid String true 123456789 运单号。具体一个物流公司的真实运单号码。淘宝官方物流会校验,请谨慎传入;
company_code String true POST 物流公司代码。如"POST"就代表中国邮政,"ZJS"就代表宅急送。 快递简称快递简写列表
sender_id Number false 123456 卖家联系人地址库 ID,可以通过 taobao.logistics.address.search 接口查询到地址库 ID。如果为空,取的卖家的默认取货地址
cancel_id Number false 123456 卖家联系人地址库 ID,可以通过 taobao.logistics.address.search 接口查询到地址库 ID。 如果为空,取的卖家的默认退货地址
feature String false identCode=tid:aaa,bbb 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 字段为必填字段。
vvtype int false 普通版 1,不传默认 1,增强版 2,增强版的需要传参 2,标准版 3,需要标准版的传 3,减版 4,需要减版的传 4

请求示例

tid:123
out_sid:123456789
company_code:POST
shop_id:1234567

请求代码示例

cURL请求代码示例
curl --location --request POST "http://api.vv-tool.com/tool/erps/send" \
--header "Authorization: Bearer 73a1e6f00198e0c43215505dcf6e31a61be8daad" \
--header "Cookie: __yjs_duid=1_dee3bfba5b90592372d209eda95c772a1616035269331; PHPSESSID=eg6rdq9svo8iisp0qdn8de28ds; _csrf=28d4b1b6a1a8187c94992e5c050d1d0c86b827c40735e28f2ae103584e094711a%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%2252FhR6NNpbAyiE0zgVtqOXqPgIGWS7QY%22%3B%7D" \
--form "tid="123"" \
--form "out_sid="123456789"" \
--form "company_code="POST"" \
--form "shop_id="1234567""

PHP请求代码示例
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.vv-tool.com/tool/erps/send",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => array("tid" => "123","out_sid" => "123456789","company_code" => "POST","shop_id" => "1234567"),
  CURLOPT_HTTPHEADER => array(
    "Authorization: Bearer 73a1e6f00198e0c43215505dcf6e31a61be8daad",
    "Cookie: __yjs_duid=1_dee3bfba5b90592372d209eda95c772a1616035269331; PHPSESSID=eg6rdq9svo8iisp0qdn8de28ds; _csrf=28d4b1b6a1a8187c94992e5c050d1d0c86b827c40735e28f2ae103584e094711a%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%2252FhR6NNpbAyiE0zgVtqOXqPgIGWS7QY%22%3B%7D"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;


JAVA请求代码示例
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
  .addFormDataPart("tid","123")
  .addFormDataPart("out_sid","123456789")
  .addFormDataPart("company_code","POST")
  .addFormDataPart("shop_id","1234567")
  .build();
Request request = new Request.Builder()
  .url("http://api.vv-tool.com/tool/erps/send")
  .method("POST", body)
  .addHeader("Authorization", "Bearer 73a1e6f00198e0c43215505dcf6e31a61be8daad")
  .addHeader("Cookie", "__yjs_duid=1_dee3bfba5b90592372d209eda95c772a1616035269331; PHPSESSID=eg6rdq9svo8iisp0qdn8de28ds; _csrf=28d4b1b6a1a8187c94992e5c050d1d0c86b827c40735e28f2ae103584e094711a%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%2252FhR6NNpbAyiE0zgVtqOXqPgIGWS7QY%22%3B%7D")
  .build();
Response response = client.newCall(request).execute();

响应参数

参数 类型 描述
url string url
code int 错误码 0 为成功
msg string 返回码描述
msec int 接口执行时间
time int 接口返回时间
success Boolean 返回发货是否成功。
withholding_money int 该接口扣费金额(点券)

返回数据

{
  "code": 0,
  "msg": "成功",
  "msec": 1193,
  "time": 1612416107,
  "data": [
    {
      "withholding_money": 1,
      "success": true
    }
  ]
}

响应代码

代码 代码描述 解决方案
0 成功
100 请求参数错误 检查您的请求参数是否正确
101 请求超时,请重试 检查您的网络情况或者联系客服解决
103 旺旺账号不存在 检查您输入的旺旺号是否正确
200 系统错误,请联系客服 检查您的接口地址填写是否正确,其他问题联系客服解决
202 系统错误,请稍后再试 稍后重试,或者联系对接群
203 暂不支持当前接口
204 请求异常:无该接口权限,请前往官网开通正式接口。 前往官网开通该接口权限
204 请求异常:API 调用次数不足,请前往网站兑换次数。 前往官网充值该接口调用次数
302 未授权店铺 根据返回链接进行扫码授权
401 身份凭证无效 在请求头中添加 access_token,重新更新 token
404 请求路径或请求方式错误 请更换请求方式或者检查路径是否正确
614 物流订单不存在 调用发货接口前要先判断 tid 是不是属于自身的 tid,并且需要判断 tid 是否存在,最好用搜索出来的 tid 列表里面的数据传入。
614 没有权限进行发货 在发货前要判断好订单的状态,只有交易存在、属于自己、并且是等待卖家发货的才能发,其余的状态无需也不能调用这个接口。
614 订单状态不对 1.遇到 isv 开头的错误不要在程序重试; 2.建议在发货前先调用交易 API 如:taobao.trade.fullinfo.get 来查询这个订单的状态,根据订单状态再做相应的处理,避免状态为已发货订单进行重复发货
614 没有选择物流公司 在前端对是否选择物流公司(company_code)做好校验,没有选择 company_code 的不允许其发货。
614 运单号为空 在前端对是否填写运单号(out_sid)进行校验,没有传入 out_sid 不允许其发货。
614 运单号不符合规则或已经被使用 每个物流公司都有特定的运单号规则,参照该运单号规则在前端对运单号是否符合对应的规则进行校验,不符合规则的不允许其发货。
614 参数无效,格式不对、非法值、越界等 请对照参数表
614 参数为空 必填参数为空,如 tid 为空,请确保传入的必选参数不为空,请对照参数表
614 地址库不存在或该地址库不属于当前用户 可以通过此接口查询地址库 taobao.logistics.address.search
614 没有用户 ID 检查用户是否登录,或 session 过期
614 已生成发货单 已经生成发货单的订单不能发货
614 物流公司名称过长 物流公司名称过长,长度在 20 个字符
614 该物流公司不支持自己联系 该物流公司不支持自己联系,通过 taobao.logistics.companies.get 查询支持自已联系的物流公司
614 该交易状态不正确,不能发货 建议在发货前先调用交易 API 如:taobao.trade.fullinfo.get 来查询这个订单的状态,根据订单状态再做相应的处理,避免状态为已发货订单进行重复发货
614 对不起,您尚未成功订购 E 速宝物流服务 订购 E 速宝服务
614 对不起,该订单超出了 E 速宝的服务范围,请联系小二处理 检查收货地址和发货地址
614 top 接口不允许对拆单订单操作 top 接口不允许对拆单订单进行操作
614 运单号被识别为假,无法发货 请使用正确的运单号
614 您填写的运单号已经过期无效,不允许用此物流运单号发货 请使用正确的运单号
614 您此笔交易订单付款时间晚于快递公司揽收时间,此物流运单号不能使用 请使用正确的运单号
614 您此笔交易订单收货人地址信息与快递公司签收地址信息不匹配,此物流运单号不能使用 请使用正确的运单号
614 运单号已被使用,当前订单非真, 此物流单号不能使用 请使用正确的运单号
614 您填写的运单号已被使用,不允许用此物流运单号发货 请使用正确的运单号
614 您的收货人信息与发货人信息一致,不允许发货 请确认信息
614 拆单标记 和子订单列表两者必须都填或者都不填 拆单标记 和子订单列表两者必须都填或者都不填
614 子订单交易号为空 当传递 isSplit 为 1 后,必须传递该订单下的子订单交易号。
614 订单已拆单,必须传入子交易号列表 这个是已经被拆单的,操作这个订单发货时,必须带有子订单列表
614 订单已拆单,请走拆单逻辑 订单已拆单,必须传入 issplit 和子订单列表
614 当前操作的订单是拆单订单,拆单标记和子订单列表都必须传递 当前操作的订单是拆单订单,拆单标记和子订单列表都必须传递
614 订单已经被拆单,isSplit 必须是 1 订单已经被拆单,isSplit 必须是 1
614 接入拆单异常 拆单逻辑未知错误,请确认发货参数
614 未查到物流订单 未查到物流订单,请确认参数后重试
614 当前操作的订单不是拆单订单,拆单标记和子订单列表都不能带入 当前操作的订单不是拆单订单,拆单标记和子订单列表都不能带入
614 子订单号没有精确匹配 传入的子订单交易号必须完全匹配物流包裹中的子订单
614 输入的用户 Id 或交易订单号不正确,未查到交易订单 请输入正确的用户 ID 和交易订单号
614 非拆单订单的物流订单数不等于 1 请联系淘宝物流开发
614 物流订单不存在 sessionkey 对应的 nick 和订单(tid) 对应 nick 不一致导致报错,调用发货接口前要先判断 tid 是不是属于卖家自身的 tid 。
614 拆单校验未通过 检查拆单发货时参数,确认相关参数正确
614 发货类型不匹配。如虚拟商品订单、家装类订单(仅能通过卖家后台页面发货),如使用该接口发货,会出现这个报错。 报错后禁止重试,并提示用户通过虚拟发货接口或到页面操作发货
614 feature 参数格式不对。 对照文档的示例检查 feature 参数 ,按文档说明确认正确后重试。
614 系统异常 1、先检查是参数是否正确。如 company_code 传人了 out_sid(运单号);订单号(tid)和 sessionkey 对应的不是同一个卖家等 。2、若参数无误,报错后可稍等后重试 1 次 。
614 非法的 nick,无权查询 入参时 tid 和 sessionkey 对应的卖家 nick 不是同一个导致, 确认一致后重试
614 发货异常,请稍等后重试 发货异常,请稍等后重试
614 物流公司不存在或被禁用 一般是发货时,非淘宝合作物流公司,company_code 传人 other 等英文字符导致 。发货时如非淘宝合作物流公司,请直接输入物流公司名称,不能填 other
614 发货使用物流公司不支持 部分物流公司被清退导致(详细可参考http://bbs.taobao.com/catalog/thread/567766-317065096.htm?spm=0.0.0.0.ReLZOb),更换其它物流公司发货
614 物流订单状态不为新建状态,无需发货处理 发货时检查订单状态,已发货订单不要重复发货,仅对待发货的订单发货。
614 物流的订单状态为关闭状态,无需发货 发货时检查订单状态,非等待发货状态,无需发货
614 您的订单无法通过此接口进行发货操作 请联系淘宝小二进行咨询