Base URL :
https://api.myexpressdriver.com/v1Toutes les requêtes exigent l’en-tête X-Api-Key. Les réponses de succès sont en
application/json ; les erreurs suivent la RFC 9457
(application/problem+json).Avant de commencer
Un compte client MED
Flotte, concession ou loueur. Votre clé API est rattachée à votre groupe :
elle ne voit que les missions de ce groupe.
Un accès admin de groupe
Seul l’administrateur du groupe peut créer ou révoquer des clés API depuis la
console.
Démarrage en 4 étapes
Obtenir une clé API
Les clés API se créent depuis la console client, onglet API &
Intégrations. Cet onglet n’est visible que si vous êtes administrateur d’au
moins un groupe.
- Connectez-vous à votre console client.
- Ouvrez l’onglet API & Intégrations (si plusieurs groupes, sélectionnez celui pour lequel vous voulez une clé).
- Cliquez sur Créer une clé, donnez-lui un libellé (ex.
intégration ERP) et choisissez l’environnement (liveoutest). - Copiez la clé affichée et stockez-la dans un coffre de secrets.
med_live_, les clés de test par
med_test_. Chaque requête doit porter l’en-tête :Estimer un prix
POST /pricing calcule un tarif à partir de la grille de votre groupe, sans
créer de mission. Idéal pour afficher un devis avant de confirmer.200 — l’estimation tarifaire de votre groupe :Prix HT du transport facturé au client.
Devise des montants — toujours
EUR.Distance estimée en kilomètres.
Détail du trajet retour si demandé (
price_ht, distance_km), sinon null.Créer une mission
POST /transports crée la mission. Les champs pickup, delivery et billing
sont requis. Ajoutez l’en-tête Idempotency-Key (un UUID que vous générez)
pour rendre la création rejouable sans risque de doublon.201 — la mission est créée et planifiée :Identifiant de la mission (
offer_id). À conserver : il sert à toutes les
requêtes de suivi.Référence métier lisible de la mission (ex.
M-54321).Statut public à la création : toujours
scheduled (planifiée, en attente
d’attribution).Prix retenu :
amount_ht (montant HT facturé) et currency (par défaut EUR).Rejouer la même
Idempotency-Key avec un corps identique renvoie la réponse
mise en cache (en-tête Idempotent-Replayed: true) — une seule mission est
créée. La même clé avec un corps différent renvoie 409 Conflict.Suivre la mission
Deux moyens complémentaires de suivre une mission : interroger son détail à la
demande, et s’abonner aux webhooks pour être notifié à chaque changement.Lire le détail à la demande avec Le
S’abonner aux webhooks depuis l’onglet API & Intégrations : ajoutez un
endpoint HTTPS et recevez un événement à chaque transition. Le corps a la forme
GET /transports/{id} :status évolue selon le cycle de vie public :| Statut | Sens |
|---|---|
scheduled | Mission planifiée, en attente d’attribution. |
assigned | Convoyeur attribué, pas encore enlevée. |
in_transit | Véhicule enlevé, en route. |
in_transit_return | Retour en cours (aller-retour). |
awaiting_documents | En attente des PV / documents. |
under_review | Documents en validation. |
completed | Mission terminée. |
incident | Anomalie signalée. |
cancelled | Mission annulée. |
{ id, type, created_at, data } :Bien démarrer
Vous avez créé une clé, estimé un prix, créé une mission et lu son statut. Voici les
réflexes à adopter pour une intégration robuste.
Sécuriser votre clé API
Sécuriser votre clé API
Stockez la clé dans un coffre de secrets, jamais en clair dans le code ni dans un
dépôt. Une clé manquante, inconnue, révoquée ou expirée renvoie
401. En cas de
fuite, révoquez-la depuis la console et créez-en une nouvelle.Gérer les erreurs proprement
Gérer les erreurs proprement
Branchez votre logique sur le champ
status (et title) de la réponse
application/problem+json, pas sur le texte de detail qui peut évoluer. Les
erreurs de validation détaillent le champ fautif dans errors[].Respecter les limites de débit
Respecter les limites de débit
Un dépassement renvoie
429 Too Many Requests avec un en-tête Retry-After (en
secondes). Implémentez un back-off et respectez ce délai.Toujours utiliser l'idempotence
Toujours utiliser l'idempotence
Ajoutez une
Idempotency-Key unique sur toutes les créations et mutations
(POST, PATCH, DELETE). C’est indispensable sur un réseau peu fiable pour
éviter les doublons.Étapes suivantes
Authentification
Clés
live / test, scopes transports:read / transports:write et isolation
par groupe.Webhooks
Vérifier la signature HMAC, dédupliquer les livraisons et réconcilier les
événements manqués.
Référence API
Tous les endpoints, schémas et codes de réponse en détail.
