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:
| Parameter | Type | Required | Example |
|---|---|---|---|
parcelNumber | String | Mandatory | 05305000123456 |
Query parameter:
| Parameter | Type | Required | Description |
|---|---|---|---|
locale | String | Optional | Localise 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
| Field | Type | Description |
|---|---|---|
name | String | Status code identifier |
displayName | String | Translated status label |
description | String | Detailed translated description |
location | String | Location where the event occurred |
date | String | Timestamp (yyyy-MM-dd HH:mm:ss), empty if not yet reached |
hasBeenReached | Boolean | Whether this status has occurred |
isCurrent | Boolean | Whether this is the current status |
Status codes
| Status | English (en_US) | German (de_CH) | French (fr_CH) | Italian (it_CH) |
|---|---|---|---|---|
ACCEPTED | Parcel handed to DPD | Paket an DPD übergeben | Colis reçu | Pacco ricevuto |
AT_SENDING_DEPOT | In transit | Paket unterwegs | Colis en cours d'acheminement | Pacco in viaggio |
ON_THE_ROAD | At parcel delivery centre | Im Paketzustellzentrum | Colis au centre de tri | Pacco nel centro consegne pacchi |
AT_DELIVERY_DEPOT | Parcel out for delivery | In Zustellung | Colis livré | Pacco consegnato |
DELIVERED | Parcel delivered | Paket zugestellt | Colis livré | Pacco consegnato |
Typical status flow
ACCEPTED → AT_SENDING_DEPOT → ON_THE_ROAD → AT_DELIVERY_DEPOT → DELIVERED
HTTP status codes
| Code | Description |
|---|---|
200 OK | Tracking data returned |
401 Unauthorized | Missing or invalid token |
404 Not Found | Parcel number not found |