Authentification

Avant de pouvoir utiliser la REST API X4Fleet, un utilisateur actif avec le rôle "Import Gateway" est requis.

Un Bearer Token peut ensuite être demandé via nom d'utilisateur et mot de passe. Ce token sert ensuite à l'authentification des autres requêtes. Étant donné que ce token expire dans les 90 jours, il devrait être renouvelé régulièrement.

Lors de mises à niveau de framework technique, il peut arriver qu'après une release tous les tokens d'authentification existants soient invalidés. Pour éviter de ne soudainement plus pouvoir envoyer de requêtes, il est recommandé de pré-authentifier avant les requêtes réelles (et ainsi réutiliser le token) et en cas de code d'erreur 401 - Unauthorized de demander automatiquement un nouveau token d'authentification. Important : intégrez une limitation de nouvelle tentative pour éviter une boucle infinie.

Endpoint :

POST /token

Requête

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

* Pour des raisons d'espace, l'exemple a été réparti sur plusieurs lignes. cURL ne supporte pas les sauts de ligne !

Réponse

{
  "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"
}

En plus de access_token, accountId (compte du mandant/client), mainGroupId (groupe principal) et groupId (sous-groupe) seront réutilisés ultérieurement.

Messages d'erreur courants

Si l'utilisateur "Import Gateway" est bloqué après des tentatives de connexion échouées, il peut être débloqué via l'Admin.

Pour cela, dans X4Fleet sous Paramètres > Utilisateurs > sélectionner l'utilisateur "Import Gateway" > appuyer sur "Débloquer la connexion"

Les messages d'erreur courants sont :

  • {"error": "99" , "error_description": "LoginLockedOut"}
    --> Compte bloqué en raison de tentatives échouées
  • {"error": "99", "error_description": "InvalidCredentials"}
    --> Nom d'utilisateur ou mot de passe incorrect
  • Code d'erreur 415 - Unsupported Media
    --> Un type de données incorrect est utilisé, p. ex. "application/json" au lieu de "application/x-www-form-urlencoded"