Aller au contenu principal

Ordres d'enlèvement

Créez des ordres d'enlèvement planifiés et récurrents. DPD collectera les colis à votre adresse les jours et créneaux horaires spécifiés.

Point de terminaison: POST /api/v1/pickup-orders Authentification: Jeton JWT Bearer requis


Requête

Paramètre de requête : locale (facultatif) — p. ex. de_CH, en_US, fr_CH, it_CH

Corps : List<PickupOrderDTO>

Champs

ChampTypeLongueurObligatoireDescription
invoicingNumberString1–20OuiNuméro de facturation client
pickupDateString10OuiDate d'enlèvement planifiée (yyyy-MM-dd), doit être future
weekDayIntegerNonJour de la semaine (1=Lun … 7=Dim). Calculé automatiquement à partir de pickupDate si omis
fromTime1String5NonDébut du créneau matin (HH:mm)
toTime1String5NonFin du créneau matin (HH:mm)
fromTime2String5NonDébut du créneau après-midi (HH:mm)
toTime2String5NonFin du créneau après-midi (HH:mm)
addressAddressDTOOuiAdresse du lieu d'enlèvement
numberOfParcelsIntegerOuiNombre de colis prévu (1–99)
tourString0–50NonIdentifiant de tournée/route
clientSoftwareString0–50NonNom de l'application cliente
clientVersionString0–20NonVersion de l'application cliente

Créneaux horaires

Vous pouvez spécifier jusqu'à deux créneaux horaires (matin et après-midi). Laissez les champs de l'après-midi vides pour un créneau continu unique.

CréneauChampsExemple
MatinfromTime1 / toTime108:00 / 12:00
Après-midifromTime2 / toTime213:00 / 17:00

Exemple

curl -X POST "https://label-print-shipments.dpd.ch/api/v1/pickup-orders?locale=fr_CH" \
-H "Authorization: Bearer <jwt_token>" \
-H "Content-Type: application/json" \
-d '[
{
"invoicingNumber": "12345678",
"pickupDate": "2025-10-31",
"weekDay": 5,
"fromTime1": "08:00",
"toTime1": "12:00",
"fromTime2": "13:00",
"toTime2": "17:00",
"numberOfParcels": 15,
"address": {
"name": "Warehouse Location A",
"countryCode": "CH",
"zipCode": "8000",
"city": "Zürich",
"street": "Industriestrasse 45",
"phone": "+41441234567",
"email": "warehouse@company.ch",
"reference": "WAREHOUSE-A"
},
"tour": "TOUR-ZH-WEST",
"clientSoftware": "Customer App",
"clientVersion": "4.0.0"
}
]'

Réponse

201 Created — tous les ordres créés :

{
"tracingId": "TRACE-321",
"success": [
{ "id": 1, "tracingId": "123456789" }
],
"failed": []
}

207 Multi-Status — succès partiel avec erreurs au niveau des champs :

{
"tracingId": "TRACE-322",
"success": [],
"failed": [
{
"id": 1,
"fieldErrors": {
"numberOfParcels": ["MAX_99"],
"address.countryCode": ["REQUIRED"]
}
}
]
}

Codes de statut :

CodeDescription
201 CreatedTous les ordres d'enlèvement créés
207 Multi-StatusCertains ont réussi, d'autres ont échoué
400 Bad RequestErreur de validation
401 UnauthorizedJeton manquant ou invalide

Différence avec les demandes de collecte

Ordres d'enlèvementDemandes de collecte
FréquenceRécurrent (planning hebdomadaire)Ponctuel
Créneaux horairesJusqu'à 2 (matin + après-midi)Défini par DPD
Limite de colis99999
Champ poidsNon requisFacultatif (grammes)