Aller au contenu principal

API DPD Label Print Expédition

L'API d'expédition vous permet d'intégrer les services d'envoi DPD dans vos applications — création d'envois, suivi, recherche de points de collecte et planification des enlèvements.

URL de base: https://label-print-shipments.dpd.ch Version de l'API: v1 Authentification: Jeton JWT Bearer (voir Authentification)


Référence API

APIPoints de terminaisonDescription
Authentification2Connexion utilisateur et génération de jetons JWT
Expéditions1Créer des envois avec génération automatique d'étiquettes
Suivi1Données de suivi en temps réel
Points de collecte3Rechercher des points de collecte DPD
Demandes de collecte1Planifier des collectes ponctuelles
Ordres d'enlèvement1Créer des plannings d'enlèvement récurrents

Démarrage rapide

1. Obtenir un jeton d'accès

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

2. Appeler les points de terminaison API

Incluez le jeton dans chaque requête :

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

Concepts communs

Validation des adresses

{
"name": "Nom de la société", // obligatoire, max 35 caractères
"countryCode": "CH", // obligatoire, code ISO à 2 lettres
"zipCode": "8000", // obligatoire, max 9 caractères
"city": "Zürich", // obligatoire, max 35 caractères
"street": "Bahnhofstrasse 1", // obligatoire, max 35 caractères
"phone": "+41441234567", // obligatoire pour GB
"email": "info@societe.ch" // obligatoire pour non-CH/LI
}

Exigences spécifiques aux pays :

  • NL : houseNumber obligatoire
  • GB : phone obligatoire (format international)
  • US/CA : stateCode obligatoire
  • Non-CH/LI : email obligatoire (sauf GB)

Codes de service

CodeServiceDescriptionPoids max.
PSDDPD ClassicLivraison nationale standard35 kg
PSIDPD Classic InternationalLivraison internationale20 kg
PLDPD Express LetterService lettre express2 kg
PBOXDPD ParcelBoxLivraison en casier5 kg
RETService retourRetoursvariable

Réponses d'erreur

{
"timestamp": "2025-10-30T10:30:00Z",
"status": 400,
"error": "Bad Request",
"message": "Échec de la validation",
"path": "/api/v1/shipments"
}

Langues prises en charge

LangueValeurs locale
Allemandde_CH, de_DE
Anglaisen_US, en_GB
Françaisfr_CH, fr_FR
Italienit_CH, it_IT

Bonnes pratiques

  • Jetons : stocker de manière sécurisée, renouveler avant expiration, ne jamais exposer dans les URLs ou les journaux
  • Limitation de débit : gérer 429 Too Many Requests ; mettre en cache les données des points de collecte
  • Gestion des erreurs : vérifier les codes HTTP ; implémenter une logique de nouvelle tentative pour les erreurs 5xx
  • Validation : valider les données côté client ; respecter les règles spécifiques aux pays