Skip to main content

Tracking

Retrieve real-time tracking history for a DPD parcel, including all status events, timestamps, and location information.

Endpoint: GET /api/v1/tracking/{parcelNumber} Auth: Bearer JWT token required


Request

Path parameter:

ParameterTypeRequiredExample
parcelNumberStringMandatory05305000123456

Query parameter:

ParameterTypeRequiredDescription
localeStringOptionalLocalise descriptions — de_CH, en_US, fr_CH, it_CH
# Basic
curl -X GET "https://label-print-shipments.dpd.ch/api/v1/tracking/05305000123456" \
-H "Authorization: Bearer <jwt_token>"

# With locale
curl -X GET "https://label-print-shipments.dpd.ch/api/v1/tracking/05305000123456?locale=en_US" \
-H "Authorization: Bearer <jwt_token>"

Response

200 OK:

{
"shipmentInfo": {
"type": "shipment",
"service": "PSD",
"product": "DPD Classic"
},
"statusInfo": [
{
"name": "ACCEPTED",
"displayName": "Parcel handed to DPD",
"description": "DPD has received your parcel.",
"location": "",
"date": "2025-10-29 14:30:00",
"hasBeenReached": true,
"isCurrent": false
},
{
"name": "AT_SENDING_DEPOT",
"displayName": "In transit",
"description": "The parcel is at the parcel dispatch centre.",
"location": "Bern Hub",
"date": "2025-10-30 08:15:00",
"hasBeenReached": true,
"isCurrent": true
},
{
"name": "DELIVERED",
"displayName": "Parcel delivered",
"description": "Your parcel has been delivered successfully.",
"location": "",
"date": "",
"hasBeenReached": false,
"isCurrent": false
}
]
}

statusInfo fields

FieldTypeDescription
nameStringStatus code identifier
displayNameStringTranslated status label
descriptionStringDetailed translated description
locationStringLocation where the event occurred
dateStringTimestamp (yyyy-MM-dd HH:mm:ss), empty if not yet reached
hasBeenReachedBooleanWhether this status has occurred
isCurrentBooleanWhether this is the current status

Status codes

StatusEnglish (en_US)German (de_CH)French (fr_CH)Italian (it_CH)
ACCEPTEDParcel handed to DPDPaket an DPD übergebenColis reçuPacco ricevuto
AT_SENDING_DEPOTIn transitPaket unterwegsColis en cours d'acheminementPacco in viaggio
ON_THE_ROADAt parcel delivery centreIm PaketzustellzentrumColis au centre de triPacco nel centro consegne pacchi
AT_DELIVERY_DEPOTParcel out for deliveryIn ZustellungColis livréPacco consegnato
DELIVEREDParcel deliveredPaket zugestelltColis livréPacco consegnato

Typical status flow

ACCEPTED → AT_SENDING_DEPOT → ON_THE_ROAD → AT_DELIVERY_DEPOT → DELIVERED

HTTP status codes

CodeDescription
200 OKTracking data returned
401 UnauthorizedMissing or invalid token
404 Not FoundParcel number not found