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 terminaison | Produit | Authentification |
|---|---|---|
POST /api/v1/shipments/print-manifest | application/pdf | Jeton 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 parcelNumbers — au 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"
}
}
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
invoicingNumber | String | Oui | Numéro de facturation délimitant le manifeste |
fromDate | Date (yyyy-MM-dd) | Conditionnel | Borne inférieure inclusive de importedAt. Requis si parcelNumbers n'est pas fourni. Doit être fourni avec toDate |
toDate | Date (yyyy-MM-dd) | Conditionnel | Borne supérieure inclusive de importedAt. Requis si parcelNumbers n'est pas fourni. Doit être fourni avec fromDate |
parcelNumbers | Array<String> | Conditionnel | Restreint le manifeste à des numéros de colis spécifiques. Requis si aucune plage de dates n'est fournie |
address | Objet | Non | Adresse 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 |
printSettings | Objet | Oui | Paramètres d'impression appliqués au manifeste généré |
Champs printSettings
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
printRecipientReference | Boolean | Non | Imprimer la colonne référence du destinataire |
printParcelReference1 | Boolean | Non | Imprimer la référence colis 1 |
printParcelReference2 | Boolean | Non | Imprimer la référence colis 2 |
printUserName | Boolean | Non | Imprimer le nom de l'utilisateur sur le manifeste |
printWeight | Boolean | Non | Imprimer la colonne poids du colis |
sortOrderForManifest | Enum | Oui | Ordre de tri des expéditions sur le manifeste |
Valeurs de sortOrderForManifest :
| Valeur | Description |
|---|---|
CONSIGNEE_ZIP | Tri par code postal du destinataire |
CONSIGNEE_COUNTRY | Tri par pays du destinataire |
CONSIGNEE_NAME | Tri par nom du destinataire |
REFERENCE_1 | Tri par référence colis 1 |
PARCEL_NUMBER | Tri 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/toDatesont comparés àimportedAten 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ête | Valeur |
|---|---|
Content-Type | application/pdf |
Content-Disposition | attachment; filename="manifest.pdf" |
Content-Length | Taille du PDF en octets |
Codes de statut
| Code | Description |
|---|---|
200 OK | Manifeste généré |
400 Bad Request | Filtre 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 Unauthorized | Jeton manquant ou invalide |
404 Not Found | Aucune 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"
}
}'