# 修改快递单号
接口地址: http://www.damaijia168.com/vv/external/v1/requestTbErp/taobao-logistics-consign-resend
请求方式: POST
传参方式: JSON
返回格式: JSON
# 请求头参数
| 参数 | 类型 | 必选 | 值 | 示例 |
|---|---|---|---|---|
| Authorization | string | 是 | 授权 access_token | 1798c6aadec33d1bc2f5b707f1049aefexxxx |
# 请求参数
| 参数 | 类型 | 必选 | 描述 |
|---|---|---|---|
| shop_id | string | 是 | 店铺 ID |
| params | object | 是 | 参数 |
| tid | number | 是 | 淘宝交易 id |
| sub_tid | number[] | 否 | 需要拆单发货的子订单集合,针对的是一笔交易下有多个子订单需要分开发货的场景;1 次可传人多个子订单号,子订单间用逗号隔开;为空表示不做拆单发货。 |
| is_split | number | 否 | 表明是否是拆单,默认值 0,1 表示拆单 |
| out_sid | string | 是 | 运单号。具体一个物流公司的真实运单号码。淘宝官方物流会校验,请谨慎传入; |
| company_code | string | 是 | 物流公司代码。如"POST"就代表中国邮政,"ZJS"就代表宅急送。 |
| sender_id | number | 否 | 卖家联系人地址库 ID,可以通过 taobao.logistics.address.search 接口查询到地址库 ID。如果为空,取的卖家的默认取货地址 |
| cancel_id | number | 否 | 卖家联系人地址库 ID,可以通过 taobao.logistics.address.search 接口查询到地址库 ID。 如果为空,取的卖家的默认退货地址 |
| feature | string | 否 | feature 参数格式 范例: ident_code=tid1:识别码 1,识别码 2 |
| seller_ip | string | 否 | 商家的 ip 地址 |
| edition | string | 否 | 版本 默认:1(不传默认为1) 1:1.0,2:2.0 |
# 请求示例
{
"shop_id":173926031,
"params":{
"tid": 123,
"sub_tid": "1,2,3",
"is_split": 0,
"out_sid": "123456789",
"company_code": "POST",
"sender_id": 123456,
"cancel_id": 123456,
"feature": "ident_code=tid:aaa,bbb;machine_code=tid2:aaa;",
"seller_ip": "192.168.1.10"
}
}
# 请求代码示例
cURL请求代码示例
curl --location --request POST 'http://www.damaijia168.com/vv/external/v1/requestTbErp/taobao-logistics-consign-resend' --header 'Authorization: 1798c6aadec33d1bc2f5b707f1049aefexxxx' --header 'Content-Type: application/json' --data-raw '{
"shopId": "123456789",
"tid": 123,
"subTid": "1,2,3",
"isSplit": 0,
"outSid": "123456789",
"companyCode": "POST",
"senderId": 123456,
"cancelId": 123456,
"feature": "identCode=tid:aaa,bbb;machineCode=tid2:aaa;",
"sellerIp": "192.168.1.10"
}'
PHP请求代码示例
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://www.damaijia168.com/vv/external/v1/requestTbErp/taobao-logistics-consign-resend',
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 =>'{
"shopId": "123456789",
"tid": 123,
"subTid": "1,2,3",
"isSplit": 0,
"outSid": "123456789",
"companyCode": "POST",
"senderId": 123456,
"cancelId": 123456,
"feature": "identCode=tid:aaa,bbb;machineCode=tid2:aaa;",
"sellerIp": "192.168.1.10"
}',
CURLOPT_HTTPHEADER => array(
'Authorization: 1798c6aadec33d1bc2f5b707f1049aefexxxx',
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
JAVA请求代码示例
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n \"shopId\": \"123456789\",\r\n \"tid\": 123,\r\n \"subTid\": \"1,2,3\",\r\n \"isSplit\": 0,\r\n \"outSid\": \"123456789\",\r\n \"companyCode\": \"POST\",\r\n \"senderId\": 123456,\r\n \"cancelId\": 123456,\r\n \"feature\": \"identCode=tid:aaa,bbb;machineCode=tid2:aaa;\",\r\n \"sellerIp\": \"192.168.1.10\"\r\n}");
Request request = new Request.Builder()
.url("http://www.damaijia168.com/vv/external/v1/requestTbErp/taobao-logistics-consign-resend")
.method("POST", body)
.addHeader("Authorization", "1798c6aadec33d1bc2f5b707f1049aefexxxx")
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
Python请求代码示例
import requests
import json
url = "http://test.damaijia168.com/vv/external/v1/requestTbErp/taobao-logistics-consign-resend"
payload = json.dumps({
"shopId": "123456789",
"tid": 123,
"subTid": "1,2,3",
"isSplit": 0,
"outSid": "123456789",
"companyCode": "POST",
"senderId": 123456,
"cancelId": 123456,
"feature": "identCode=tid:aaa,bbb;machineCode=tid2:aaa;",
"sellerIp": "192.168.1.10"
})
headers = {
'Authorization': 'd964d7b9c4365a538d9b12661f748977',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
# 响应参数
| 参数 | 类型 | 描述 |
|---|---|---|
| data | object | 返回数据 |
| ----is_success | bool | 修改成功与失败 |
| ----deduct_money | int | 消耗点券 |
| status | int | 状态码,0为成功 |
# 返回数据
{
"data": {
"is_success": true,
"deduct_money": 4
},
"status": 0
}
# 错误码
| 状态码(status) | 错误信息 | 解决方案 |
|---|---|---|
| 132 | 请求格式必须为JSON | 修改请求参数格式为json |
| 422 | 参数列表不合法,在err中会给出提示 | 根据提示做相应修改 |
| 200 | 认证失败 | 请确保请求头里的Authorization存在或者未过期 |
| 422 | 物流订单不存在 | 调用发货接口前要先判断 tid 是不是自己的 tid或者说tid 是否存在,最好用搜索出来的 tid 列表里面的数据传入。 |
| 422 | 没有权限进行发货 | 在发货前要判断好订单的状态,只有交易存在、属于自己、并且是等待卖家发货的才能发,其余的状态不能调用这个接口。 |
| 422 | 订单状态不对 | 1.遇到 isv 开头的错误不要在程序重试 2.建议在发货前先调用交易 API 如:taobao.trade.fullinfo.get 来查询这个订单的状态,根据订单状态再做相应的处理,避免状态为已发货订单进行重复发货 |
| 422 | 没有选择物流公司 | 对物流公司(companyCode)做好校验,没有选择 companyCode 的不允许其发货。 |
| 422 | 运单号为空 | 在前端对是否填写运单号(outSid)进行校验,没有传入 outSid 不允许其发货。 |
| 422 | 运单号不符合规则 | 每个物流公司都有特定的运单号规则,参照该运单号规则在前端对运单号是否符合对应的规则进行校验,不符合规则的不允许其发货。 |
| 422 | 参数无效,格式不对、非法值、越界等 | 请校验参数后重试 |
| 422 | 地址库不存在或该地址库不属于当前用户 | 可以通过此接口查询地址库 taobao.logistics.address.search |
| 422 | 参数为空 | 必填参数为空,如 tid 为空,请确保传入的必选参数不为空,请对照参数表 |
| 422 | 已生成发货单 | 已经生成发货单的订单不能发货 |
| 422 | 物流公司不存在或被禁用 | 通过 taobao.logistics.companies.get 查询支持自已在线下单或货到款的物流公司 |
| 422 | 物流订单来源错误 | 非 c2c 的订单不支持款到付款发货 |
| 422 | 未补签货到付款补充协议 | 请与客服联系,补签补充协议! |
| 422 | 该物流公司未开通 COD 服务 | 该物流公司不支持货到付款,通过 taobao.logistics.partners.get 查询支持货到付款的物流公司 |
| 422 | 该物流公司揽收或派送范围不支持 | 可以通过此接口 taobao.logistics.partners.get,查询支持揽收或派送范围的物流公司 |
| 422 | 系统异常 | 系统异常 |
| 422 | 该物流公司不支持在线下单 | 该物流公司不支持在线下单,通过 taobao.logistics.companies.get 查询支持在线下单的物流公司 |
| 422 | 该交易状态不正确,不能发货 | 建议在发货前先调用交易 API 如:taobao.trade.fullinfo.get 来查询这个订单的状态,根据订单状态再做相应的处理,避免状态为已发货订单进行重复发货 |
| 422 | 物流订单不存在 | 调用发货接口前要先判断 tid 是不是属于自身的 tid,并且需要判断 tid 是否存在,最好用搜索出来的 tid 列表里面的数据传入。 |
| 422 | 没有权限进行发货 | 在发货前要判断好订单的状态,只有交易存在、属于自己、并且是等待卖家发货的才能发,其余的状态无需调用这个接口。 |
| 422 | 订单状态不对 | 1.遇到 isv 开头的错误不要在程序重试; 2.建议在发货前先调用交易 API 如:taobao.trade.fullinfo.get 来查询这个订单的状态,根据订单状态再做相应的处理,避免状态为已发货订单进行重复发货 |
| 422 | 没有选择物流公司 | 在前端对是否选择物流公司(companyCode)做好校验,没有选择 companyCode 的不允许其发货。 |
| 422 | 运单号为空 | 在前端对是否填写运单号(outSid)进行校验,没有传入 outSid 不允许其发货。 |
| 422 | 运单号不符合规则 | 每个物流公司都有特定的运单号规则,参照该运单号规则在前端对运单号是否符合对应的规则进行校验,不符合规则的不允许其发货。 |
| 422 | 参数为空 | 必填参数为空,如 tid 为空,请确保传入的必选参数不为空,请对照参数表 |
| 422 | 地址库不存在或该地址库不属于当前用户 | 可以通过此接口查询地址库 taobao.logistics.address.search |
| 422 | 没有用户 ID | 检查用户是否登录,或 session 过期 |
| 422 | 已生成发货单 | 已经生成发货单的订单不能发货 |
| 422 | 物流公司名称过长 | 物流公司名称过长,长度在 20 个字符 |
| 422 | 该物流公司不支持自己联系 | 该物流公司不支持自己联系,通过 taobao.logistics.companies.get 查询支持自已联系的物流公司 |
| 422 | 该交易状态不正确,不能发货 | 建议在发货前先调用交易 API 如:taobao.trade.fullinfo.get 来查询这个订单的状态,根据订单状态再做相应的处理,避免状态为已发货订单进行重复发货 |
| 422 | 对不起,您尚未成功订购 E 速宝物流服务 | 订购 E 速宝服务 |
| 422 | 对不起,该订单超出了 E 速宝的服务范围,请联系小二处理 | 检查收货地址和发货地址 |
| 422 | 参数错误 | 校验入参是否正确 |
| 422 | 物流订单不存在 | 检查订单是否存在 |
| 422 | 无效的物流公司 | 物流公司和不合法,请选择一个正确的物流公司 |
| 422 | 无效的订单类型 | 检验 logist_type 不合法 |
| 422 | 订单未发货 | 请先发货后再修改 |
| 422 | 不支持的订单类型 | 只支持在线,COD,自己联系和保障速递的订单 |
| 422 | 当前订单状态不支持修改 | 检验订单状态 |
| 422 | 未作修改 | 确认是否需要调用本接口 |
| 422 | 该订单不支持修改。如不虚拟发货方式,这种方式该 API 是不支持修改的 | 报错后应用程序做好控制,禁止重试,并做相应提示。 |
| 422 | top 接口不允许对拆单订单操作 | top 接口不允许对拆单订单进行操作 |
| 422 | 运单号被识别为假,无法发货 | 输入正确的运单号 |
| 422 | 您填写的运单号已经过期无效,不允许用此物流运单号发货 | 输入正确的运单号 |
| 422 | 您此笔交易订单付款时间晚于快递公司揽收时间,此物流运单号不能使用 | 输入正确的运单号 |
| 422 | 您此笔交易订单收货人地址信息与快递公司签收地址信息不匹配,此物流运单号不能使用 | 输入正确的运单号 |
| 422 | 运单号已被使用,当前订单非真, 此物流单号不能使用 | 输入正确的运单号 |
| 422 | 您填写的运单号已被使用,不允许用此物流运单号发货 | 输入正确的运单号 |
| 422 | 您的收货人信息与发货人信息一致,不允许发货 | 请确认收件人和发货人信息是否相同 |
| 422 | 订单已拆单,必须传入子交易号列表 | 这个是已经被拆单的,操作这个订单发货时,必须带有子订单列表 |
| 422 | 订单已拆单,请走拆单逻辑 | 订单已拆单,请走拆单逻辑,issplit 和子订单列表必须都传入 |
| 422 | 入参传入的主子交易号组合逻辑非法 | 入参传入的主子交易号组合逻辑非法,子订单列表不在对应的物流订单中,请传入对应的子订单列表 |
| 422 | 拆单标记 和子订单列表两者必须都填或者都不填 | 拆单标记 和子订单列表两者必须都填或者都不填 |
| 422 | 子订单交易号为空 | 当传递 isSplit 为 1 后,必须传递该订单下的子订单交易号。 |
| 422 | 订单已经被拆单,isSplit 必须是 1 | 订单已经被拆单,isSplit 必须是 1 |
| 422 | 接入拆单异常 | 拆单逻辑未知错误,请确认发货参数 |
| 422 | 未查到物流订单 | 拆单订单校验子订单过程中未查到物流订单 |
| 422 | 传入的子订单号不同时在一个物流包裹中 | 传入的子订单号不同时在一个物流包裹中。传入订单时请输入同一个 |
| 422 | 其他异常 | 请确认输入订单参数后重试 |
| 422 | 当前操作的订单不是拆单订单,拆单标记和子订单列表都不能带入 | 当前操作的订单不是拆单订单,拆单标记和子订单列表都不能带入 |
| 422 | 子订单号没有精确匹配 | 传入的子订单交易号必须完全匹配物流包裹中的子订单 |
| 422 | 输入的用户 Id 或交易订单号不正确,未查到交易订单 | 请输入正确的用户 ID 和交易订单号 |
| 422 | 非拆单订单的物流订单数不等于 1 | 请联系淘宝物流开发 |
| 422 | 运单号错误或已经被使用 | 请检查运单号是否正确,或联系物流公司更换运单号 |
| 422 | 不支持切换为该物流公司 | 请检查新切换的物流公司信息是否正确 |
| 422 | 物流公司不存在或被禁用 | 请检查新更换的物流公司信息是否正确 |
| 422 | 物流订单状态不为新建状态,无需发货处理 | 物流订单状态不为新建状态,无需发货处理 |
| 422 | 远程调用发生未知错误 | 请重试,重试不成功,联系相关小二解决 |
| 422 | 发货失败 | 请重试,重试不成功,联系相关小二解决 |
| 422 | 物流订单状态不为新建状态,无需发货处理 | 物流订单状态不为新建状态,无需发货处理 |
| 422 | 对不起,您尚未成功订购 E 速宝物流服务 | 请先订购 E 速宝物流服务,再进行发货 |