Guide d'intégration de l'API Odoo : connectez Odoo à n'importe quel système

Guide technique pour l'intégration de l'API Odoo — Protocoles XML-RPC et JSON-RPC, authentification, opérations CRUD, mappage de champs, gestion des erreurs, modèles de webhook et exemples d'intégration concrets.

E

ECOSIRE Research and Development Team

Équipe ECOSIRE

5 mars 20266 min de lecture1.2k Mots

Guide d'intégration de l'API Odoo : connectez Odoo à n'importe quel système

Odoo fonctionne rarement de manière isolée. Les entreprises ont besoin d'une connexion aux plateformes de commerce électronique, aux processeurs de paiement, aux transporteurs, aux outils marketing et aux applications personnalisées. L'API externe Odoo fournit deux protocoles — XML-RPC et JSON-RPC — qui permettent à n'importe quel système de lire, créer, mettre à jour et supprimer des enregistrements dans Odoo par programme.

Authentification

Authentification par clé API

Générez une clé API dans Odoo : accédez à votre profil utilisateur, puis Sécurité du compte, puis Clés API. Créez une clé avec une étiquette descriptive. Utilisez cette clé à la place de votre mot de passe pour l'authentification API : elle peut être révoquée indépendamment sans modifier vos informations de connexion.

Paramètres de connexion

Chaque appel API nécessite : l'URL du serveur Odoo, le nom de la base de données, votre nom d'utilisateur (e-mail de connexion) et la clé API. Stockez-les en toute sécurité : ne codez jamais les informations d'identification en dur dans le code source.

Protocole XML-RPC

Configuration de la connexion

XML-RPC uses two endpoints: /xmlrpc/2/common for authentication and /xmlrpc/2/object for data operations. Authentifiez-vous d’abord pour obtenir un identifiant utilisateur, puis utilisez cet identifiant pour les appels ultérieurs.

Opérations CRUD

Rechercher et lire : interrogez des enregistrements avec des filtres de domaine (similaires aux clauses SQL WHERE). Les domaines utilisent des tuples : [('state', '=', 'sale'), ('amount_total', '>', 1000)] recherche les commandes client confirmées supérieures à 1 000 $.

Créer : transmettez un dictionnaire de valeurs de champ. L'API renvoie le nouvel ID d'enregistrement. Les champs obligatoires doivent être inclus, sinon l'appel échoue avec une erreur de validation.

Écrire : mettez à jour les enregistrements existants en transmettant les ID d'enregistrement et un dictionnaire des valeurs modifiées. Incluez uniquement les champs que vous souhaitez modifier.

Dissocier : supprimer les enregistrements par ID. À utiliser avec prudence : certains enregistrements ne peuvent pas être supprimés s'ils contiennent des enregistrements dépendants.

Protocole JSON-RPC

Pourquoi JSON-RPC

JSON-RPC est généralement préféré pour les intégrations modernes : il utilise JSON (plus convivial pour les développeurs que XML), fonctionne mieux avec les applications JavaScript/TypeScript et offre des performances légèrement meilleures pour les charges utiles volumineuses.

Format de la demande

Les appels JSON-RPC sont dirigés vers un seul point de terminaison : /jsonrpc. Chaque requête inclut le nom du service, la méthode et les arguments dans une enveloppe JSON-RPC 2.0 standard.

Modèles d'intégration courants

Synchronisation des commandes de commerce électronique

Synchronisez les commandes de Shopify ou WooCommerce vers Odoo :

  1. Écoutez les webhooks de commande depuis la plateforme de commerce électronique
  2. Mappez les données client avec les enregistrements des partenaires Odoo (créez ou faites correspondre les enregistrements existants)
  3. Créez une commande client avec des éléments de campagne mappés aux produits Odoo
  4. Confirmez la commande pour déclencher les workflows d'exécution
  5. Synchronisez les informations de suivi avec la plateforme de commerce électronique

Intégration du processeur de paiement

Connectez Stripe, PayPal ou d'autres processeurs :

  1. Recevez les webhooks de confirmation de paiement
  2. Faites correspondre les paiements aux factures Odoo par numéro de référence
  3. Enregistrez le paiement dans Odoo Comptabilité
  4. Réconcilier automatiquement avec les relevés bancaires

Synchronisation CRM

Gardez Odoo CRM synchronisé avec les outils marketing externes :

  1. Les nouveaux leads issus des plateformes marketing créent des leads Odoo
  2. Les mises à jour de la notation des leads sont bidirectionnelles
  3. Les opportunités gagnées déclenchent des campagnes de suivi dans l'outil marketing
  4. Les informations de contact restent synchronisées sur tous les systèmes

Gestion des erreurs

Erreurs courantes

  • Accès refusé : informations d'identification invalides ou autorisations insuffisantes
  • Erreur de validation : champs obligatoires manquants ou valeurs invalides
  • Enregistrement introuvable : référencement d'un identifiant qui n'existe pas
  • Mise à jour simultanée : Un autre utilisateur a modifié l'enregistrement simultanément

Bonnes pratiques

  1. Mettre en œuvre une logique de nouvelle tentative avec une interruption exponentielle pour les échecs transitoires
  2. Valider les données avant de les envoyer pour détecter les erreurs plus tôt
  3. Enregistrez tous les appels d'API à des fins de débogage et d'audit
  4. Gérer les limites de débit — opérations par lots au lieu d'appels individuels
  5. Utilisez des opérations idempotentes pour réessayer en toute sécurité les appels ayant échoué

Optimisation des performances

  • Lectures par lots : utilisez search_read au lieu d'appels séparés search + read
  • Limiter les champs : demandez uniquement les champs dont vous avez besoin, pas tous les champs du modèle
  • Pagination : utilisez limit et offset pour les grands ensembles de résultats
  • Mise en cache : mettez en cache localement les données à évolution lente (catalogues de produits, taux de change)

Modèles de webhooks

Odoo ne dispose pas de webhooks sortants natifs dans toutes les versions. Approches courantes :

  • Actions automatisées : actions du serveur qui se déclenchent lors des modifications d'enregistrement et appellent des URL externes
  • Contrôleurs personnalisés : créez un module Odoo qui expose les points de terminaison du webhook pour les systèmes externes
  • Polling : les systèmes externes interrogent Odoo à intervalles réguliers pour connaître les modifications (plus simple mais moins en temps réel)

Considérations de sécurité

  • Utilisez des clés API au lieu de mots de passe
  • Restreindre l'accès à l'API par adresse IP au niveau du réseau
  • Utilisez HTTPS pour toutes les communications API - Mettre en œuvre les droits d'accès appropriés : les utilisateurs de l'API doivent disposer des autorisations minimales nécessaires.
  • Faites pivoter régulièrement les clés API et révoquez immédiatement les clés compromises

Notre service d'intégration Odoo crée des intégrations de niveau production avec une gestion des erreurs, une surveillance et une sécurité appropriées.

Questions fréquemment posées

Quel protocole dois-je utiliser : XML-RPC ou JSON-RPC ?

JSON-RPC pour les nouveaux projets. Il est plus convivial pour les développeurs, fonctionne mieux avec les outils modernes et c’est la direction que prend Odoo. XML-RPC pour les systèmes ou langages existants avec une meilleure prise en charge de la bibliothèque XML-RPC.

Existe-t-il une API REST ?

Odoo 17+ inclut une API REST aux côtés des points de terminaison RPC. Il suit les conventions REST standard avec les charges utiles JSON et est généralement plus facile à utiliser pour les applications Web.

Comment gérer les migrations de données volumineuses ?

Pour les chargements de données initiaux, utilisez la fonction d'importation CSV ou écrivez un script de migration qui crée des enregistrements par lots (100 à 500 enregistrements par lot) avec gestion des erreurs pour chaque lot.

Puis-je étendre l'API avec des points de terminaison personnalisés ?

Oui. Créez des modules Odoo personnalisés avec des classes de contrôleur qui exposent des points de terminaison HTTP supplémentaires pour des opérations spécialisées non couvertes par l'API standard.

E

Rédigé par

ECOSIRE Research and Development Team

Création de produits numériques de niveau entreprise chez ECOSIRE. Partage d'analyses sur les intégrations Odoo, l'automatisation e-commerce et les solutions d'entreprise propulsées par l'IA.

Discutez sur WhatsApp