Passa al contenuto principale

Richieste di ritiro

Pianificare un ritiro una tantum di pacchi dal proprio indirizzo. DPD ritirerà i pacchi alla data richiesta entro una fascia oraria specificata.

Endpoint: POST /api/v1/collection-requests Autenticazione: Token JWT Bearer obbligatorio


Richiesta

Parametro di query: locale (facoltativo) — localizza i messaggi di errore (es. de_CH, en_US, fr_CH, it_CH)

Corpo: List<CollectionRequestDTO>

Campi

CampoTipoLunghezzaObbligatorioDescrizione
idLongFacoltativoIdentificatore della richiesta per il tracciamento nella risposta
invoicingNumberString1–20ObbligatorioIl vostro numero di fatturazione cliente DPD
pickupDateString10ObbligatorioData di ritiro richiesta (yyyy-MM-dd), deve essere una data futura
referenceNumberString0–50FacoltativoIl vostro numero di riferimento interno
noteString0–255FacoltativoIstruzioni speciali di ritiro
senderAddressDTOObbligatorioIndirizzo presso cui verranno ritirati i pacchi
receiverAddressDTOObbligatorioIndirizzo di destinazione finale
requesterAddressDTOFacoltativoPersona che richiede il ritiro (predefinito: il destinatario)
numberOfParcelsIntegerObbligatorioNumero di pacchi previsto (1–999)
weightDoubleFacoltativoPeso totale di tutti i pacchi in grammi
serviceCodeString2–10ObbligatorioCodice servizio DPD (es. PSD, PSI)
clientSoftwareString0–50FacoltativoNome della vostra applicazione
clientVersionString0–20FacoltativoVersione della vostra applicazione

Esempio

curl -X POST "https://label-print-shipments.dpd.ch/api/v1/collection-requests?locale=it_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": "Società Mittente SA",
"countryCode": "CH",
"zipCode": "6900",
"city": "Lugano",
"street": "Via Industria 25",
"phone": "+41441234567"
},
"receiver": {
"name": "Società Destinataria SRL",
"countryCode": "IT",
"zipCode": "20121",
"city": "Milano",
"street": "Via Monte Napoleone 1"
}
}
]'

Risposta

201 Created — tutte le richieste create:

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

207 Multi-Status — successo parziale:

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

Codici di stato:

CodiceDescrizione
201 CreatedTutte le richieste di ritiro create
207 Multi-StatusAlcune riuscite, altre fallite
400 Bad RequestErrore di validazione
401 UnauthorizedToken mancante o non valido

Note

  • pickupDate deve essere una data futura; le date passate vengono rifiutate
  • weight è espresso in grammi (es. 25000 = 25 kg)
  • La validazione dell'indirizzo segue le stesse regole specifiche per paese di Spedizioni (numero civico NL, telefono GB, email per non-CH/LI, ecc.)