TRANSPORTS LIGNEO
API REST · v1

Connectez Transports Ligneo directement à vos outils

Devis, missions de convoyage, suivi et documents : intégrez le convoyage automobile dans votre DMS, votre ERP ou votre plateforme de gestion de flotte, sans changer vos habitudes.

RESTJSON · HTTPS
HMACWEBHOOKS SIGNÉS
TEMPS RÉELSUIVI DES MISSIONS
Démarrage rapide

Testez en 5 minutes

Une clé sandbox, une commande, un devis. Sans engagement et sans facturation.

1 · Créez votre clé sandbox

Dans votre espace pro, onglet API : une clé de test gratuite en un clic. Aucune mission réelle n'est créée.

2 · Lancez une requête

Copiez la commande ci-dessous dans votre terminal, en remplaçant la clé.

3 · Recevez votre devis

Le prix, la distance et la durée reviennent en JSON, au même format qu'en production.

Terminal
curl -X POST https://transportsligneo.fr/api/public/v1/quotes/estimate \
  -H "Authorization: Bearer sk_test_VOTRE_CLE" \
  -H "Content-Type: application/json" \
  -d '{"pickup_address":"Tours","delivery_address":"Bordeaux","vehicle_type":"leger"}'
Réponse
{
  "estimate_id": "est_test_3f9a1c7b2d10",
  "livemode": false,
  "distance_km": 350,
  "duration_estimate": "4h22",
  "price_ht": 285,
  "price_ttc": 342,
  "currency": "EUR",
  "valid_until": "2026-11-01T10:00:00.000Z"
}
Ce que vous pouvez faire

Une API pensée pour votre quotidien

Automatisez la création de devis et de missions, suivez vos convoyages en temps réel et récupérez vos documents — le tout depuis vos propres outils.

Devis instantanés

Générez une estimation de prix en temps réel à partir d'une adresse d'enlèvement et de livraison, avant de la transformer en devis formel.

quotes

Missions de convoyage

Créez une mission à partir d'un devis accepté, suivez son statut et sa position GPS en temps réel jusqu'à la livraison.

missions

Documents centralisés

Récupérez automatiquement le bon de livraison signé, l'état des lieux et la facture liés à chaque mission.

documents

Notifications en temps réel

Recevez un webhook signé à chaque changement de statut — mission assignée, démarrée, livrée ou annulée.

webhooks

Simple à intégrer

Une API REST, des réponses JSON et une authentification par clé secrète envoyée depuis votre serveur.

curl https://api.transportsligneo.fr/v1/quotes/estimate   -H "Authorization: Bearer ••••••••••••"   -H "Content-Type: application/json"   -d '{ "pickup_address": "...", "delivery_address": "..." }'

Une réponse claire

Chaque appel renvoie une estimation instantanée, sans engagement, prête à être affichée dans votre outil.

{
  "distance_km": 465,
  "duration_estimate": "5h48",
  "price_ttc": 342.00,
  "currency": "EUR"
}

Exemples illustratifs — la documentation complète est juste en dessous ; vos clés API se génèrent dans votre espace professionnel.

Documentation

Tout ce qu'il faut pour intégrer l'API

Consultable sans compte. Pour obtenir vos clés (sandbox gratuite), demandez un accès : votre espace professionnel les génère en un clic.

Importez-le dans Postman, Insomnia ou Swagger : tous les appels sont prêts à tester.

Authentification

Une clé secrète par environnement, envoyée depuis votre serveur : Authorization: Bearer sk_live_…. Les clés sont stockées chiffrées chez nous ; la valeur n'est affichée qu'une seule fois.

Sandbox

Avec une clé sk_test_…, aucune mission réelle n'est créée et aucun convoyeur n'est attribué. Mêmes formats de réponse, idéal pour valider votre intégration.

Limites et en-têtes

100 requêtes par minute et par clé. Chaque réponse contient X-Request-Id, X-RateLimit-Limit, X-RateLimit-Remaining et Retry-After en cas de dépassement.

Zéro doublon

Ajoutez Idempotency-Key aux créations de devis et de missions. Si vous renvoyez la même requête (coupure réseau, nouvel essai), vous recevez la première réponse avec Idempotent-Replayed: true : rien n'est créé deux fois.

Référence des endpoints

Base : https://transportsligneo.fr/api/public/v1 · cliquez sur un endpoint pour voir les paramètres et un exemple.

Devis

Missions

Documents

Webhooks

Un message JSON signé (HMAC SHA-256) est envoyé à votre URL HTTPS à chaque changement. En cas d'échec, 3 tentatives (1 s puis 4 s) ; chaque envoi est visible dans votre journal et peut être rejoué en un clic.

ÉvénementQuand
mission.assignedUn convoyeur a été attribué à la mission.
mission.startedLe convoyeur a démarré la mission.
mission.deliveredLe véhicule est livré (preuve de livraison disponible).
mission.cancelledLa mission a été annulée.
invoice.availableLa facture de la mission est disponible.
webhook.testÉvénement de test envoyé depuis votre espace pro.

Vérifier la signature

import crypto from "node:crypto";

// En-tête reçu : X-Ligneo-Signature: t=1761300000,v1=3a1f…
export function verify(rawBody, header, secret) {
  const { t, v1 } = Object.fromEntries(header.split(",").map((p) => p.split("=")));
  if (Math.abs(Date.now() / 1000 - Number(t)) > 300) return false; // rejette les envois rejoués trop tard
  const expected = crypto.createHmac("sha256", secret).update(`${t}.${rawBody}`).digest("hex");
  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(v1));
}

Contenu d'un événement

{
  "id": "evt_8f2c41d0a9b3e7c5",
  "type": "mission.delivered",
  "created_at": "2026-10-24T09:30:00Z",
  "livemode": true,
  "data": {
    "mission_id": "mis_…",
    "status": "delivered"
  }
}

Erreurs

HTTPTypeSignification
400invalid_request_errorParamètre manquant ou invalide.
401authentication_errorClé absente, invalide ou révoquée.
403permission_errorClé en lecture seule, ou adresse IP non autorisée pour cette clé.
404not_foundRessource introuvable pour votre organisation.
409invalid_request_error / idempotency_errorConflit : devis déjà converti, ou requête identique en cours.
422idempotency_errorIdempotency-Key déjà utilisée avec des paramètres différents.
429rate_limit_error100 requêtes par minute dépassées. Voir Retry-After.
500api_errorErreur côté Ligneo. Réessayez avec la même Idempotency-Key.

Toutes les erreurs ont le même format : { "error": { "type", "message", "request_id" } }. Communiquez le request_id à notre support pour un diagnostic immédiat.

Pensé pour les grands comptesClés chiffrées et révocables, sandbox séparée, quotas par clé, journal des requêtes sur 90 jours, webhooks signés avec horodatage, et traçabilité par identifiant de requête.

Prêt à connecter vos outils ?

Demandez un accès : nous activons votre espace professionnel, vous générez vos clés sandbox et production en un clic, et vous suivez vos appels dans votre journal.

Demander un accès API