Les commandes entrent. Les tournées sortent.
Envoyez des missions depuis le système que vous utilisez déjà et récupérez une tournée séquencée, vos propres identifiants intacts. Trois points de terminaison, sans SDK.
Trois appels, et c’est toute la surface
| Verbe | Chemin | Objet |
|---|---|---|
| POST | /v1/integration-token | Échanger des identifiants client contre un jeton bearer, valable une heure |
| POST | /v1/integration-import | Importer une mission avec ses arrêts, géocoder les adresses, optimiser la tournée et affecter le chauffeur — en une seule requête |
| GET | /v1/integration-jobs | État de la mission et des arrêts : compteurs d’avancement, état par arrêt, l’ordre optimisé |
Importer, géocoder, optimiser, affecter
POST /v1/integration-import HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
{
"external_job_id": "WMS-2026-07-30-A",
"driver_email": "driver@fleet.com.au",
"optimize": true,
"stops": [
{ "external_stop_id": "SO-88214",
"address": "3/216 Brunswick St, Fitzroy VIC 3065",
"parcel_count": 2,
"duration_minutes": 4 }
]
}{
"job_id": "job_7Yq2c",
"external_job_id": "WMS-2026-07-30-A",
"assigned_to": "driver@fleet.com.au",
"optimized": true,
"stops_imported": 142,
"stops": [
{ "external_stop_id": "SO-88214",
"stop_id": "stp_9f2",
"sequence": 38,
"status": "pending" }
],
"warnings": []
}Vos identifiants sont conservés
Chaque identifiant que vous envoyez revient en sortie, sur la mission et sur chaque arrêt. Vous n’avez jamais à tenir une table de correspondance entre vos numéros de commande et les nôtres.
| external_job_id | Votre propre référence de lot — elle revient sur chaque arrêt, vous n’avez donc pas de table de correspondance à tenir |
| external_stop_id | Votre numéro de commande ou d’expédition, conservé jusqu’au statut et à la clôture |
| address | Une seule ligne d’adresse ; géocodée à l’import, les échecs reviennent sous forme d’avertissements |
| parcel_count | Sert aux hypothèses de charge et de manutention sur l’arrêt |
| duration_minutes | Temps de service à la porte — consommé dans le modèle, pas escamoté |
| driver_email | Affecte la tournée terminée à un chauffeur déjà présent sur le compte |
Ce qui se passe quand ça tourne mal
Écritures idempotentes
Réimporter le même external_job_id met la mission à jour au lieu d’en créer une seconde. Réessayer après un dépassement de délai est sans risque.
Succès partiel
Un arrêt impossible à géocoder revient dans warnings[] tandis que le reste de la mission est importé. La requête n’échoue pas dans son ensemble parce qu’une adresse est mauvaise.
Versionnement
La version est dans le chemin. À l’intérieur d’une version, des champs sont ajoutés mais jamais supprimés ni détournés, si bien qu’une intégration écrite aujourd’hui continue de fonctionner.
Les clés de bac à sable sont gratuites
Développez contre un bac à sable avant de vous engager. Demandez-nous et nous enverrons des identifiants et un exemple détaillé adapté à votre propre format de données.