L'API Odoo est la porte par laquelle un autre logiciel lit et écrit dans votre base : un CRM, un site marchand, un outil d'atelier, un tableau de bord. Relier un CRM existant à l'ERP est le cas le plus fréquent, et c'est l'objet de notre intégration CRM ERP. Ce guide dit ce que l'API permet, ce qu'elle impose côté licence, et où un intégrateur Odoo doit poser des limites avant la première ligne de code.
Il s'adresse au dirigeant, au DSI ou au responsable de projet d'une PME ou d'une ETI qui doit décider d'une intégration. Les faits techniques viennent de la documentation officielle 19.0 de l'API externe, relue le 6 octobre 2026.
Ce que l'API externe d'Odoo expose
L'API externe donne accès aux modèles de la base : les clients, les commandes, les articles, les factures, et ceux de vos modules maison. On y appelle les méthodes du modèle : chercher et lire, créer, modifier. Chaque base décrit ses propres modèles, champs et méthodes sur sa page de documentation dynamique, parce qu'aucune base n'a exactement les mêmes.
Le point qui compte pour une direction : l'API agit avec les droits de l'utilisateur dont la clé est utilisée. Une clé prise sur un compte administrateur donne à l'outil tiers les droits d'un administrateur. C'est l'erreur la plus grave que l'on rencontre en audit, parce qu'elle ne se voit dans aucun écran.
JSON-2, XML-RPC, JSON-RPC : quelle API en 2026 ?
Odoo a longtemps exposé deux API, XML-RPC et JSON-RPC, qui offrent les mêmes services. La version 19 a ajouté l'API JSON-2 : une requête par appel, à l'adresse /json/2/<modèle>/<méthode>, authentifiée par une clé d'API dans l'en-tête d'autorisation. La documentation annonce que les points d'accès XML-RPC et JSON-RPC seront retirés dans Odoo 22, à l'automne 2028.
| API | Statut dans la documentation 19.0 | Notre usage |
|---|---|---|
| JSON-2 | Nouvelle en 19.0, clé d'API en en-tête | Toute nouvelle intégration sur une base 19 ou 20 |
| XML-RPC | Retrait programmé dans Odoo 22 | Bases 17 et 18, et intégrations existantes, inscrites au plan de migration |
| JSON-RPC | Retrait programmé dans Odoo 22 | Même traitement que XML-RPC |
Notre règle : toute intégration que nous écrivons sur une base 19 ou 20 part en JSON-2. Une intégration XML-RPC qui fonctionne n'est pas une urgence, mais elle a désormais une date de fin. Nous l'inscrivons au plan de la prochaine migration Odoo, plutôt que de la découvrir cassée le lendemain d'une montée de version. Sur une base 17 ou 18, JSON-2 n'existe pas : XML-RPC reste la voie, et nous isolons les appels pour n'avoir qu'un endroit à réécrire.
Quel plan Odoo pour accéder à l'API ?
La documentation est sans ambiguïté : l'accès aux données par l'API externe n'est disponible que sur les plans Personnalisé. Ni Une App Gratuite ni Standard n'y donnent accès. Au tarif de l'éditeur relevé sur odoo.com, le plan Personnalisé coûte 35,90 € puis 44,90 € par utilisateur et par mois en facturation annuelle, contre 19,90 € puis 24,90 € pour le Standard.
C'est une décision de licence, à prendre au cadrage. Choisir le Standard pour économiser, puis découvrir qu'un connecteur est indispensable, fait changer de plan en cours de projet. Nous posons donc la question dès le premier rendez-vous : quel logiciel devra parler à Odoo dans les deux ans ? Le même plan Personnalisé ouvre Studio, le multi-sociétés et l'hébergement hors d'Odoo Online. Le choix entre ces hébergements est dans notre comparatif Odoo.sh, Online ou serveur propre.
Un logiciel à relier à Odoo ?
CRM, site ou outil métier : nous écrivons la synchronisation avec un compte technique, des clés à durée limitée et un journal. En 30 minutes, on regarde vos flux.
Clés d'API, compte technique, journal
Une clé d'API se crée dans les préférences de l'utilisateur, rubrique sécurité du compte, avec une description et une durée. La documentation précise qu'une clé ne peut pas durer plus de trois mois, et recommande une durée courte pour un usage interactif. C'est une bonne règle, qui a une conséquence pratique : une intégration sans procédure de rotation s'arrête d'elle-même, un jour de semaine, sans prévenir.
Nous appliquons trois règles, sur chaque projet :
- Un compte technique par usage. Synchronisation du CRM, lecture du stock par le site, écriture des temps par l'atelier : un compte chacun, avec ses seuls droits. Jamais le compte d'une personne, « parce que ses droits sont déjà bons » : une personne part, un compte technique se révoque sans couper un salarié.
- Une clé nommée, à durée courte, dans un coffre. Jamais dans un ticket, un e-mail ou un dépôt de code. La rotation est écrite dans la documentation d'exploitation, avec le nom de la personne qui la fait.
- Une trace pour chaque écriture. L'enregistrement modifié porte le nom du compte technique, et l'intégration tient son propre journal : quel appel, quand, sur quel objet. Sans trace, une donnée écrasée ne se retrouve pas.
Qui est maître de la donnée ?
Une fiche client a un seul maître. Deux systèmes qui écrivent le même champ produisent des écrasements silencieux : le commercial corrige une adresse dans le CRM, la synchronisation nocturne la remplace par celle d'Odoo. Avant le code, nous écrivons un tableau, objet par objet : qui crée, qui modifie, qui ne fait que lire. C'est le document qui évite le plus de mauvaises surprises après la mise en production.
Trois schémas pour relier un logiciel à Odoo
Un CRM existant, comme HubSpot ou Salesforce
Le CRM reste le maître des pistes et des opportunités ; Odoo devient le maître des clients facturés, des commandes et des factures. La synchronisation pousse le client et l'affaire gagnée vers Odoo, et remonte l'état de la commande et des factures vers le CRM. Quand l'équipe commerciale peut changer d'outil, la question inverse se pose : unifier dans le CRM d'Odoo supprime une interface à maintenir. Notre guide Odoo CRM pour une PME dit ce que le standard couvre.
Un site marchand ou un portail
Le site lit les articles, les prix par client et le stock disponible, et écrit des commandes. Le piège est le stock : un site qui l'interroge trop rarement vend ce qui n'existe plus, un site qui l'interroge à chaque page charge la base pour rien. Nous fixons la fréquence avec le métier, article par article. Quand le site peut vivre dans Odoo lui-même, l'API disparaît : c'est l'option que décrit notre guide Odoo e-commerce B2B.
Un outil métier ou un logiciel d'atelier
Un configurateur, une application de terrain, un logiciel de production : l'outil écrit des devis, des temps ou des déclarations, et lit des références. C'est le schéma où le compte technique doit être le plus étroit, parce que ces outils écrivent souvent. Quand la règle métier ne tient pas dans Odoo, un ERP sur mesure ou une brique dédiée, reliée par l'API, coûte moins cher à maintenir qu'un module qui force le standard.
API, connecteur du marché ou module Odoo ?
Un connecteur existant sur la place de marché d'Odoo fait gagner du temps quand le besoin est standard : les mêmes objets, les mêmes champs, dans le même sens. Vérifiez deux choses avant de l'installer : la version d'Odoo qu'il supporte, et qui le maintient. La documentation de l'éditeur est nette sur le premier point : une base avec modules spécifiques ne peut pas être migrée tant qu'une version des modules n'existe pas pour la version cible. Un connecteur abandonné bloque votre prochaine migration.
Une intégration écrite pour vous se justifie quand vos règles ne sont pas celles du connecteur : un client maître dans un autre système, un prix calculé ailleurs, une validation humaine au milieu du flux. Elle vous appartient, avec son code et sa documentation. Pour brancher un assistant d'IA plutôt qu'un logiciel, la même API sert de socle à un serveur MCP : c'est le sujet de notre guide Odoo et l'IA.
Combien coûte une intégration par l'API ?
Trois postes. La licence, d'abord : le plan Personnalisé, au tarif de l'éditeur, si vous êtes sur Odoo Online. L'intégration, ensuite : chez JAIKIN, un flux unique, par exemple la synchronisation des clients et des commandes avec un CRM, relève d'un périmètre court, entre 2 000 et 8 000 € ; une intégration qui accompagne un socle complet entre dans la fourchette de 8 000 à 25 000 €, hors licence. L'exploitation, enfin : rotation des clés, surveillance des erreurs, reprise à chaque montée de version.
Le troisième poste est celui qu'aucun devis ne montre. Nous le chiffrons à part, parce qu'une intégration sans exploitation finit en panne silencieuse un vendredi soir.
Questions fréquentes
Odoo a-t-il une API ?
Oui. Odoo expose une API externe qui donne accès aux modèles de la base, avec les droits de l'utilisateur dont la clé est utilisée. Depuis la version 19, l'API JSON-2 est la voie recommandée ; les API XML-RPC et JSON-RPC restent disponibles jusqu'à leur retrait, programmé dans Odoo 22, à l'automne 2028.
Quelle est la différence entre XML-RPC et JSON-2 dans Odoo ?
XML-RPC est l'API historique, disponible sur toutes les versions récentes et programmée pour être retirée dans Odoo 22. JSON-2 est apparue en 19.0 : une requête par appel de méthode, authentifiée par une clé d'API dans l'en-tête. Toute nouvelle intégration sur une base 19 ou 20 devrait partir en JSON-2.
L'API Odoo est-elle disponible avec le plan Standard ?
Non. D'après la documentation de l'éditeur, l'accès aux données par l'API externe n'est disponible que sur les plans Personnalisé ; Une App Gratuite et Standard n'y donnent pas accès. C'est une décision à prendre au cadrage, avant de signer la licence, pas au moment de brancher le premier logiciel.
Combien de temps dure une clé d'API Odoo ?
Au plus trois mois : la documentation interdit les clés plus longues. Une intégration doit donc prévoir la rotation de ses clés dès la conception, avec une personne responsable. Sans cette procédure, l'intégration s'arrête d'elle-même à l'expiration de la clé, sans message clair pour les utilisateurs.
Faut-il un développeur pour utiliser l'API Odoo ?
Pour un connecteur du marché bien maintenu, un paramétrage suffit souvent. Pour une intégration écrite pour vos règles, oui : il faut écrire les appels, gérer les erreurs, journaliser et prévoir la rotation des clés. JAIKIN écrit ces intégrations et remet le code, documenté, avec son dépôt.

