The Parcel API endpoints are focused on the management of the parcel bookings. It allows for Carrier to publish parcel data for respective locker booking creation, the retrieval of parcel information and cancellation of parcel bookings.
- Parcel Data Publishing: Publish parcel data from the Carrier into the OOH Platform, enabling carriers to trigger locker bookings or pre-checks at the appropriate time.
- Parcel Information Retrieval: Fetch details of parcels, including status, and event history.
- Parcel Cancellation: Cancel parcel booking for parcels that are no longer to be delivered into the locker.
Key Features:
- Real-time Parcel Bookings: Push real-time parcel data to the OOH Platform to perform bookings at any time.
- Comprehensive Parcel Data: Retrieve detailed information on parcel booking status and history.
- Cancellation Flexibility: Cancel undelivered parcels to manage logistics effectively.
Publish parcel data
This endpoint allows the Carriers to publish parcel data into the OOH Platform. It should be used to push parcel data at the time when the locker booking is expected to take place or to pre-check if a parcel can be accepted in the locker.
Publish parcel data › Request Body
eventTypeThe type of booking request.
lockerUidThe unique identifier of the locker in the GLS/NXT Platform.
carrierParcelIdThe identifier of the parcel in the carrier's system.
The dimensions of the parcel. A missing field counts as unknown, and the platform uses 10 mm for it.
shipmentTypeThe possible types of last-mile shipments accepted. Defaults to LAST_MILE when not present.
consigneeThe details of the consignee.
weightWeight in grams
allocationTypeThe allocation type of the shipment.
requiresAccessibleCompartmentIndicates whether the parcel requires an accessible compartment. Defaults to false when not present or null.
secondaryShipmentIdA secondary identifier for the shipment, separate from carrierParcelId.
codAmountCash-on-delivery amount to collect, expressed in minor units (e.g. cents).
codCurrencyISO 4217 currency code for codAmount.
lockStatusThe lock state to apply to the parcel on booking. LOCKED blocks the consignee from collecting the parcel; UNLOCKED releases it for collection.
Publish parcel data › Responses
Parcel event published successfully
statusThe status of the event processing.
messageA message providing additional information about the event processing.
timestampThe timestamp when the event was processed.
Publish parcel data with carrier locker id
This endpoint is an alternative to /parcels/data endpoint and could be used to publish parcel data using carrierLockerId instead of lockerUid.
Publish parcel data with carrier locker id › Request Body
eventTypeThe type of booking request.
carrierLockerIdThe unique identifier of the locker in the Carrier Platform.
carrierParcelIdThe identifier of the parcel in the carrier's system.
The dimensions of the parcel. A missing field counts as unknown, and the platform uses 10 mm for it.
shipmentTypeThe possible types of last-mile shipments accepted. Defaults to LAST_MILE when not present.
consigneeThe details of the consignee.
weightWeight in grams
allocationTypeThe allocation type of the shipment.
requiresAccessibleCompartmentIndicates whether the parcel requires an accessible compartment. Defaults to false when not present or null.
secondaryShipmentIdA secondary identifier for the shipment, separate from carrierParcelId.
codAmountCash-on-delivery amount to collect, expressed in minor units (e.g. cents).
codCurrencyISO 4217 currency code for codAmount.
lockStatusThe lock state to apply to the parcel on booking. LOCKED blocks the consignee from collecting the parcel; UNLOCKED releases it for collection.
Publish parcel data with carrier locker id › Responses
Parcel event published successfully
statusThe status of the event processing.
messageA message providing additional information about the event processing.
timestampThe timestamp when the event was processed.
Get parcels
Retrieve a list of parcels associated with the carrier. This endpoint allows fetching detailed information about parcels, including their status and history.
query Parameters
idsComma-separated list of parcel IDs to retrieve
Get parcels › Responses
Parcels fetched successfully. The list is empty when the carrier has no parcel with these IDs.
List of parcels
shipmentUidThe unique identifier of the parcel shipment in the GLS/NXT Platform
lockerUidThe unique identifier of the locker in the GLS/NXT Platform
carrierParcelIdThe identifier of the parcel in the carrier's system
dimensionsStatusThe status of the parcel dimensions. The parcel API sends PARCEL_DIMENSIONS_EXCEEDED for a parcel that is too big; webhooks send PARCEL_DIMENSIONS_EXCEED.
shipmentStatusThe status of the shipment. LOCKED, UNLOCKED and CONSIGNEE_PAID are milestones in a parcel's events; they are never the parcel's shipmentStatus.
isFinalconsigneeThe details of the consignee.
requiresAccessibleCompartmentcarrierLockerIdThe identifier of the locker in the carrier's system
The type of shipment. null when the platform received no shipment type for the parcel.
accessCodesAccess codes for the parcel
The allocation type of the shipment. null when the platform received no allocation type for the parcel.
providerNameThe name of the locker network provider
providerLockerIdThe identifier of the locker in the provider's system
shipmentSignatureA Base64-encoded image representing the consignee's signature, captured upon parcel collection
labelTypeLabel mode for the shipment. LABELLESS means no printed label is used and LABELED means a printed label is used.
referenceCodeReference code scanned by driver during pickup of the labelless parcel. This field is only relevant for LABELLESS shipments.
secondaryShipmentIdA secondary identifier for the shipment, separate from carrierParcelId.
paymentStatusThe current cash-on-delivery payment status for the shipment, when applicable. Absent when the shipment carries no CoD payment.
codAmountCash-on-delivery amount to collect, expressed in minor units (e.g. cents). Absent when the shipment carries no CoD payment.
codCurrencyISO 4217 currency code for codAmount. Absent when the shipment carries no CoD payment.
paymentTypeThe payment method used for a cash-on-delivery parcel, as reported by the locker provider. Absent when the shipment carries no CoD payment.
lockStatusThe current provider lock state of the parcel, when known. LOCKED means the consignee cannot collect the parcel (e.g. a cash-on-delivery payment is still pending); UNLOCKED means it can be collected. Absent when the parcel carries no lock state.
signatureThe same value as shipmentSignature. Sent only when the parcel has a signature. Use shipmentSignature instead.
Get parcels (v2)
Retrieve a paginated list of parcels associated with the carrier, filterable by locker and/or parcel IDs.
- At least one of
lockerId,carrierLockerIdoridsmust be provided. - When more than one filter is given, the result is the intersection of all provided filters.
- By default this endpoint returns parcels regardless of status — both active bookings and completed/final parcels linked to the locker. Pass
isFinalto narrow the result to open (false) or finalized (true) parcels. - The platform does not page deeper than 10000 parcels. When
(page - 1) * pageSizeis more than 10000, the response is422. Use more filters instead.
query Parameters
lockerIdThe platform locker UID to filter by. At least one of lockerId, carrierLockerId or ids is required.
carrierLockerIdThe carrier's own locker identifier to filter by. At least one of lockerId, carrierLockerId or ids is required.
idsComma-separated list of parcel IDs to filter by. At least one of lockerId, carrierLockerId or ids is required.
isFinalOptional finality filter. When omitted, no status filter is applied (all statuses). true returns only finalized parcels, false returns only open ones. Must be lowercase true or false.
pageThe page number to retrieve (1-based).
pageSizeThe number of items per page. Maximum 100.
Get parcels (v2) › Responses
Parcels fetched successfully
The list of parcels for the current page.
pageNumberThe current page number (1-based).
pageSizeThe number of items per page.
isLastWhether this is the last page.
Cancel parcel
Cancel the booking of a specific parcel. Only parcels that haven’t been delivered can be cancelled. This endpoint allows carriers to manage cancellations effectively.
When the locker provider rejects the cancellation, the response has the provider's HTTP status code and an sma_error body.
path Parameters
parcelIdThe parcel ID to be cancelled
Cancel parcel › Responses
Parcel cancelled successfully
Lock or unlock a parcel
Lock or unlock a parcel in its locker compartment. Locking prevents the consignee from collecting the parcel — for example while a cash-on-delivery payment is still pending — and unlocking releases it for collection. The carrier is identified by the API key.
Parcel locking must be enabled for the carrier; otherwise the response is 422.
When the locker provider rejects the request, the response has the provider's HTTP
status code and an sma_error body.
path Parameters
parcelIdThe identifier of the parcel in the carrier's system.
Lock or unlock a parcel › Request Body
statusThe lock state to apply. LOCKED blocks the consignee from collecting the parcel; UNLOCKED releases it for collection.
reasonWhy the parcel is being locked. Optional. On LOCKED it defaults to CASH_ON_DELIVERY when omitted. On UNLOCKED it is ignored — the parcel's original lock reason determines how it is released.
Lock or unlock a parcel › Responses
Lock state updated successfully.