Get Tracking No
API Overview
Exchanges the tracking number you assigned to a parcel for the WMG tracking number of that parcel. Use it when your system holds only your own reference and you need the WMG number for labelling or tracking.
The parcel must already exist — create it first with Create Single Parcel.
Request Information
- Method: POST
- Path:
/api/create-barcode - Authentication: Bearer Token
Request Headers
| Field | Description |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
Request Parameters
The request body is in JSON format and includes the following fields:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Barcode | string | Yes | The tracking number you assigned to the parcel (your own reference), maximum 50 characters. |
| LabelType | string | Yes | Label type. Currently only CN23 is available. Maximum 10 characters. |
| Origin | string | Yes | Originating country as a 2-letter code, e.g. SG for Singapore, TW for Taiwan. |
| Destination | string | Yes | Destination country as a 2-letter code, e.g. TW for Taiwan, JP for Japan. |
Request Body Example
json
{
"Barcode": "CUST0001234567",
"LabelType": "CN23",
"Origin": "SG",
"Destination": "JP"
}Authentication
This endpoint uses Bearer token authentication.
Obtain a token from Get Token and send it as Authorization: Bearer <Token>.
Response Information
The response is in JSON format.
Response Format
| Field | Type | Description |
|---|---|---|
| Code | integer | 0 = success; non-zero = failure |
| Message | string | Human-readable result |
| Data | object | Payload; empty array [] on failure |
Success Response
- Status Code: 200
json
{
"Code": 0,
"Message": "Success",
"Data": {
"Barcode": "CY180000662SG"
}
}| Field | Type | Description |
|---|---|---|
| Data.Barcode | string | The WMG tracking number of the matched parcel. |
Error Response
- Status Code: 200 (business logic error) or 4xx/5xx (system error)
json
{
"Code": 1,
"Message": "Parcel not found",
"Data": []
}Code Reference
| Code | Description |
|---|---|
| 0 | Success |
| 1 | Failure |
Example
Bash
bash
BASE_URL="https://api.postal.test.wmgdelivery.com"
TOKEN="your_access_token"
curl -X POST "$BASE_URL/api/create-barcode" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"Barcode":"CUST0001234567","LabelType":"CN23","Origin":"SG","Destination":"JP"}'Windows PowerShell
powershell
$BASE_URL = "https://api.postal.test.wmgdelivery.com"
$TOKEN = "your_access_token"
$body = @{
Barcode = "CUST0001234567"
LabelType = "CN23"
Origin = "SG"
Destination = "JP"
} | ConvertTo-Json
$response = Invoke-RestMethod -Uri "$BASE_URL/api/create-barcode" -Method Post `
-ContentType "application/json" -Body $body -Headers @{Authorization = "Bearer $TOKEN"}
$response | ConvertTo-Json -Depth 10Python
python
import requests
BASE_URL = "https://api.postal.test.wmgdelivery.com"
TOKEN = "your_access_token"
resp = requests.post(f"{BASE_URL}/api/create-barcode", json={
"Barcode": "CUST0001234567",
"LabelType": "CN23",
"Origin": "SG",
"Destination": "JP",
}, 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/create-barcode`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${TOKEN}`,
},
body: JSON.stringify({
Barcode: "CUST0001234567",
LabelType: "CN23",
Origin: "SG",
Destination: "JP",
}),
});
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/create-barcode');
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([
'Barcode' => 'CUST0001234567',
'LabelType' => 'CN23',
'Origin' => 'SG',
'Destination' => 'JP',
]));
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";
?>Notes
- The parcel is matched on your tracking number together with
OriginandDestination, and only within your own account. A mismatch on any of them returnsParcel not found. Barcode,OriginandDestinationare normalised to upper case before matching, so their case does not matter for this endpoint.LabelTypeis validated for length but does not affect which parcel is matched. SendCN23.- All other parameters are case-sensitive.
Error Codes
| code | message | Description |
|---|---|---|
1 | Parcel not found | No parcel in your account matches the supplied Barcode, Origin and Destination. |
1 | Barcode require | Barcode is missing or empty. |
1 | max size of Barcode must be 50 | Barcode is longer than 50 characters. |
1 | LabelType require | LabelType is missing or empty. |
1 | max size of LabelType must be 10 | LabelType is longer than 10 characters. |
1 | Origin require | Origin is missing or empty. |
1 | max size of Origin must be 2 | Origin is longer than 2 characters. |
1 | Destination require | Destination is missing or empty. |
1 | max size of Destination must be 2 | Destination is longer than 2 characters. |
1 | Error encountered, please contact tech@wmg-group.com with screenshot of error page for resolution. | Unexpected server error. |
1003 | Token error | The token is missing, expired, or superseded by a newer login. Call Get Token again. |