Configuration de l'intégration Odoo
Ce guide s’adresse à l’administrateur Odoo qui configure les automatisations Studio dans Odoo Online pour que les événements transport notifient le portail live de l’entreprise.
Ce qui est connecté
Section intitulée « Ce qui est connecté »| Système | Rôle |
|---|---|
| Odoo Online (forfait Custom + Studio) | Envoie un POST JSON au démarrage, à la livraison, à l’annulation ou au changement de camion |
| Portail live | Reçoit l’événement et active ou désactive le suivi GPS client |
sequenceDiagram participant Odoo as Odoo Online participant Portal as Portail live
Odoo->>Portal: POST webhook (automatisation Studio) Portal->>Portal: Vérification du secret et mise à jour mission Portal-->>Odoo: 202 AcceptedLes conducteurs et répartiteurs continuent d’utiliser Odoo. Les clients utilisent le lien de suivi du portail live.
Avant de commencer
Section intitulée « Avant de commencer »Dans Odoo Online
Section intitulée « Dans Odoo Online »- Forfait Custom avec Studio activé.
- Droit de créer des règles d’automatisation sur votre modèle transport / contrat / commande.
- Un modèle et un champ de statut utilisés quand le conducteur démarre, livre ou annule (voir Opérations terrain).
Fourni par l’administrateur du portail live
Section intitulée « Fourni par l’administrateur du portail live »| Élément | Exemple |
|---|---|
| URL de base webhook | https://live.votreentreprise.com/api/integrations/odoo/webhook |
| Secret webhook | Longue chaîne aléatoire (min. 16 caractères) |
Vous collerez l’URL complète incluant le secret dans chaque automatisation Odoo.
Comment Odoo Online envoie les événements
Section intitulée « Comment Odoo Online envoie les événements »Odoo Online utilise Studio → Automatisations avec l’action intégrée Envoyer une notification webhook. Aucun code personnalisé ni module installé n’est requis.
Chaque règle :
- Surveille le changement de statut sur l’enregistrement transport.
- Envoie un
POSTvers l’URL du portail live. - Inclut les champs par défaut Odoo (
_model,_name,_id) plus les Champs que vous sélectionnez.
Le portail live déduit le type d’événement du nom de la règle (ex. EMG contract_started → contract_started).
Référence Odoo : Règles d’automatisation (Envoyer une notification webhook).
Étape 1 — Construire l’URL pour Odoo
Section intitulée « Étape 1 — Construire l’URL pour Odoo »Dans chaque automatisation, utilisez ce format d’URL :
https://live.votreentreprise.com/api/integrations/odoo/webhook?secret=VOTRE_SECRET_WEBHOOKRemplacez l’hôte et le secret par les valeurs fournies par votre administrateur.
Étape 2 — Ouvrir les automatisations dans Studio
Section intitulée « Étape 2 — Ouvrir les automatisations dans Studio »- Ouvrez l’application Odoo contenant vos enregistrements transport / contrat / commande.
- Cliquez sur Studio (clé / Personnaliser).
- Cliquez sur Automatisations.
- Cliquez sur Nouveau.
Étape 3 — Une automatisation par événement
Section intitulée « Étape 3 — Une automatisation par événement »Créez quatre règles (une par ligne). Adaptez les statuts à votre base.
Règle A — Transport démarré (contract_started)
Section intitulée « Règle A — Transport démarré (contract_started) »| Paramètre | Valeur |
|---|---|
| Nom de l’automatisation | EMG contract_started |
| Modèle | Votre modèle transport / contrat / commande |
| Déclencheur | À la création et à la modification |
| Lors de la mise à jour de | Champ modifié au démarrage (souvent state ou stage_id) |
| Appliquer sur (optionnel) | Domaine pour le statut « démarré » |
Action → Envoyer une notification webhook
| Champ | Valeur |
|---|---|
| URL | URL complète de l’étape 1 |
| Champs | Au minimum write_date et name (ou numéro de document) |
Règle B — Livraison confirmée (destination_reached)
Section intitulée « Règle B — Livraison confirmée (destination_reached) »| Paramètre | Valeur |
|---|---|
| Nom | EMG destination_reached |
| Appliquer sur | Statut livré / terminé |
Règle C — Mission annulée (job_cancelled)
Section intitulée « Règle C — Mission annulée (job_cancelled) »| Paramètre | Valeur |
|---|---|
| Nom | EMG job_cancelled |
| Appliquer sur | Statut annulé |
Règle D — Camion réaffecté (truck_reassigned)
Section intitulée « Règle D — Camion réaffecté (truck_reassigned) »| Paramètre | Valeur |
|---|---|
| Nom | EMG truck_reassigned |
| Lors de la mise à jour de | Champ d’affectation camion / véhicule |
Enregistrez chaque règle. Activez Journaliser les appels pendant les tests si disponible.
Étape 4 — Correspondance des champs
Section intitulée « Étape 4 — Correspondance des champs »Odoo envoie toujours _model, _name et _id. Ajoutez dans Champs :
| Champ Odoo | Usage portail live |
|---|---|
write_date |
Obligatoire |
name (ou numéro) |
external_id de la mission |
| Nom conducteur (optionnel) | Affiché sur la mission |
| Identifiant camion (optionnel) | Pour truck_reassigned |
Nom d’automatisation → événement
Section intitulée « Nom d’automatisation → événement »| Nom de règle | Événement |
|---|---|
EMG contract_started |
contract_started |
EMG destination_reached |
destination_reached |
EMG job_cancelled |
job_cancelled |
EMG truck_reassigned |
truck_reassigned |
Événements prévus (à implémenter)
Section intitulée « Événements prévus (à implémenter) »Les quatre règles ci-dessus sont actives aujourd’hui. Celles-ci sont réservées aux prochains jalons — EMG Live ne gère pas encore ces événements, donc ne créez pas l’automatisation Odoo avant que le code EMG Live soit livré (elle serait simplement ignorée) :
| Automatisation future | Déclencheur Odoo | Objet |
|---|---|---|
EMG job_scheduled |
Commande confirmée + camion assigné | Pré-créer la mission planifiée avant le départ |
EMG move_started |
Signature client recueillie | Sous-état sur place / « déménagement en cours » |
EMG payment_received |
Paiement encaissé sur place | Notifier le paiement terrain |
Ajouter un événement plus tard, c’est une nouvelle automatisation ici plus un petit changement côté portail live — les champs personnalisés sont déjà en place depuis les Prérequis.
Exemple de charge utile
Section intitulée « Exemple de charge utile »{ "_model": "x_transport_order", "_name": "EMG contract_started", "_id": 12345, "write_date": "2026-06-26 14:30:00", "name": "SO-2026-0042", "driver_name": "Alex Martin"}Vérifier la connexion
Section intitulée « Vérifier la connexion »Dans Odoo Online
Section intitulée « Dans Odoo Online »- Créez un transport de test.
- Passez au statut démarré.
- Vérifiez le code 202 dans les journaux d’automatisation si Journaliser les appels est activé.
Dans le portail live
Section intitulée « Dans le portail live »- Connectez-vous en gestionnaire de flotte ou admin entreprise.
- Confirmez une mission active puis terminée.
- Testez le lien client (Opérations terrain).
Dépannage
Section intitulée « Dépannage »| Problème | Piste |
|---|---|
| Pas de menu Automatisations | Forfait Custom et accès Studio |
| Règle ne se déclenche pas | Lors de la mise à jour de, domaine Appliquer sur |
| 401 du portail live | Paramètre secret incorrect |
| 400 | Ajouter write_date ; nom EMG <événement> |
| Pas de mission après démarrage | Nom EMG contract_started et champ name requis |
| Blocage persistant | Administrateur TI de l’entreprise |
Guides connexes
Section intitulée « Guides connexes »- Vue d’ensemble Odoo — applications et rôles
- Opérations terrain — flux conducteurs
- Vue d’ensemble portail live — carte flotte