Zum Hauptinhalt springen

Abholaufträge

Planen Sie eine einmalige Paketabholung von Ihrem Standort. DPD holt die Pakete am gewünschten Datum innerhalb eines festgelegten Zeitfensters ab.

Endpunkt: POST /api/v1/collection-requests Authentifizierung: Bearer JWT-Token erforderlich


Anfrage

Abfrageparameter: locale (optional) — lokalisiert Fehlermeldungen (z.B. de_CH, en_US, fr_CH, it_CH)

Body: List<CollectionRequestDTO>

Felder

FeldTypLängePflichtfeldBeschreibung
idLongNeinAuftragskennung zur Nachverfolgung in der Antwort
invoicingNumberString1–20JaIhre DPD-Kundenrechnungsnummer
pickupDateString10JaGewünschtes Abholdatum (yyyy-MM-dd), muss in der Zukunft liegen
referenceNumberString0–50NeinIhre interne Referenznummer
noteString0–255NeinBesondere Abholhinweise
senderAddressDTOJaAdresse, von der die Pakete abgeholt werden
receiverAddressDTOJaEndbestimmungsadresse
requesterAddressDTONeinPerson, die die Abholung anfordert (Standard: Empfänger)
numberOfParcelsIntegerJaErwartete Paketanzahl (1–999)
weightDoubleNeinGesamtgewicht aller Pakete in Gramm
serviceCodeString2–10JaDPD-Servicecode (z.B. PSD, PSI)
clientSoftwareString0–50NeinName Ihrer Anwendung
clientVersionString0–20NeinVersion Ihrer Anwendung

Beispiel

curl -X POST "https://label-print-shipments.dpd.ch/api/v1/collection-requests?locale=de_CH" \
-H "Authorization: Bearer <jwt_token>" \
-H "Content-Type: application/json" \
-d '[
{
"invoicingNumber": "12345678",
"pickupDate": "2025-10-31",
"serviceCode": "PSD",
"numberOfParcels": 5,
"weight": 25000.0,
"sender": {
"name": "Sender Company AG",
"countryCode": "CH",
"zipCode": "8000",
"city": "Zürich",
"street": "Industriestrasse 25",
"phone": "+41441234567"
},
"receiver": {
"name": "Receiver GmbH",
"countryCode": "DE",
"zipCode": "10115",
"city": "Berlin",
"street": "Alexanderplatz 1"
}
}
]'

Antwort

201 Created — alle Aufträge erstellt:

{
"tracingId": "TRACE-789",
"success": [
{ "id": 1, "referenceNumber": "CR-20251031-001" }
],
"failed": []
}

207 Multi-Status — Teilerfolg:

{
"tracingId": "TRACE-790",
"success": [],
"failed": [
{
"id": 1,
"fieldErrors": {
"pickupDate": ["MUST_BE_FUTURE_DATE"]
}
}
]
}

Statuscodes:

CodeBeschreibung
201 CreatedAlle Abholaufträge erstellt
207 Multi-StatusTeilerfolg
400 Bad RequestValidierungsfehler
401 UnauthorizedToken fehlt oder ungültig

Hinweise

  • pickupDate muss in der Zukunft liegen; vergangene Daten werden abgelehnt
  • weight wird in Gramm angegeben (z.B. 25000 = 25 kg)
  • Die Adressvalidierung folgt denselben länderspezifischen Regeln wie bei Sendungen (NL-Hausnummer, GB-Telefon, Nicht-CH/LI-E-Mail usw.)