Label Generation
Translate an order into shipment parcel(s), and get in return the shipment label and documents
Order Processing
From Order to Shipment: An order of multiple products can be split into multiple fulfilments and parcels to maximise inventory usage and minimise delivery time. Glopal amends the original order and creates a new order entity per fulfilment and eventually parcel, and recomputes total landing costs separately for each entity.
Shipping Label Generation: Once the shipment entities are known, Glopal can prepare the shipping documents and request the shipping labels from its network of pre-integrated carriers.

Native API Integration
Client username (set by Glopal)
username
Pattern: ^[a-z0-9\-]{3,255}$
Optional system username to enable separation of authentication credentials by integrated client system. (set by Glopal)
alias-username
Pattern: ^[a-z0-9\-]{3,50}$
The authentication signature is created by using the concatenation of the login, the ‘@’ sign and the timestamp, transformed into a HMAC_256 signature using your secret access key.
40b976b35a08bb951439ea7bbfa0a7bd73dab7c813399a31d9d1a157bc08929b
Pattern: ^[0-9a-f]{64}$
The authentication timestamp must be a decimal numeric representing the current POSIX time, extended to microsecond accuracy. If the requesting system does not provide high-resolution time, it is advised to use a 6-digit random number. It is important to have the requesting system synchronised with a reliable time source (f.i. a stratum 2 NTP server) to avoid request rejection.
1680010295.775523
Pattern: ^[12]\d{9}\.\d{6}$
0.68
Pattern: (^0\.\d{2}$|^[1-9]\d*\.\d{2}$)
const timestamp = String(Date.now() / 1000).padEnd(17, '0');
const username = "username";
const signature = CryptoJS.HmacSHA256(
`${username}@${timestamp}`, "sharedsecret"
).toString(CryptoJS.digest)
const response = await fetch('https://ws.xport.glopalservice.com/outbound/immediate_shipment', {
method: 'POST',
headers: {
"Content-Type": "application/json",
"x-login": username,
"x-timestamp": timestamp,
"x-signature": signature
},
body: JSON.stringify({
"order": {
"reference": "test123",
"parcel": [
{
"fulfillment_id": "FU.123OMS",
"item": [
{
"qty": 1,
"merchant_sku": "1234567890"
}
]
}
]
}
}),
});
const data = await response.json();
{
"error": 0,
"advice": [
{
"ship_from": {
"name": "Test Testington",
"user_reference": "testref",
"address1": "Test street 1",
"address2": "Second floor",
"address3": "Room 37",
"postcode": "90210",
"state": "CA",
"city": "Beverly Hills",
"country": "US"
},
"ship_to": {
"name": "Test Testington",
"user_reference": "testref",
"address1": "Test street 1",
"address2": "Second floor",
"address3": "Room 37",
"postcode": "90210",
"state": "CA",
"city": "Beverly Hills",
"country": "US"
},
"date": "2023-01-23 12:13:14",
"outboundawb": "AWB1234567890_23",
"web_order": "test123",
"shipment_id": 123456,
"pod_id": 1,
"suite_number": "5432-1234",
"vat_number": "T12344434",
"reason_for_export": "Permanent",
"product": [
{
"qty": 1,
"measure": "Item",
"mnfgr": "FR",
"hs_code": "330310",
"sku": "1234567890",
"description": "Pink summer dress",
"note": "Special packaging",
"unit_value": 234.56,
"sub_total": 234.56,
"alt_merchant_sku": [
"1234567890"
],
"documentation": [
{
"code": "Dress",
"description": "Test description"
}
]
}
],
"declared_value": 234.56,
"invoice_total": 234.56,
"currency": "IAR",
"terms_of_trade": "DDP",
"total_packages": 1,
"package": {
"height": 23.45,
"width": 34.56,
"depth": 13.57,
"weight_unit": "kg",
"dimension_unit": "cm",
"dead_weight": 12.34
},
"transport": {
"carrier": "DHL",
"service": "DHL Express"
},
"fulfillment_id": "FU.123OMS",
"transaction_id": "642edad40de2f361ba4d1684aaf3c53a0afc687b",
"wms_id": "WMS12345",
"outbound": {
"is_paperless": 1,
"transit_number": "TRANS12344",
"awb": "AWB1234567890_23",
"tracking_url": "https://test.xport.glopalservice.com/test",
"carrier_tracking_url": "https://test.xport.glopalservice.com/test",
"carrier_name": "DHL Express",
"label_file_zpl": "document/example.zpl",
"label_file_pdf": "document/example.pdf",
"advice_file_pdf": "document/example.pdf",
"label_url_zpl": "https://test.xport.glopalservice.com/test",
"label_url_pdf": "https://test.xport.glopalservice.com/test",
"advice_url_pdf": "https://test.xport.glopalservice.com/test",
"label_dpi_density": "string",
"label_type": "BL4x6"
},
"return": {
"awb": "AWB1234567890_23",
"tracking_url": "https://test.xport.glopalservice.com/test",
"carrier_tracking_url": "https://test.xport.glopalservice.com/test",
"carrier_name": "DHL Express",
"label_file_zpl": "document/example.zpl",
"label_file_pdf": "document/example.pdf",
"advice_file_pdf": "document/example.pdf",
"label_url_zpl": "https://test.xport.glopalservice.com/test",
"label_url_pdf": "https://test.xport.glopalservice.com/test",
"advice_url_pdf": "https://test.xport.glopalservice.com/test",
"label_dpi_density": "string",
"label_type": "BL4x6"
},
"last_mile": {
"awb": "AWB1234567890_23",
"tracking_url": "https://test.xport.glopalservice.com/test",
"carrier_tracking_url": "https://test.xport.glopalservice.com/test",
"carrier_name": "DHL Express",
"label_file_zpl": "document/example.zpl",
"label_file_pdf": "document/example.pdf",
"advice_file_pdf": "document/example.pdf",
"label_url_zpl": "https://test.xport.glopalservice.com/test",
"label_url_pdf": "https://test.xport.glopalservice.com/test",
"advice_url_pdf": "https://test.xport.glopalservice.com/test",
"label_dpi_density": "string",
"label_type": "BL4x6"
}
}
]
}
Address Transliteration
As part of the label generation process, Glopal can transliterate the local buyer address into the Latin/English alphabet, to comply with carrier international shipment standards.
This feature is also available as standalone API service.
Client username (set by Glopal)
username
Pattern: ^[a-z0-9\-]{3,255}$
Optional system username to enable separation of authentication credentials by integrated client system. (set by Glopal)
alias-username
Pattern: ^[a-z0-9\-]{3,50}$
The authentication signature is created by using the concatenation of the login, the ‘@’ sign and the timestamp, transformed into a HMAC_256 signature using your secret access key.
40b976b35a08bb951439ea7bbfa0a7bd73dab7c813399a31d9d1a157bc08929b
Pattern: ^[0-9a-f]{64}$
The authentication timestamp must be a decimal numeric representing the current POSIX time, extended to microsecond accuracy. If the requesting system does not provide high-resolution time, it is advised to use a 6-digit random number. It is important to have the requesting system synchronised with a reliable time source (f.i. a stratum 2 NTP server) to avoid request rejection.
1680010295.775523
Pattern: ^[12]\d{9}\.\d{6}$
0.68
Pattern: (^0\.\d{2}$|^[1-9]\d*\.\d{2}$)
const timestamp = String(Date.now() / 1000).padEnd(17, '0');
const username = "username";
const signature = CryptoJS.HmacSHA256(
`${username}@${timestamp}`, "sharedsecret"
).toString(CryptoJS.digest)
const response = await fetch('https://ws.xport.glopalservice.com/address/translate', {
method: 'POST',
headers: {
"Content-Type": "application/json",
"x-login": username,
"x-timestamp": timestamp,
"x-signature": signature
},
body: JSON.stringify({
"from": "en_US",
"to": "ja_JP",
"address": {
"name": "Test Testington",
"user_reference": "testref",
"address1": "Test street 1",
"address2": "Second floor",
"address3": "Room 37",
"postcode": "90210",
"state": "CA",
"city": "Beverly Hills",
"country": "US"
},
"conds": {
"max_address_length": 45
}
}),
});
const data = await response.json();
{
"address": {
"name": "Test Testington",
"user_reference": "testref",
"address1": "Test street 1",
"address2": "Second floor",
"address3": "Room 37",
"postcode": 90210,
"state": "CA",
"city": "Beverly Hills",
"country": "US"
},
"error": 0,
"errors": [
{
"code": "ISSUE_CODE",
"details": "Issue description",
"field": "field"
}
],
"warnings": [
{
"code": "ISSUE_CODE",
"details": "Issue description",
"field": "field"
}
]
}
Last updated