Sedi: Luogo di ritiro / consegna
I luoghi di ritiro e consegna sono denominati sedi in X4Fleet. Le nuove sedi vengono importate e create automaticamente durante il POST Shipment. Se la registrazione degli ordini avviene manualmente o se il catalogo delle sedi deve essere sincronizzato tra il sistema sorgente e X4Fleet, è possibile utilizzare i seguenti endpoint API.
Endpoint
POST /x4gateway/v1/import/poi
nonché
GET /x4gateway/v1/import/poi/{id} --> normale richiesta GET tramite ID sede
GET /x4gateway/v1/import/poi --> richiesta GET tramite RefID
GET /x4gateway/v1/import/pois --> ricerca sedi tramite vari parametri con funzione di paginazione
DELETE /x4gateway/v1/import/poi/{id} --> normale richiesta DELETE tramite ID sede
Con DELETE è possibile eliminare solo le sedi del proprio gruppo principale. Se la sede appartiene a un altro gruppo principale, non viene eliminata e l'API risponde con HTTP 400 e codice di errore 2. All'eliminazione vengono rimossi i collegamenti della sede con i partner commerciali e con i committenti dell'ordinazione web, nonché le giacenze della sede. La sede stessa viene disattivata (non eliminata definitivamente).
Anche con POST sede e con l'importazione di ordini è possibile utilizzare solo ID di sedi del proprio gruppo principale. Se viene inviato l'ID di una sede di un altro gruppo principale, l'importazione non riesce e restituisce il messaggio "Location with Id=… was not found."
Request
{
"clients": [
{
"refId": "string" //le sedi possono appartenere a partner commerciali, collegati qui tramite RefID partner
}
],
"kind": 0, //tipo di sede
"name": "string",
"askForSignature": true,
"name2": "string",
"organization": "string",
"contactPhone": "string",
"contactPhone1": "string",
"contactPhone2": "string",
"fax": "string",
"driverImages": "string", //foto della sede per i conducenti
"driverTextInformation": "string", //informazioni sulla sede per i conducenti
"serviceProvisionNumber": "string",
"openPickupTpOnlyOverBarCode": true,
"openDropoffTpOnlyOverBarCode": true,
"openPickupTpOnlyWhenNear": true,
"openDropoffTpOnlyWhenNear": true,
"nearToPickupTpDistance": 0,
"nearToDropoffTpDistance": 0,
"active": true,
"allowUpdateOverGateway": true, //predefinito true; applicato solo alla creazione della sede
"validFrom": "2026-02-26T14:59:08.057Z",
"validUntil": "2026-02-26T14:59:08.057Z",
"stopTimeMinutes": 0,
"email": "string",
"contacts": [{}], //contatti della sede, struttura e regole come per i partner commerciali
"attachments": [{}], //allegati visibili a dispatcher e conducente
"specialities": [{}], //specialità (p.es. accessibile solo con rampa di carico)
"loadingTools": [{}], //mezzi di carico
"location": {
"name": "string", //obsoleto
"streetAddress": "string",
"postCode": "string",
"city": "string",
"countryCode": "string", //codice paese a 2 lettere, p.es. CH, DE, FR
"coordinates": { //se non esiste un indirizzo o non è sufficientemente preciso
"lat": 47.193913, //se non vengono inviate coordinate, l'indirizzo viene geocodificato automaticamente
"lng": 8.5235162
},
},
"advisingConfig": {},
"poiDocument": {},
"notes": "string",
"dispatcherNotes": "string", //note non visibili ai conducenti
"refId": "string", //importante: se non viene impostata una RefID, la sede viene interpretata come nuova e viene generata automaticamente una RefID
}
Enumerazioni utilizzate: Tipo di sede.
Se una richiesta POST include un ID o una RefID e una sede con tale ID o RefID esiste già, questa verrà sovrascritta.
Con allowUpdateOverGateway si stabilisce se una sede può essere aggiornata successivamente tramite l'API. Il valore è true per impostazione predefinita e viene applicato solo quando la sede viene creata; per una sede esistente, un valore inviato non ha alcun effetto. Se il valore è false, le importazioni successive non modificano più la sede: campi, indirizzo, contatti, specialità e mezzi di carico restano invariati. Il campo è disponibile anche per le sedi inviate in un ordine come luogo di ritiro o di consegna (shipmentLocation).
Per i contatti della sede (contacts) valgono gli stessi campi e le stesse regole di aggiornamento dei contatti dei partner commerciali.
Response
La struttura della risposta è analoga alla struttura della richiesta; vengono restituite tutte le informazioni inviate nel POST nonché le informazioni integrate dal sistema.
L'ID / l'ID sede è un'informazione importante che dovrebbe idealmente essere memorizzata nel sistema sorgente.
Messaggi di errore frequenti
GET:
- {"code":5,"messages":["Pickup / Dropoff with this id or refNr does not exist"],"RequestId":null,"Id":0}
DELETE:
- {"code":2,"messages":["X4FleetGroupId is wrong for this Pickup / Dropoff."],"RequestId":null,"Id":0}
--> La sede non appartiene al proprio gruppo principale e non può essere eliminata. - {"code":5,"messages":["Pickup / Dropoff with this id or refNr does not exist"],"RequestId":null,"Id":0}
--> Non esiste alcuna sede con questo ID.
POST:
- {"code":99,"messages":["There was an general error","Location with Id=XXX was not found."],"RequestId":null,"Id":0}
--> L'ID sede inviato appartiene a un altro gruppo principale.