ParcelLifeCycleService
Version: 2.0 · December 2025
The ParcelLifeCycleService retrieves full parcel tracking data including scan events, status, and delivery information.
note
You must first call LoginService to obtain an authToken, then pass it in the authentication header of every request.
Before You Send a Request
Obtain an auth token from LoginService and map it to your tracking request.
SOAP login:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://dpd.com/common/service/types/LoginService/2.1">
<soapenv:Header/>
<soapenv:Body>
<ns:getAuth>
<delisId>String</delisId>
<password>String</password>
<messageLanguage>en_EN</messageLanguage>
</ns:getAuth>
</soapenv:Body>
</soapenv:Envelope>
REST login:
{
"delisId": "String",
"password": "String",
"messageLanguage": "en_CH"
}
Methods
| Method | Description |
|---|---|
getTrackingData | Returns parcel tracking data for a given parcel label number |
getTrackingData
Action: http://dpd.com/common/service/ParcelLifeCycleService/2.0/getTrackingData
Input:
| Name | Element |
|---|---|
authentication (header) | types_authentication:authentication |
parameters | types:getTrackingData |
Output:
| Name | Element |
|---|---|
parameters | types:getTrackingDataResponse |
Faults:
| Name | Element |
|---|---|
authenticationFault | types_authentication:authenticationFault |
Examples
getTrackingData — SOAP
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://dpd.com/common/service/types/Authentication/2.0"
xmlns:ns1="http://dpd.com/common/service/types/ParcelLifeCycleService/2.0">
<soapenv:Header>
<ns:authentication>
<delisId>{your delisId}</delisId>
<authToken>{your authToken}</authToken>
<messageLanguage>de_CH</messageLanguage>
</ns:authentication>
</soapenv:Header>
<soapenv:Body>
<ns1:getTrackingData>
<parcelLabelNumber>06081234567890</parcelLabelNumber>
</ns1:getTrackingData>
</soapenv:Body>
</soapenv:Envelope>
getTrackingData — REST
POST {baseUrl}/rest/services/ParcelLifeCycle
{
"authentication": {
"delisId": "{your delisId}",
"authToken": "{your authToken}",
"messageLanguage": "en_CH"
},
"getTrackingData": {
"parcelLabelNumber": "06081234567890"
}
}
Response (success):
{
"getTrackingDataResponse": {
"trackingResult": {
"shipmentInfo": {
"serviceDescription": {
"content": [{ "content": "DPD CLASSIC (option Predict)", "bold": false }]
},
"status": "SHIPMENT"
},
"statusInfo": [
{
"status": "ACCEPTED",
"label": { "content": "Parcel handed to DPD", "bold": true },
"statusHasBeenReached": true,
"isCurrentStatus": false,
"location": null,
"date": null
},
{
"status": "AT_SENDING_DEPOT",
"label": { "content": "In transit", "bold": true },
"statusHasBeenReached": true,
"location": { "content": "Buchs (CH)", "bold": true },
"date": { "content": "22/04/2020, 03:08 Uhr", "bold": true }
},
{
"status": "AT_DELIVERY_DEPOT",
"label": { "content": "Parcel out for delivery", "bold": true },
"statusHasBeenReached": true,
"location": { "content": "Buchs (CH)", "bold": true },
"date": { "content": "24/04/2020, 09:23 Uhr", "bold": true }
},
{
"status": "DELIVERED",
"label": { "content": "Parcel delivered", "bold": true },
"statusHasBeenReached": true,
"isCurrentStatus": true,
"location": { "content": "Buchs (CH)", "bold": true },
"date": { "content": "24/04/2020, 13:49 Uhr", "bold": true }
}
]
}
},
"status": { "type": "OK", "code": "200", "message": "valid" }
}
Complex Types
Namespace: types
URL: http://dpd.com/common/service/types/ParcelLifeCycleService/2.0
ShipmentInfo
Contains general shipment information.
| Field | Type / Occurrence | Description |
|---|---|---|
receiver | types:ContentItem / 0..1 | Receiver of parcel |
predictInformation | types:ContentItem / 0..1 | Estimated delivery time (DPD Predict) |
serviceDescription | types:ContentItem / 0..1 | DPD product name (e.g. DPD Classic) |
additionalServiceElements | types:ContentItem / 0..1 | Additional services |
trackingProperty | types:TrackingProperty / 0..* | Properties |
status | xsd:string / 1..1 | One of: SHIPMENT, ACCEPTED, AT_SENDING_DEPOT, ON_THE_ROAD, AT_DELIVERY_DEPOT, DELIVERED |
label | types:ContentLine / 1..1 | Status name |
description | types:ContentItem / 1..1 | Status description |
statusHasBeenReached | xsd:boolean / 1..1 | Whether this status has been reached |
isCurrentStatus | xsd:boolean / 1..1 | Whether this is the current status |
showContactInfo | xsd:boolean / 1..1 | Whether to display contact info |
location | types:ContentLine / 0..1 | Location of last scan |
date | types:ContentLine / 0..1 | Date and time of last scan |
normalItems | types:ContentItem / 0..* | Events classified as NORMAL |
importantItems | types:ContentItem / 0..* | Events classified as IMPORTANT |
errorItems | types:ContentItem / 0..* | Events classified as ERROR |
StatusInfo
Contains all scan data for a status.
| Field | Type / Occurrence | Description |
|---|---|---|
status | xsd:string / 1..1 | Status code |
label | types:ContentLine / 1..1 | Status name |
description | types:ContentItem / 1..1 | Status description |
statusHasBeenReached | xsd:boolean / 1..1 | Whether status has been reached |
isCurrentStatus | xsd:boolean / 1..1 | Whether this is the current status |
showContactInfos | xsd:boolean / 1..1 | Whether to display contact info |
location | types:ContentLine / 0..1 | Location of last scan |
date | types:ContentLine / 0..1 | Date and time |
normalItems | types:ContentItem / 0..* | NORMAL events |
importantItems | types:ContentItem / 0..* | IMPORTANT events |
errorItems | types:ContentItem / 0..* | ERROR events |
TrackingResult
| Field | Type / Occurrence | Description |
|---|---|---|
shipmentInfo | types:ShipmentInfo / 0..1 | General shipment information |
statusInfo | types:StatusInfo / 0..* | Status history |
contactInfo | types:ContentItem / 0..3 | Contact information |
getTrackingData
| Field | Type / Occurrence | Description |
|---|---|---|
parcelLabelNumber | xsd:string / 1..1 · length 14 | Parcel label number |
ContentItem
| Field | Type / Occurrence | Description |
|---|---|---|
label | types:ContentLine / 0..1 | Identifier for content item |
content | types:ContentLine / 1..* | Content lines |
linkTarget | xsd:string / 0..1 | If set, a link is created from the content item |
ContentLine
| Field | Type / Occurrence | Description |
|---|---|---|
content | xsd:string / 1..1 | Text content |
bold | xsd:boolean / 1..1 | Whether to display in bold |
paragraph | xsd:boolean / 1..1 | Whether to render as a paragraph |
Namespace: types_authentication
URL: http://dpd.com/common/service/types/Authentication/2.0
authentication
| Field | Type / Occurrence | Description |
|---|---|---|
delisId | xsd:string / 1..1 · 8–10 chars | DELIS user ID |
authToken | xsd:string / 1..1 · 0–64 chars | Token from LoginService.getAuth |
messageLanguage | xsd:string / 1..1 · length 5 | de_CH, fr_CH, it_CH, or en_CH |
Parcel Status Codes
| Status | Description |
|---|---|
SHIPMENT | Shipment created |
ACCEPTED | Parcel handed to DPD |
AT_SENDING_DEPOT | In transit at sending depot |
ON_THE_ROAD | On the way to delivery depot |
AT_DELIVERY_DEPOT | Out for delivery |
DELIVERED | Parcel delivered |
Entry Points
| Environment | Protocol | URL |
|---|---|---|
| Stage | SOAP | https://shivah-st.dpd.ch/external/soap/services/ParcelLifeCycle |
| Live | SOAP | https://shivah.dpd.ch/external/soap/services/ParcelLifeCycle |
| Stage | REST | https://shivah-st.dpd.ch/external/rest/services/ParcelLifeCycle |
| Live | REST | https://shivah.dpd.ch/external/rest/services/ParcelLifeCycle |