For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/connectors-sources-odoo.md.

Extraire des données ERP Odoo avec le connecteur Data Platform

Voir en Markdown

Le connecteur Odoo extrait les données de n'importe quelle instance Odoo ERP : contacts, leads CRM, commandes de vente, factures, produits, inventaire, RH, projets, et plus encore

Objectif

Le connecteur Odoo extrait les données de n'importe quelle instance Odoo ERP : contacts, leads CRM, commandes de vente, factures, produits, inventaire, RH, projets, et plus encore.

26 modèles prédéfinis couvrant 9 domaines + un endpoint custom model pour n'importe quel modèle Odoo + un endpoint model fields pour l'introspection du schéma.

Le connecteur retourne du JSON brut depuis l'API JSON-RPC d'Odoo. La platform aplatit automatiquement les objets imbriqués en colonnes et stocke le résultat dans le lakehouse. Aucune définition manuelle du schéma n'est nécessaire.

Compatible avec Odoo 14–19.

1. Obtenir une clé API

  1. Connectez-vous à votre instance Odoo
  2. Cliquez sur votre avatar (en haut à droite) > My Profile
  3. Allez dans l'onglet Account Security
  4. Cliquez sur New API Key
  5. Saisissez une description (par exemple, data-platform-connector)
  6. Cliquez sur Generate Key
  7. Copiez la clé immédiatement : elle ne s'affiche qu'une seule fois
Info

Odoo Online : l'accès à l'API nécessite le Custom plan. Voir Odoo Pricing.

2. Configurer les identifiants

ChampObligatoireDescription
URLOuiL'URL de votre instance Odoo (par exemple, https://mycompany.odoo.com)
LoginOuiVotre e-mail de connexion Odoo
API KeyOuiLa clé API générée ci-dessus
DatabaseNonDétecté automatiquement pour les URL en *.odoo.com. Requis pour les instances auto-hébergées.

3. Types d'endpoints disponibles

models : Modèles prédéfinis

26 modèles Odoo couramment utilisés, regroupés par domaine :

DomaineModèles
Contactsres.partner
CRMcrm.lead, crm.stage, crm.team
Ventessale.order, sale.order.line
Achatspurchase.order, purchase.order.line
Facturationaccount.move, account.move.line, account.journal
Produitsproduct.template, product.product, product.category
Inventairestock.picking, stock.move, stock.warehouse, stock.location
RHhr.employee, hr.department
Projetsproject.project, project.task
Systèmeres.users, res.company, res.country, res.currency

Paramètres :

ParamètreTypeObligatoireDescription
ModelselectOuiModèle Odoo à extraire
Fields FiltertagsNonChamps spécifiques à inclure (vide = tous)
Domain FiltertextNonFiltre de domaine Odoo au format JSON (vide = tous les enregistrements)
Max ItemsnumberNonNombre maximum d'enregistrements à extraire (vide = tous)

custom_model : N'importe quel modèle Odoo

Pour les modèles absents de la liste prédéfinie (par exemple, helpdesk.ticket, mrp.production, fleet.vehicle).

ParamètreTypeObligatoireDescription
Model NametextOuiNom technique complet du modèle (par exemple, helpdesk.ticket)
Fields FiltertagsNonChamps spécifiques à inclure
Domain FiltertextNonFiltre de domaine au format JSON
Max ItemsnumberNonNombre maximum d'enregistrements

model_fields : Introspection du schéma

Retourne les définitions de champs pour n'importe quel modèle (nom, type, obligatoire, texte d'aide, relation). Utile pour découvrir les champs disponibles avant d'extraire des données.

ParamètreTypeObligatoireDescription
Model NametextOuiModèle à inspecter (par exemple, res.partner)

4. Ajouter une source Odoo sur la Data Platform

  1. Dans les Connectors de la Data Platform, trouvez Odoo dans le store des sources et cliquez sur Sélectionner.
  2. Renseignez les champs de connexion de l'étape 2, URL, Login, API Key, et (pour un déploiement auto-hébergé) Database.
  3. Cliquez sur Connecter pour vérifier les identifiants. Le connecteur s'authentifie via JSON-RPC et résout votre uid Odoo.
  4. Cliquez sur Ajouter un endpoint, choisissez models, custom_model, ou model_fields dans le menu déroulant, et renseignez les paramètres requis par cet endpoint (par exemple Model, Fields Filter optionnel, Domain Filter optionnel, Max Items optionnel).
  5. Répétez l'étape 4 pour chaque endpoint supplémentaire que vous souhaitez ingérer dans cette source. Chacun devient une table distincte dans le lakehouse.
  6. Nommez la source et cliquez sur Créer.
Warning

Le nom technique ne peut pas être modifié après la création de la source. Il est utilisé lors de l'ouverture de la source via le SDK Data Platform.

5. Exemple rapide : extraire les contacts

  1. Endpoint : models
  2. Model : res.partner (Contacts)
  3. Fields Filter : name, email, phone, is_company, city, country_id
  4. Max Items : 100 (ou vide pour tout extraire)

Le connecteur retourne du JSON brut depuis l'API Odoo. La platform aplatit automatiquement les objets imbriqués et stocke le résultat dans le lakehouse.

6. Syntaxe du Domain Filter

Le filtre de domaine utilise la notation polonaise (préfixe) d'Odoo. Saisissez-le sous forme de tableau JSON :

[["state", "=", "sale"], ["amount_total", ">", 1000]]

Opérateurs courants : =, !=, >, <, >=, <=, in, not in, like, ilike

Les conditions OR utilisent le préfixe | :

["|", ["type", "=", "lead"], ["type", "=", "opportunity"]]

Laissez vide [] pour extraire tous les enregistrements.

7. Bonnes pratiques

Utiliser le filtre de champs

Sans filtre, Odoo retourne tous les champs : certains modèles comptent plus de 200 champs. Utilisez le filtre de champs pour ne garder que ce dont vous avez besoin, en particulier pour les modèles volumineux comme res.partner.

Commencer avec max_items

Définissez max_items à 10 ou 100 pour tester rapidement. Retirez la limite une fois satisfait.

Utiliser model_fields pour découvrir les champs

L'endpoint model_fields retourne le schéma complet de n'importe quel modèle. Utilisez-le pour trouver les noms de champs, les types et les relations avant de configurer l'extraction.

Stages et tables de référence

Extrayez crm.stage, account.journal, product.category en tant que tables de référence. Joignez-les aux données principales sur les champs d'ID stage/journal/category.

8. Limitations connues

  • La disponibilité des modèles dépend des applications installées. Des modèles comme crm.lead nécessitent l'application CRM, sale.order nécessite Sales, etc. Utilisez custom_model pour tester si un modèle existe sur votre instance.
  • Certains champs nécessitent des groupes d'utilisateurs spécifiques. Par exemple, project.project.stage_id nécessite le groupe « Use Stages on Project ». Si vous obtenez une erreur de permission, utilisez fields_filter pour exclure les champs restreints.
  • L'accès à l'API Odoo Online nécessite le Custom plan. Voir Odoo Pricing.
Info

Pour des informations techniques détaillées (mécanismes internes d'authentification, référence complète des endpoints, pagination, limites de débit, format de sortie, référence du Domain Filter, compatibilité des versions, limitations), consultez la référence technique Odoo.

Aller plus loin

Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.

Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe la Data Platform sur le canal Discord dédié.

Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre centre d'aide.

Rejoignez notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?