Autenticazione

Prima che la REST API di X4Fleet possa essere utilizzata, è necessario un utente attivo con il ruolo "Import Gateway".

Successivamente è possibile richiedere un Bearer Token tramite nome utente e password. Questo token serve da quel momento per autenticare ulteriori richieste. Poiché questo token scade entro 90 giorni, dovrebbe essere rinnovato regolarmente.

Durante gli aggiornamenti tecnici del framework può accadere che dopo una release tutti i token di autenticazione esistenti vengano invalidati. Per evitare di non poter più inviare richieste improvvisamente, si raccomanda di pre-autenticarsi prima delle richieste effettive (riutilizzando così il token) e in caso di codice di errore 401 - Unauthorized di richiedere automaticamente un nuovo token di autenticazione. Importante: implementare una limitazione di retry per evitare un loop infinito.

Endpoint:

POST /token

Richiesta

curl -X 'POST' \
  'https://gateway.x4fleet.com/token' \
  -H 'accept: */*' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'Username=________&Password=________'

* Per ragioni di spazio, l'esempio è stato distribuito su più righe. cURL non supporta le interruzioni di riga!

Risposta

{
  "access_token": "",
  "token_type": "bearer",
  "expires_in": ,
  "accountId": "",
  "mainGroupId": "",
  "groupId": "",
  "role": "ImportUser",
  "firstName": "Max",
  "lastName": "Mustermann",
  "emailAddress": "max@mustermann.ch",
  "languageId": "1",
  "activated": "true",
  ".issued": "Fri, 28 Mar 2025 13:23:42 GMT",
  ".expires": "Thu, 26 Jun 2025 13:23:42 GMT"
}

Oltre ad access_token, accountId (account del mandante/cliente), mainGroupId (gruppo principale) e groupId (sottogruppo) verranno utilizzati nuovamente in seguito.

Messaggi di errore comuni

Se l'utente "Import Gateway" viene bloccato dopo tentativi di accesso falliti, può essere sbloccato nuovamente tramite l'Admin.

A tale scopo, in X4Fleet sotto Impostazioni > Utenti > selezionare l'utente "Import Gateway" > premere "Sblocca accesso"

I messaggi di errore comuni sono:

  • {"error": "99" , "error_description": "LoginLockedOut"}
    --> Account bloccato a causa di tentativi falliti
  • {"error": "99", "error_description": "InvalidCredentials"}
    --> Nome utente o password errati
  • Codice di errore 415 - Unsupported Media
    --> Viene utilizzato un tipo di dati errato, es. "application/json" invece di "application/x-www-form-urlencoded"