Authentifizierung
Die Login-API stellt JWT-Zugriffstoken bereit, die für alle geschützten Endpunkte erforderlich sind.
Basispfad: /api/v1
POST /api/v1/login
Standard-Anmeldung – gibt Zugriffs- und Refresh-Token zurück.
Authentifizierung: Keine (öffentlicher Endpunkt)
Anfrage:
{
"username": "max.muster",
"password": "SicheresP@sswort"
}
| Feld | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
username | String | Ja | Benutzername |
password | String | Ja | Passwort |
Antwort 200 OK:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
Statuscodes:
| Code | Beschreibung |
|---|---|
200 OK | Anmeldung erfolgreich |
400 Bad Request | Validierungsfehler (fehlende Felder) |
401 Unauthorized | Ungültige Anmeldedaten |
POST /api/v1/login-extended
Gibt Zugriffstoken plus zusätzliche Benutzerinformationen zurück (Depotcode, Ablaufzeitpunkt).
Authentifizierung: Keine (öffentlicher Endpunkt)
Anfrage: identisch mit /login
Antwort 200 OK:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"userName": "max.muster",
"depotCode": "0699",
"expireAt": "2025-10-30T18:30:00Z"
}
| Feld | Typ | Beschreibung |
|---|---|---|
token | String | JWT-Zugriffstoken |
refreshToken | String | JWT-Refresh-Token |
userName | String | Angemeldeter Benutzername |
depotCode | String | Erster nicht-leerer Depotcode aus Benutzer-Abholadressen |
expireAt | ISO 8601 | Token-Ablaufzeitpunkt |
Statuscodes:
| Code | Beschreibung |
|---|---|
200 OK | Anmeldung erfolgreich |
400 Bad Request | Validierungsfehler |
401 Unauthorized | Ungültige Anmeldedaten |
403 Forbidden | Auto-Login-Kontext fehlt |
Token verwenden
Fügen Sie das JWT in jede nachfolgende Anfrage ein:
curl -X GET "https://label-print-shipments.dpd.ch/api/v1/tracking/05305000123456" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Token-Ablauf
- Standard-TTL ist serverseitig konfiguriert (typischerweise 24 Stunden)
- Eine
401 Unauthorized-Antwort bedeutet, dass das Token abgelaufen ist - Erneut mit
/loginauthentifizieren, um ein neues Token zu erhalten
Sicherheits-Checkliste
- In der Produktion immer HTTPS verwenden
- Token in sicheren HTTP-only-Cookies oder sicherem Speicher ablegen – nie in
localStorage - Token nie in URLs oder Log-Dateien preisgeben
- Token bei Abmeldung löschen