Aller au contenu

Vue d'ensemble de l'API

Logistall expose une petite API REST en lecture seule (/api/v1/*) pour intégrer les données d’expéditions, de clients et de factures dans d’autres systèmes, ainsi que des webhooks sortants pour les changements de statut d’expédition en quasi temps réel. Cette section documente les deux, plus le point de terminaison public (non authentifié) du lien de suivi.

Si vous cherchez les pages de l’application dont cette API est issue — Expéditions, Clients, Factures, Clés API — consultez plutôt le Guide utilisateur. Cette section s’adresse aux développeurs qui intègrent par programmation.

L’API est servie depuis un unique nom d’hôte de production — il n’y a pas de sous-domaine par entreprise. Le locataire est identifié uniquement par la clé API que vous présentez, pas par l’hôte auquel vous vous connectez :

https://tenant.logistall.cloud/api

Tous les points de terminaison ci-dessous sont relatifs à cette base — par exemple, GET /v1/shipments signifie GET https://tenant.logistall.cloud/api/v1/shipments.

L’API publique est actuellement en lecture seule : chaque point de terminaison /v1/* est un GET. Il n’existe aucun moyen de créer, mettre à jour ou supprimer des enregistrements via cette API — toutes les écritures passent par l’application web Logistall. Il n’existe qu’une seule version, v1, et aucun schéma de versionnage n’a encore été établi au-delà de ce préfixe.

Chaque point de terminaison /v1/* exige une clé API. Voir Authentification pour créer une clé et la présenter sur les requêtes.

Toutes les réponses sont en JSON. Les clés d’objet sont en camelCase, quel que soit le nom des colonnes de la base sous-jacente (p. ex. la colonne shipment_number de la base est renvoyée sous le nom shipmentNumber).

Les points de terminaison de liste renvoient un tableau JSON brut — il n’y a ni objet d’enveloppe ni compteur total.

Les points de terminaison de liste acceptent deux paramètres de requête :

Paramètre Défaut Max Notes
limit 50 200 Les valeurs au-dessus de 200 sont ramenées à 200. Les valeurs non numériques ou inférieures à 1 retombent sur la valeur par défaut.
offset 0 Les valeurs inférieures à 0 sont ramenées à 0.

Il n’y a pas de pagination par curseur — utilisez offset et interrogez à nouveau. Les résultats sont triés du plus récent au plus ancien (par date de création), sauf mention contraire sur le point de terminaison.

Les erreurs sont toujours un objet JSON avec une seule chaîne error :

{ "error": "Invalid API key" }

Codes de statut courants :

Statut Signification
401 Clé API manquante, malformée ou invalide.
404 L’enregistrement demandé n’existe pas (ou n’appartient pas au locataire auquel votre clé se rattache).
500 Erreur serveur ou base de données inattendue.

Il n’y a actuellement aucune limite de débit par clé appliquée sur les points de terminaison /v1/*. La seule limitation de débit de la plateforme aujourd’hui s’applique aux points de terminaison de connexion/réinitialisation de mot de passe utilisés par l’application web elle-même, pas aux routes authentifiées par clé API documentées ici. Cela peut changer — une limite de débit pourrait être introduite sur /v1/* à l’avenir — donc ne construisez pas une intégration qui suppose un volume de requêtes illimité, mais il n’existe aujourd’hui aucun chiffre documenté sur lequel se baser.

Méthode Chemin Description
GET /v1/shipments Lister les expéditions
GET /v1/shipments/:id Récupérer une expédition, avec sa chronologie de suivi
GET /v1/customers Lister les clients
GET /v1/invoices Lister les factures

Plus :

  • Webhooks — abonnez-vous aux événements shipment.status_changed au lieu d’interroger en boucle.
  • Suivi public — le lien non authentifié que les clients utilisent pour consulter le statut d’une expédition.