Aller au contenu principal

Demandes de collecte

Planifiez une collecte ponctuelle de colis depuis votre adresse. DPD viendra collecter les colis à la date demandée, dans un créneau horaire spécifié.

Point de terminaison: POST /api/v1/collection-requests Authentification: Jeton JWT Bearer requis


Requête

Paramètre de requête : locale (facultatif) — localise les messages d'erreur (p. ex. de_CH, en_US, fr_CH, it_CH)

Corps : List<CollectionRequestDTO>

Champs

ChampTypeLongueurObligatoireDescription
idLongNonIdentifiant de la demande pour le suivi dans la réponse
invoicingNumberString1–20OuiVotre numéro de facturation client DPD
pickupDateString10OuiDate de collecte souhaitée (yyyy-MM-dd), doit être une date future
referenceNumberString0–50NonVotre numéro de référence interne
noteString0–255NonInstructions spéciales de collecte
senderAddressDTOOuiAdresse où les colis seront collectés
receiverAddressDTOOuiAdresse de destination finale
requesterAddressDTONonPersonne demandant la collecte (par défaut, le destinataire)
numberOfParcelsIntegerOuiNombre de colis prévu (1–999)
weightDoubleNonPoids total de tous les colis en grammes
serviceCodeString2–10OuiCode service DPD (p. ex. PSD, PSI)
clientSoftwareString0–50NonNom de votre application
clientVersionString0–20NonVersion de votre application

Exemple

curl -X POST "https://label-print-shipments.dpd.ch/api/v1/collection-requests?locale=fr_CH" \
-H "Authorization: Bearer <jwt_token>" \
-H "Content-Type: application/json" \
-d '[
{
"invoicingNumber": "12345678",
"pickupDate": "2025-10-31",
"serviceCode": "PSD",
"numberOfParcels": 5,
"weight": 25000.0,
"sender": {
"name": "Société Expéditrice SA",
"countryCode": "CH",
"zipCode": "1000",
"city": "Lausanne",
"street": "Route de Berne 25",
"phone": "+41441234567"
},
"receiver": {
"name": "Société Destinataire SARL",
"countryCode": "FR",
"zipCode": "75001",
"city": "Paris",
"street": "Rue de Rivoli 1"
}
}
]'

Réponse

201 Created — toutes les demandes créées :

{
"tracingId": "TRACE-789",
"success": [
{ "id": 1, "referenceNumber": "CR-20251031-001" }
],
"failed": []
}

207 Multi-Status — succès partiel :

{
"tracingId": "TRACE-790",
"success": [],
"failed": [
{
"id": 1,
"fieldErrors": {
"pickupDate": ["MUST_BE_FUTURE_DATE"]
}
}
]
}

Codes de statut :

CodeDescription
201 CreatedToutes les demandes de collecte créées
207 Multi-StatusCertaines ont réussi, d'autres ont échoué
400 Bad RequestErreur de validation
401 UnauthorizedJeton manquant ou invalide

Remarques

  • pickupDate doit être une date future ; les dates passées sont rejetées
  • weight est exprimé en grammes (p. ex. 25000 = 25 kg)
  • La validation des adresses suit les mêmes règles spécifiques aux pays que les Expéditions (numéro de maison NL, téléphone GB, e-mail non-CH/LI, etc.)