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.
| Endpunkt | Liefert | Authentifizierung |
|---|---|---|
POST /api/v1/shipments/print-manifest | application/pdf | Bearer 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 parcelNumbers — mindestens 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"
}
}
| Feld | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
invoicingNumber | String | Ja | Rechnungsnummer, die das Manifest eingrenzt |
fromDate | Datum (yyyy-MM-dd) | Bedingt | Inklusive Untergrenze von importedAt. Erforderlich, wenn parcelNumbers nicht angegeben ist. Muss zusammen mit toDate angegeben werden |
toDate | Datum (yyyy-MM-dd) | Bedingt | Inklusive Obergrenze von importedAt. Erforderlich, wenn parcelNumbers nicht angegeben ist. Muss zusammen mit fromDate angegeben werden |
parcelNumbers | Array<String> | Bedingt | Beschränkt das Manifest auf bestimmte Paketnummern. Erforderlich, wenn kein Datumsbereich angegeben ist |
address | Objekt | Nein | Abholadresse 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 |
printSettings | Objekt | Ja | Auf das erzeugte Manifest angewendete Druckeinstellungen |
printSettings-Felder
| Feld | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
printRecipientReference | Boolean | Nein | Spalte mit Empfängerreferenz drucken |
printParcelReference1 | Boolean | Nein | Paketreferenz 1 drucken |
printParcelReference2 | Boolean | Nein | Paketreferenz 2 drucken |
printUserName | Boolean | Nein | Benutzername auf dem Manifest drucken |
printWeight | Boolean | Nein | Spalte mit Paketgewicht drucken |
sortOrderForManifest | Enum | Ja | Sortierreihenfolge der Sendungen auf dem Manifest |
Werte für sortOrderForManifest:
| Wert | Beschreibung |
|---|---|
CONSIGNEE_ZIP | Sortierung nach PLZ des Empfängers |
CONSIGNEE_COUNTRY | Sortierung nach Land des Empfängers |
CONSIGNEE_NAME | Sortierung nach Name des Empfängers |
REFERENCE_1 | Sortierung nach Paketreferenz 1 |
PARCEL_NUMBER | Sortierung 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/toDatewerden in UTC gegenimportedAtabgeglichen (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.
| Header | Wert |
|---|---|
Content-Type | application/pdf |
Content-Disposition | attachment; filename="manifest.pdf" |
Content-Length | PDF-Grösse in Bytes |
Statuscodes
| Code | Beschreibung |
|---|---|
200 OK | Manifest erzeugt |
400 Bad Request | Filter 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 Unauthorized | Token fehlt oder ungültig |
404 Not Found | Keine 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"
}
}'