Zum Hauptinhalt springen

DPD Label Print Versand-API

Die Versand-API ermöglicht die Integration der DPD-Versanddienste in Ihre Anwendungen – einschliesslich Sendungserstellung, Sendungsverfolgung, Paketshop-Suche und Abholplanung.

Basis-URL: https://label-print-shipments.dpd.ch API-Version: v1 Authentifizierung: JWT Bearer-Token (siehe Authentifizierung)


API-Referenz

APIEndpunkteBeschreibung
Authentifizierung2Benutzeranmeldung und JWT-Token-Generierung
Sendungen1Sendungen mit automatischer Etikettenerstellung anlegen
Sendungsverfolgung1Echtzeit-Sendungsverfolgungsdaten
Paketshops3Paketshops suchen und Detailinformationen abrufen
Abholaufträge1Einmalige Paketabholungen planen
Abholbestellungen1Wiederkehrende Abhol-Zeitpläne erstellen

Schnellstart

1. Zugriffstoken abrufen

curl -X POST "https://label-print-shipments.dpd.ch/api/v1/login" \
-H "Content-Type: application/json" \
-d '{
"username": "ihr_benutzername",
"password": "ihr_passwort"
}'
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "..."
}

2. API-Endpunkte aufrufen

Fügen Sie das Token in jede Anfrage ein:

curl -X GET "https://label-print-shipments.dpd.ch/api/v1/tracking/05305000123456" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

Allgemeine Konzepte

Adressvalidierung

Alle Adressfelder folgen einheitlichen Regeln:

{
"name": "Firmenname", // Pflichtfeld, max. 35 Zeichen
"countryCode": "CH", // Pflichtfeld, ISO 2-Buchstaben
"zipCode": "8000", // Pflichtfeld, max. 9 Zeichen
"city": "Zürich", // Pflichtfeld, max. 35 Zeichen
"street": "Bahnhofstrasse 1", // Pflichtfeld, max. 35 Zeichen
"phone": "+41441234567", // Pflichtfeld für GB
"email": "info@firma.ch" // Pflichtfeld für nicht-CH/LI
}

Länderspezifische Anforderungen:

  • NL: houseNumber ist Pflichtfeld
  • GB: phone ist Pflichtfeld (internationales Format)
  • US/CA: stateCode ist Pflichtfeld
  • Nicht-CH/LI: email ist Pflichtfeld (ausser GB)

Servicecodes

CodeServiceBeschreibungMax. Gewicht
PSDDPD ClassicStandard-Inlandslieferung35 kg
PSIDPD Classic InternationalInternationale Lieferung20 kg
PLDPD Express LetterExpress-Briefservice2 kg
PBOXDPD ParcelBoxPaketbox-Lieferung5 kg
RETRetourenserviceRücksendungenvariiert

Fehlerantworten

Alle Endpunkte geben konsistente Fehlerobjekte zurück:

{
"timestamp": "2025-10-30T10:30:00Z",
"status": 400,
"error": "Bad Request",
"message": "Validierung fehlgeschlagen",
"path": "/api/v1/shipments"
}

207 Multi-Status – Teilerfolg (einige Einträge erfolgreich, andere fehlgeschlagen):

{
"tracingId": "TRACE-123",
"success": [],
"failed": [
{
"id": 2,
"fieldErrors": {
"field.name": ["error_code"]
}
}
]
}

Unterstützte Sprachen

Übergeben Sie den locale-Header oder -Parameter für lokalisierte Meldungen:

SpracheLocale-Werte
Deutschde_CH, de_DE
Englischen_US, en_GB
Französischfr_CH, fr_FR
Italienischit_CH, it_IT

Best Practices

  • Token: sicher speichern, vor Ablauf erneuern, nie in URLs oder Logs preisgeben
  • Rate Limiting: 429 Too Many Requests korrekt behandeln; Paketshop-Daten cachen
  • Fehlerbehandlung: HTTP-Statuscodes prüfen; Wiederholungslogik für 5xx-Fehler implementieren
  • Validierung: Daten client-seitig validieren; länderspezifische Regeln beachten