Skip to content

修改包裹尺寸与重量

接口概述

修改已登记但尚未随已关闭订单发出的包裹的尺寸和/或重量。只需传你想改的那几项测量值。

请求信息

  • Method: POST
  • Path: /api/parcel/edit-parcel-size-weight
  • Authentication: Bearer Token

请求头

字段说明
Content-Typeapplication/json
AuthorizationBearer <token>

请求参数

请求体为 JSON 格式,包含以下字段:

参数类型必填说明
wmg_tracking_numstring条件必填包裹的 WMG 运单号。最长 60 个字符。本字段与 tracking_number 至少传一个。
tracking_numberstring条件必填你自己的包裹跟踪号。最长 50 个字符。本字段与 wmg_tracking_num 至少传一个。
weightnumber新的申报重量。最多保留 3 位小数。不传则不修改。
lengthnumber新的长度。最多保留 2 位小数。不传则不修改。
widthnumber新的宽度。最多保留 2 位小数。不传则不修改。
heightnumber新的高度。最多保留 2 位小数。不传则不修改。

请求体示例

json
{
    "wmg_tracking_num": "CY18000004XX4SG",
    "weight": "12.028",
    "length": "12.08",
    "width": "12.08",
    "height": "12.08"
}

认证方式

本接口使用 Bearer Token 认证。

请先通过 获取 Token 取得 Token,并以 Authorization: Bearer <Token> 形式发送。

响应信息

响应为 JSON 格式。

响应格式

字段类型说明
Codeinteger0 表示成功;非 0 表示失败
Messagestring可读的结果说明
Dataarray本接口始终返回空数组

成功响应

  • Status Code: 200
json
{
    "Code": 0,
    "Message": "Success",
    "Data": []
}

本接口不返回业务数据。Code0 即表示包裹已更新。

错误响应

  • Status Code: 200(业务逻辑错误)或 4xx/5xx(系统错误)
json
{
    "Code": 1,
    "Message": "Parcel Not Found",
    "Data": []
}

结果码

Code说明
0成功
1失败

示例

Bash

bash
BASE_URL="https://api.postal.test.wmgdelivery.com"
TOKEN="your_access_token"

curl -X POST "$BASE_URL/api/parcel/edit-parcel-size-weight" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"wmg_tracking_num":"CY18000004XX4SG","weight":"12.028","length":"12.08","width":"12.08","height":"12.08"}'

Windows PowerShell

powershell
$BASE_URL = "https://api.postal.test.wmgdelivery.com"
$TOKEN    = "your_access_token"

# 只传你想修改的测量值
$body = @{
    wmg_tracking_num = "CY18000004XX4SG"
    weight           = "12.028"
    length           = "12.08"
    width            = "12.08"
    height           = "12.08"
} | ConvertTo-Json

$response = Invoke-RestMethod -Uri "$BASE_URL/api/parcel/edit-parcel-size-weight" -Method Post `
    -ContentType "application/json" -Body $body -Headers @{Authorization = "Bearer $TOKEN"}
$response | ConvertTo-Json -Depth 10

Python

python
import requests

BASE_URL = "https://api.postal.test.wmgdelivery.com"
TOKEN    = "your_access_token"

# 只传你想修改的测量值
resp = requests.post(f"{BASE_URL}/api/parcel/edit-parcel-size-weight", json={
    "wmg_tracking_num": "CY18000004XX4SG",
    "weight": "12.028",
    "length": "12.08",
    "width": "12.08",
    "height": "12.08",
}, headers={"Authorization": f"Bearer {TOKEN}"}, timeout=10)
print(resp.json())

Node.js / TypeScript

typescript
const BASE_URL = "https://api.postal.test.wmgdelivery.com";
const TOKEN = "your_access_token";

const res = await fetch(`${BASE_URL}/api/parcel/edit-parcel-size-weight`, {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": `Bearer ${TOKEN}`,
  },
  // 只传你想修改的测量值
  body: JSON.stringify({
    wmg_tracking_num: "CY18000004XX4SG",
    weight: "12.028",
    length: "12.08",
    width: "12.08",
    height: "12.08",
  }),
});
console.log(await res.json());

PHP

php
<?php
$BASE_URL = 'https://api.postal.test.wmgdelivery.com';
$TOKEN    = 'your_access_token';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $BASE_URL . '/api/parcel/edit-parcel-size-weight');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: Bearer ' . $TOKEN,
]);
// 只传你想修改的测量值
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
    'wmg_tracking_num' => 'CY18000004XX4SG',
    'weight'           => '12.028',
    'length'           => '12.08',
    'width'            => '12.08',
    'height'           => '12.08',
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$response = curl_exec($ch);
curl_close($ch);

echo json_encode(json_decode($response, true), JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "\n";
?>

注意事项

  • 可以用 wmg_tracking_numtracking_number,或两者同时来定位包裹。两个都不传会返回 Tracking Number or wmg tracking num is invalid。两个都传时,包裹必须同时匹配这两个值。
  • 两个标识字段在匹配前都会转为大写,因此不区分大小写。
  • 未传的测量值保持不变,因此部分更新是常规用法。显式传 0 被写入——只有确实要设为 0 时才传 0
  • 包裹不能已属于已关闭的订单。订单一旦关闭,测量值即被锁定,调用会返回 Parcel was used
  • 更新后的长、宽、高、重量会作为一组,按该包裹的服务与目的地限制统一校验。由于未传的字段会沿用已存储的值,只改一项也可能导致超限——消息会指出是哪一项限制。
  • 每次修改都会记录到包裹上,用于审计追溯。
  • 只能修改属于当前认证账号的包裹。
  • 所有参数区分大小写。

错误码

codemessage说明
1Tracking Number or wmg tracking num is invalidwmg_tracking_numtracking_number 都没有传。
1Parcel Not Found你的账号下没有与所传标识匹配的包裹。
1Parcel was used该包裹所属订单已关闭。
1max size of wmg_tracking_num must be 60wmg_tracking_num 超过 60 个字符。
1max size of tracking_number must be 50tracking_number 超过 50 个字符。
1更新后的尺寸或重量超出该包裹服务与目的地的限制,消息会指出是哪一项限制。
1Error encountered, please contact tech@wmg-group.com with screenshot of error page for resolution.未预期的服务端错误。
1003Token errorToken 缺失、已过期或被新登录顶替。请重新调用 获取 Token