跳到主要内容

运单服务-取消运单

基本信息

  • 方法:POST
  • 路径:/label/carrier/void
  • Handler:carrierApi.VoidOrder
  • Service:CarrierOpenAPIService.VoidOrder

用途

取消已经通过开放接口创建的运单。

请求参数

字段类型必填说明
carrierCodestring承运商代码
accountAliasstring账号别名
accountIdint预留字段,当前未使用
externalRequestIdstring条件必填外部请求号
tmsShipmentNumberstring条件必填TMS 运单号
platformOrderNumberstring条件必填渠道订单号
masterTrackingNumberstring当前实现未用于查单
trackingNumberstring当前实现未用于查单

说明:tmsShipmentNumberplatformOrderNumberexternalRequestId 三者至少传一个。

查单优先级

服务层按以下优先级定位订单:

  1. tmsShipmentNumber
  2. platformOrderNumber
  3. externalRequestId

请求示例

{
"externalRequestId": "REQ-20260611-CREATE-001",
"carrierCode": "UPARCEL",
"accountAlias": "UPARCEL_MAIN",
"accountId": 0,
"tmsShipmentNumber": "OAPI_d4g8m1abc",
"platformOrderNumber": "",
"masterTrackingNumber": "",
"trackingNumber": ""
}

成功响应示例

{
"code": 200,
"data": {
"externalRequestId": "REQ-20260611-CREATE-001",
"tmsShipmentNumber": "OAPI_d4g8m1abc",
"platformOrderNumber": "P202606110001",
"trackingNumber": "1Z999AA10123456784",
"result": "success",
"message": "already voided"
},
"message": "success"
}

返回字段说明

字段类型说明
data.externalRequestIdstring外部请求号
data.tmsShipmentNumberstringTMS 运单号
data.platformOrderNumberstring渠道订单号
data.trackingNumberstring跟踪号
data.resultstring取消结果,常见值 success / fail
data.messagestring结果说明

接口说明

  • 如果订单已是 voided 状态,会直接返回成功,消息为 already voided
  • 只有 created 状态的订单允许取消
  • 如果订单归属的 ApiUserID 与当前用户不一致,会返回 order not found

当前实现注意点:

  • masterTrackingNumbertrackingNumber 虽然在请求结构中存在,但当前取消逻辑不会用这两个字段查单
  • 找到订单后,实际取消调用依赖审计订单上已保存的承运商与订单号信息