Passa al contenuto principale

Ordini di ritiro

Creare ordini di ritiro pianificati e ricorrenti. DPD ritirerà i pacchi dal vostro indirizzo nei giorni e nelle fasce orarie specificati.

Endpoint: POST /api/v1/pickup-orders Autenticazione: Token JWT Bearer obbligatorio


Richiesta

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

Corpo: List<PickupOrderDTO>

Campi

CampoTipoLunghezzaObbligatorioDescrizione
invoicingNumberString1–20ObbligatorioNumero di fatturazione cliente
pickupDateString10ObbligatorioData di ritiro pianificata (yyyy-MM-dd), deve essere futura
weekDayIntegerFacoltativoGiorno della settimana (1=Lun … 7=Dom). Calcolato automaticamente da pickupDate se omesso
fromTime1String5FacoltativoInizio fascia oraria mattutina (HH:mm)
toTime1String5FacoltativoFine fascia oraria mattutina (HH:mm)
fromTime2String5FacoltativoInizio fascia oraria pomeridiana (HH:mm)
toTime2String5FacoltativoFine fascia oraria pomeridiana (HH:mm)
addressAddressDTOObbligatorioIndirizzo del luogo di ritiro
numberOfParcelsIntegerObbligatorioNumero di pacchi previsto (1–99)
tourString0–50FacoltativoIdentificatore tour/percorso
clientSoftwareString0–50FacoltativoNome dell'applicazione client
clientVersionString0–20FacoltativoVersione dell'applicazione client

Fasce orarie

È possibile specificare fino a due fasce orarie (mattina e pomeriggio). Lasciare vuoti i campi del pomeriggio per una singola fascia continua.

FasciaCampiEsempio
MattinafromTime1 / toTime108:00 / 12:00
PomeriggiofromTime2 / toTime213:00 / 17:00

Esempio

curl -X POST "https://label-print-shipments.dpd.ch/api/v1/pickup-orders?locale=it_CH" \
-H "Authorization: Bearer <jwt_token>" \
-H "Content-Type: application/json" \
-d '[
{
"invoicingNumber": "12345678",
"pickupDate": "2025-10-31",
"weekDay": 5,
"fromTime1": "08:00",
"toTime1": "12:00",
"fromTime2": "13:00",
"toTime2": "17:00",
"numberOfParcels": 15,
"address": {
"name": "Magazzino Sede A",
"countryCode": "CH",
"zipCode": "6900",
"city": "Lugano",
"street": "Via Industria 45",
"phone": "+41441234567",
"email": "magazzino@azienda.ch",
"reference": "WAREHOUSE-A"
},
"tour": "TOUR-TI-SUD",
"clientSoftware": "Customer App",
"clientVersion": "4.0.0"
}
]'

Risposta

201 Created — tutti gli ordini creati:

{
"tracingId": "TRACE-321",
"success": [
{ "id": 1, "tracingId": "123456789" }
],
"failed": []
}

207 Multi-Status — successo parziale con errori a livello di campo:

{
"tracingId": "TRACE-322",
"success": [],
"failed": [
{
"id": 1,
"fieldErrors": {
"numberOfParcels": ["MAX_99"],
"address.countryCode": ["REQUIRED"]
}
}
]
}

Codici di stato:

CodiceDescrizione
201 CreatedTutti gli ordini di ritiro creati
207 Multi-StatusAlcuni riusciti, altri falliti
400 Bad RequestErrore di validazione
401 UnauthorizedToken mancante o non valido

Differenza con le richieste di ritiro

Ordini di ritiroRichieste di ritiro
FrequenzaRicorrente (piano settimanale)Una tantum
Fasce orarieFino a 2 (mattina + pomeriggio)Definite da DPD
Limite pacchi99999
Campo pesoNon richiestoFacoltativo (grammi)