Aller au contenu principal

Manifestes

Génère un PDF de manifeste listant les expéditions remises à DPD pour un numéro de facturation donné. Assure la traçabilité de l'enlèvement du jour — le fichier est retourné sous forme de pièce jointe PDF et est destiné à être imprimé et joint aux colis.

Point de terminaisonProduitAuthentification
POST /api/v1/shipments/print-manifestapplication/pdfJeton JWT Bearer requis

Le point de terminaison renvoie uniquement les expéditions appartenant à l'utilisateur authentifié. Filtrez le résultat avec une plage de dates (fromDate/toDate, appliquée à importedAt) et/ou une liste explicite de parcelNumbersau moins l'un des deux filtres est requis.

Requête

Content-Type: application/json

{
"invoicingNumber": "12345678",
"fromDate": "2026-03-25",
"toDate": "2026-04-29",
"parcelNumbers": ["05305000123456", "05305000123457"],
"address": {
"reference": "PICKUP-001"
},
"printSettings": {
"printRecipientReference": true,
"printParcelReference1": true,
"printParcelReference2": true,
"printUserName": true,
"printWeight": true,
"sortOrderForManifest": "CONSIGNEE_ZIP"
}
}
ChampTypeObligatoireDescription
invoicingNumberStringOuiNuméro de facturation délimitant le manifeste
fromDateDate (yyyy-MM-dd)ConditionnelBorne inférieure inclusive de importedAt. Requis si parcelNumbers n'est pas fourni. Doit être fourni avec toDate
toDateDate (yyyy-MM-dd)ConditionnelBorne supérieure inclusive de importedAt. Requis si parcelNumbers n'est pas fourni. Doit être fourni avec fromDate
parcelNumbersArray<String>ConditionnelRestreint le manifeste à des numéros de colis spécifiques. Requis si aucune plage de dates n'est fournie
addressObjetNonAdresse d'enlèvement délimitant le manifeste. Seul reference est lu ; tous les autres champs d'adresse sont ignorés. La référence est résolue via la configuration client. Si omise et que le résultat couvre plusieurs enlèvements, le premier enlèvement rencontré est utilisé et les autres expéditions sont silencieusement écartées
printSettingsObjetOuiParamètres d'impression appliqués au manifeste généré

Champs printSettings

ChampTypeObligatoireDescription
printRecipientReferenceBooleanNonImprimer la colonne référence du destinataire
printParcelReference1BooleanNonImprimer la référence colis 1
printParcelReference2BooleanNonImprimer la référence colis 2
printUserNameBooleanNonImprimer le nom de l'utilisateur sur le manifeste
printWeightBooleanNonImprimer la colonne poids du colis
sortOrderForManifestEnumOuiOrdre de tri des expéditions sur le manifeste

Valeurs de sortOrderForManifest :

ValeurDescription
CONSIGNEE_ZIPTri par code postal du destinataire
CONSIGNEE_COUNTRYTri par pays du destinataire
CONSIGNEE_NAMETri par nom du destinataire
REFERENCE_1Tri par référence colis 1
PARCEL_NUMBERTri par numéro de colis

Cas d'usage courant — manifeste du jour

Le cas d'intégration le plus fréquent est la génération du manifeste pour les expéditions importées aujourd'hui, juste avant l'enlèvement par le chauffeur. Définissez fromDate et toDate sur la date du jour (jours UTC) et omettez parcelNumbers pour inclure toutes les expéditions de ce numéro de facturation pour ce jour :

{
"invoicingNumber": "12345678",
"fromDate": "2026-05-26",
"toDate": "2026-05-26",
"printSettings": {
"printRecipientReference": true,
"printParcelReference1": true,
"printUserName": true,
"printWeight": true,
"sortOrderForManifest": "CONSIGNEE_ZIP"
}
}
TODAY=$(date -u +%F)
curl -X POST "https://label-print-shipments.dpd.ch/api/v1/shipments/print-manifest" \
-H "Authorization: Bearer <jwt_token>" \
-H "Content-Type: application/json" \
-o manifest.pdf \
-d "{
\"invoicingNumber\": \"12345678\",
\"fromDate\": \"$TODAY\",
\"toDate\": \"$TODAY\",
\"printSettings\": {
\"printRecipientReference\": true,
\"printParcelReference1\": true,
\"printUserName\": true,
\"printWeight\": true,
\"sortOrderForManifest\": \"CONSIGNEE_ZIP\"
}
}"

Remarques :

  • fromDate/toDate sont comparés à importedAt en UTC (du début à la fin de la journée). Les expéditions importées après minuit UTC du jour calendaire suivant dans votre fuseau local n'apparaîtront pas.
  • Fournissez address: {"reference": "PICKUP-001"} pour cibler un enlèvement spécifique lorsque l'utilisateur en a plusieurs.

Réponse

200 OK — manifeste généré ; le corps de la réponse est le flux PDF.

En-têteValeur
Content-Typeapplication/pdf
Content-Dispositionattachment; filename="manifest.pdf"
Content-LengthTaille du PDF en octets

Codes de statut

CodeDescription
200 OKManifeste généré
400 Bad RequestFiltre manquant ou invalide (p. ex. seul fromDate ou toDate défini, fromDate après toDate, ni plage de dates ni parcelNumbers fourni, printSettings manquant, address.reference non résoluble)
401 UnauthorizedJeton manquant ou invalide
404 Not FoundAucune expédition ne correspond au filtre ou à l'enlèvement demandé

Exemple

curl -X POST "https://label-print-shipments.dpd.ch/api/v1/shipments/print-manifest" \
-H "Authorization: Bearer <jwt_token>" \
-H "Content-Type: application/json" \
-o manifest.pdf \
-d '{
"invoicingNumber": "12345678",
"fromDate": "2026-03-25",
"toDate": "2026-04-29",
"parcelNumbers": ["05305000123456", "05305000123457"],
"address": {
"reference": "PICKUP-001"
},
"printSettings": {
"printRecipientReference": true,
"printParcelReference1": true,
"printParcelReference2": true,
"printUserName": true,
"printWeight": true,
"sortOrderForManifest": "CONSIGNEE_ZIP"
}
}'