Shipmondo API - Documentation and response updates
We are introducing a series of updates to our API responses and requests, specifically targeting shipment payloads. These changes are aimed at improving data consistency and ensuring clearer documentation for developers. Here’s a breakdown of the changes you need to be aware of:
external_pkg_no
key now always present in response
Endpoints affected:
POST | /api/public/v3/shipments |
GET | /api/public/v3/shipments |
GET | /api/public/v3/shipments/{id} |
GET | /api/public/v3/return_portals/{id}/shipments |
Previously, the external_pkg_no
key and its value would only appear if the value was not null. Moving forward, the key and value will always be present, even if the value is null. This change ensures more predictable response structures.
insurance
key deprecated in favor of carrier_insurance
in response
Endpoints affected:
POST | /api/public/v3/shipments |
GET | /api/public/v3/shipments |
GET | /api/public/v3/shipments/{id} |
GET | /api/public/v3/return_portals/{id}/shipments |
The insurance
key in responses will be duplicated as carrier_insurance
to match the request format. The insurance
key is marked as deprecated and will remain available. Developers should update their code to use carrier_insurance
instead.
parcels[].gls_colli_id
always present in response
Endpoints affected:
POST | /api/public/v3/shipments |
GET | /api/public/v3/shipments |
GET | /api/public/v3/shipments/{id} |
GET | /api/public/v3/return_portals/{id}/shipments |
The parcels[].gls_colli_id
key, previously only present when the carrier was "GLS", will now always be present, with null values if not applicable. This ensures a consistent response structure regardless of the carrier.
parcels[].labelless_code
always present in response
Endpoints affected:
POST | /api/public/v3/shipments |
GET | /api/public/v3/shipments |
GET | /api/public/v3/shipments/{id} |
GET | /api/public/v3/return_portals/{id}/shipments |
Similar to the above, the parcels[].labelless_code
key, which was only present when the carrier was "Bring", will now always be included, with null values when not applicable.
labelless_code
key always present in response
Endpoints affected:
POST | /api/public/v3/shipments |
GET | /api/public/v3/shipments |
GET | /api/public/v3/shipments/{id} |
GET | /api/public/v3/return_portals/{id}/shipments |
The labelless_code
key, relevant to the "dao" carrier, will now always appear in the response, even if the value is null.
Consistent presence of dfm
key and object in response
Endpoints affected:
POST | /api/public/v3/shipments |
GET | /api/public/v3/shipments |
GET | /api/public/v3/shipments/{id} |
GET | /api/public/v3/return_portals/{id}/shipments |
The dfm
key, previously conditional on the carrier being "dfm," will now always be included. If the carrier is not "dfm", the key will have a null value. The dfm
object includes fields like insurance_type
, insurance_amount
, dot_time
, and more.
waybill_reference
key always present in response
Endpoints affected:
POST | /api/public/v3/shipments |
GET | /api/public/v3/shipments |
GET | /api/public/v3/shipments/{id} |
GET | /api/public/v3/return_portals/{id}/shipments |
The waybill_reference
key will now always be present, even if its value is null.
customs
key always present in response
Endpoints Affected:
POST | /api/public/v3/shipments |
GET | /api/public/v3/shipments |
GET | /api/public/v3/shipments/{id} |
GET | /api/public/v3/return_portals/{id}/shipments |
The customs
key will now be present in all responses, even if customs_required
is false. The value will be null when not required.
label_overlay
key always present in response
Endpoints affected:
POST | /api/public/v3/shipments |
GET | /api/public/v3/shipments |
GET | /api/public/v3/shipments/{id} |
GET | /api/public/v3/return_portals/{id}/shipments |
The label_overlay
key, which was conditional on the label_overlay being set, will now always be included with null values if not applicable.