Zum Hauptinhalt springen

Manifeste

Erzeugt eine Manifest-PDF mit allen an DPD übergebenen Sendungen für eine bestimmte Rechnungsnummer. Dient der Nachverfolgbarkeit der Tagesabholung — die Datei wird als PDF-Anhang zurückgegeben und ist dafür vorgesehen, ausgedruckt und mit den Paketen mitgegeben zu werden.

EndpunktLiefertAuthentifizierung
POST /api/v1/shipments/print-manifestapplication/pdfBearer JWT-Token erforderlich

Der Endpunkt gibt nur Sendungen des authentifizierten Benutzers zurück. Filterung über einen Datumsbereich (fromDate/toDate, angewendet auf importedAt) und/oder eine explizite Liste von parcelNumbersmindestens einer der beiden Filter ist erforderlich.

Anfrage

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"
}
}
FeldTypPflichtfeldBeschreibung
invoicingNumberStringJaRechnungsnummer, die das Manifest eingrenzt
fromDateDatum (yyyy-MM-dd)BedingtInklusive Untergrenze von importedAt. Erforderlich, wenn parcelNumbers nicht angegeben ist. Muss zusammen mit toDate angegeben werden
toDateDatum (yyyy-MM-dd)BedingtInklusive Obergrenze von importedAt. Erforderlich, wenn parcelNumbers nicht angegeben ist. Muss zusammen mit fromDate angegeben werden
parcelNumbersArray<String>BedingtBeschränkt das Manifest auf bestimmte Paketnummern. Erforderlich, wenn kein Datumsbereich angegeben ist
addressObjektNeinAbholadresse zur Eingrenzung des Manifests. Es wird ausschliesslich reference ausgewertet; alle übrigen Adressfelder werden ignoriert. Die Referenz wird gegen die Kundenkonfiguration aufgelöst. Wird sie weggelassen und umfasst das Ergebnis mehrere Abholungen, wird die erste angetroffene Abholung verwendet und übrige Sendungen werden stillschweigend entfernt
printSettingsObjektJaAuf das erzeugte Manifest angewendete Druckeinstellungen

printSettings-Felder

FeldTypPflichtfeldBeschreibung
printRecipientReferenceBooleanNeinSpalte mit Empfängerreferenz drucken
printParcelReference1BooleanNeinPaketreferenz 1 drucken
printParcelReference2BooleanNeinPaketreferenz 2 drucken
printUserNameBooleanNeinBenutzername auf dem Manifest drucken
printWeightBooleanNeinSpalte mit Paketgewicht drucken
sortOrderForManifestEnumJaSortierreihenfolge der Sendungen auf dem Manifest

Werte für sortOrderForManifest:

WertBeschreibung
CONSIGNEE_ZIPSortierung nach PLZ des Empfängers
CONSIGNEE_COUNTRYSortierung nach Land des Empfängers
CONSIGNEE_NAMESortierung nach Name des Empfängers
REFERENCE_1Sortierung nach Paketreferenz 1
PARCEL_NUMBERSortierung nach Paketnummer

Häufiger Anwendungsfall — heutiges Manifest

Der häufigste Integrationsfall ist die Erzeugung des Manifests für heute importierte Sendungen, unmittelbar vor der Fahrerabholung. Setzen Sie fromDate und toDate auf das heutige Datum (UTC-Tage) und lassen Sie parcelNumbers weg, um alle Sendungen dieser Rechnungsnummer an diesem Tag einzubeziehen:

{
"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\"
}
}"

Hinweise:

  • fromDate/toDate werden in UTC gegen importedAt abgeglichen (von Tagesbeginn bis Tagesende). Sendungen, die in Ihrer lokalen Zeitzone nach Mitternacht UTC des nächsten Kalendertags importiert wurden, erscheinen nicht.
  • Geben Sie address: {"reference": "PICKUP-001"} an, um bei mehreren Abholungen eine bestimmte auszuwählen.

Antwort

200 OK — Manifest erzeugt; der Body ist der PDF-Stream.

HeaderWert
Content-Typeapplication/pdf
Content-Dispositionattachment; filename="manifest.pdf"
Content-LengthPDF-Grösse in Bytes

Statuscodes

CodeBeschreibung
200 OKManifest erzeugt
400 Bad RequestFilter fehlt oder ungültig (z. B. nur fromDate oder toDate gesetzt, fromDate nach toDate, weder Datumsbereich noch parcelNumbers angegeben, printSettings fehlt, address.reference nicht auflösbar)
401 UnauthorizedToken fehlt oder ungültig
404 Not FoundKeine Sendungen entsprechen dem Filter oder der angeforderten Abholung

Beispiel

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"
}
}'