41. 同步拆单结果(跨境业务专用)
仅跨境订单可用该接口. 流程文档见:跨境业务接入技术文档
1. 接口:
/mtop/aftersale/openapi/crossborder/orders/splite
2. 接口参数
公共参数
请求参数
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
deliveries | List<ImportationDelivery> |
是 | 需要同步的物流单列表 |
ImportationDelivery 信息:
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
oid | Long | 是 | 订单号 |
totalFee | Integer | 是 | 包裹单商品总价 |
transportFee | Integer | 是 | 包裹单物流费 |
customsName | String | 是 | 报关的海关编号(例:SHANGHAI)参照 海关编号映射说明 |
outPackageId | String | 是 | 拆单时的包裹标识,需由商家保证该字段的唯一性,字符串类型,64位以内 |
itemList | List<DeliveryItem> |
是 | 商品列表 |
uid | Long | 否 | 用户id |
customsMode | Integer | 否 | 包裹单业务模式(0-保税仓模式,1-BC直邮,2-CC直邮,默认为0) |
DeliveryItem 信息:
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
pid | Integer | 是 | 型号ID |
skuId | Integer | 是 | sku_id |
count | Integer | 是 | 购买数量 |
3. 请求示例
data内容.
data:{
"deliveries":[
{
"oid": 4191234567890123, // 有品订单号
"totalFee": 1500, // 包裹单商品总价(分)
"transportFee": 1000, // 包裹单物流费(分)
"customsName": "SHANGHAI", // 报关的海关编号
"outPackageId": "123456789", // 商家生成的第三方包裹号,用于唯一标识某包裹单,需由商家保证该字段的唯一性,字符串类型,64位以内
"itemList": [ // 商品列表
{
"pid": 1011, // 有品商品id
"skuId": 3010032, // 商品skuid
"count": 1, //购买数量,skuId维度计数
}
],
"uid": 168213111, // 用户id
"customsMode": 0, // 包裹单业务模式(0-保税仓模式,1-BC直邮,2-CC直邮),非必填,默认为0
}
],
}
4. 返回结果
Result 信息:
字段 | 类型 | 备注 |
---|---|---|
code | Integer | 响应码,0代表成功,其他代表失败 |
message | String | 成功时返回ok,失败会返回相应信息 |
data | SynchronizeImportationDeliveryResp | 响应数据 |
SynchronizeImportationDeliveryResp 信息:
字段 | 类型 | 备注 |
---|---|---|
successOids | List<Long> |
同步成功oid |
failedOids | List<Long> |
同步失败oid |
5. 返回示例
返回成功:
{
"code": 0, // 响应码,0代表成功,其他代表失败
"message": "ok", // 成功时返回ok,失败会返回相应信息
"result": {
"successOids": [ // 同步成功oid
4191234567890123
],
"failedOids": [ // 同步失败oid
4191234567890123
]
}
}
拆单itemList的count问题
同步拆单结果接口参数itemList中的count数量是sku的数量,假设某套装商品1个pid有3个sku,用户买了2件这个商品,商家将这2件商品拆到一个包裹单,那count的值应该是2*3=6
订单详情接口有pid购买数量,商品信息列表接口有每个pid包含sku的数量,拆单接口itemList的count=用户购买pid的数量*每个pid包含的sku的数量
拆单接口的补充说明
商家同步拆单结果成功后,有品平台会立刻报支付单,但报关结果可能延时或失败,失败的话平台有补偿脚本会重试(重试1天),若1天后仍失败,包裹单状态会改为彻底报关失败,之后会走退款的逻辑,所以商家需要定时拉下待报关和报关失败的包裹单
包裹单状态根据接口 更新报关状态(跨境业务专用) 的响应值status来判断
status字段含义说明
值 | 含义 |
---|---|
0 | 待报关 |
1 | 已报关 |
2 | 开始清关 |
3 | 清关成功 |
4 | 清关失败 |
5 | 清关失败已建单 |
6 | 彻底报关失败 |
(注:status为1只代表做过报关动作,不能判定是否报关成功)要同时根据 拉取支付报关号 接口的响应值payDeclareNo来判断是否报关成功,若payDeclareNo有值,代表报关成功;无值,就是报关失败
Q&A
问:什么是拆包裹单,拆包裹单是必须的吗?
答:结论:拆包裹单是必须的流程
解释:
场景一:比如某订单用户买了1个A商品,1个B商品,这2件商品都是保税仓发货,但是A商品是郑州保税仓发货,B商品是宁波保税仓发货,需要商家分别在2处保税仓清关,所以需要对商品进行拆分,分别报关 场景二:比如某订单用户买了1个A商品,1个B商品,A商品是保税仓发货,B商品是cc直邮,而cc直邮不需要清关,所以需要对商品进行拆分,只报关A商品即可 场景三:比如某订单用户买了10个A商品,1个B商品,但是A商品价格较高,导致订单价值太高,而海关是有限额的,超额海关是不会放行的,所以需要对A商品进行拆分 基于以上场景考虑,有品平台统一流程,都需要拆单,将订单拆成至少1个包裹单,以包裹单维度去报关,以包裹单维度去发货