Aller au contenu

Authentification

L’API publique s’authentifie avec une seule clé bearer — pas de flux OAuth, pas de paire client ID/secret, pas de cookies de session.

Les clés API sont créées et gérées depuis la page Clés API de l’application web Logistall (section Administration de la barre latérale). Voir la FAQ du Guide utilisateur pour la marche à suivre, y compris les prérequis de permissions et de module fonctionnel pour même voir cette page.

Quand vous créez une clé, la valeur secrète complète — commençant par lk_ — vous est montrée une seule fois, dans un champ copiable. Une fois cette boîte de dialogue fermée, Logistall n’affiche plus jamais la valeur complète ; le tableau des clés ne montre ensuite qu’un court préfixe (les 10 premiers caractères) pour que vous puissiez identifier quelle clé est laquelle. Si vous perdez le secret, vous ne pouvez pas le récupérer — révoquez la clé et créez-en une nouvelle.

Sous le capot, seul un hachage SHA-256 de la clé est stocké (api_key.key_hash) ; le secret brut n’est persisté nulle part dans la base de données.

Envoyez la clé sur chaque requête avec l’un ou l’autre de ces en-têtes :

Terminal window
# Option 1: Authorization: Bearer
curl -H "Authorization: Bearer lk_YOUR_KEY" \
https://tenant.logistall.cloud/api/v1/shipments?limit=10
# Option 2: X-API-Key
curl -H "X-API-Key: lk_YOUR_KEY" \
https://tenant.logistall.cloud/api/v1/shipments?limit=10

Si les deux en-têtes sont présents, Authorization: Bearer a la priorité. Une clé qui ne commence pas par lk_ — ou l’absence de clé — est rejetée immédiatement avec :

{ "error": "Missing or invalid API key" }

Statut HTTP 401.

Une clé non reconnue ou révoquée (dont le hachage ne correspond à aucune clé active) renvoie :

{ "error": "Invalid API key" }

Également en statut HTTP 401.

Les clés sont rattachées à l’entreprise locataire sous laquelle elles ont été créées. L’authentification d’une requête détermine le locataire auquel elle appartient en comparant le hachage aux clés actives, si bien qu’une clé d’une entreprise ne peut jamais lire les données d’une autre — il n’y a aucun moyen de passer soi-même un identifiant de locataire, et rien à configurer.

Révoquer une clé depuis la page Clés API la rend inactive immédiatement ; c’est une révocation douce (la ligne est conservée pour l’historique), et les clés révoquées ne peuvent pas être réactivées — créez-en une nouvelle si vous devez rétablir l’accès.

Chaque authentification réussie met à jour l’horodatage last_used_at de la clé, visible dans le tableau des clés, pour repérer les clés obsolètes ou qui ne servent plus.

Le formulaire de création de clé comporte un champ Portées facultatif en texte libre (p. ex. read:shipments write:routes). À l’heure actuelle, cette valeur est stockée sur la clé mais n’est appliquée nulle part par l’API — toute clé valide peut lire tous les points de terminaison /v1/*. Considérez les portées comme une étiquette pour votre propre organisation aujourd’hui, pas comme un mécanisme de contrôle d’accès.