Dolibarr ERP/CRM est une puissante plateforme open source reconnue pour sa flexibilité et sa large gamme d'outils de gestion d'entreprise intégrés. Bien que Dolibarr intègre des fonctionnalités CRM de base, les entreprises peuvent trouver utile, voire nécessaire, de l'intégrer à des systèmes CRM externes comme HubSpot, Zoho CRM ou Salesforce pour améliorer l'automatisation du marketing, l'engagement client ou le reporting. Ce guide explique comment synchroniser Dolibarr avec des CRM externes sans recourir à des plugins coûteux ou à des intergiciels propriétaires.

Table des matières

  1. Pourquoi synchroniser Dolibarr avec un CRM externe ?

  2. Aperçu des CRM externes populaires

  3. Méthodes d'intégration : API directe, middleware et scripts personnalisés

  4. Exigences et préparatifs

  5. Comprendre la structure de l'API de Dolibarr

  6. Présentation des API HubSpot, Zoho et Salesforce

  7. Choisir les éléments à synchroniser (prospects, contacts, transactions, factures)

  8. Configuration de l'accès API sur Dolibarr

  9. Configuration de l'accès API sur le CRM externe

  10. Mappage des champs de données entre les systèmes

  11. Création d'un script de synchronisation (PHP/Python)

  12. Gestion sécurisée de l'authentification et des jetons

  13. Automatiser la synchronisation avec des tâches Cron ou des Webhooks

  14. Gestion des erreurs et résolution des conflits de données

  15. Réflexions finales et meilleures pratiques


1. Pourquoi synchroniser Dolibarr avec un CRM externe ?

Alors que Dolibarr gère les bases du CRM comme la gestion par des tiers, les tâches et les propositions, les CRM externes fournissent des outils spécialisés tels que :

  • Automatisation du marketing (campagnes par e-mail, lead nurturing)

  • Pipelines de vente et prévisions avancées

  • Intégrations de téléphonie intégrée ou de chatbot

  • Tableaux de bord et analyses améliorés

La synchronisation garantit que les deux systèmes restent synchronisés et réduit la double saisie de données.


2. Aperçu des CRM externes populaires

Voici un aperçu rapide de certaines options CRM externes que vous pourriez intégrer à Dolibarr :

  • HubSpot: Marketing entrant, formulaires, e-mail et automatisation

  • Zoho CRM: Gestion des contacts, suivi des prospects et rapports performants

  • Salesforce: CRM de niveau entreprise avec personnalisation approfondie

  • Pipedrive:Axé sur la simplicité et les pipelines visuels

  • Freshsales: Notation basée sur l'IA et intégration téléphonique

Toutes les API de support pour l'intégration.


3. Méthodes d'intégration : API directe, middleware et scripts personnalisés

Trois manières générales de synchroniser Dolibarr avec des CRM externes :

  • Intégration directe de l'API:Utilisez les deux API pour construire un pont

  • Plateformes middleware:Utilisez des outils open source comme n8n ou Integromat (niveau gratuit)

  • Scripts de synchronisation personnalisés:Idéal pour un contrôle total et des configurations soucieuses du budget

Ce guide se concentre sur l’intégration directe d’API à l’aide de scripts personnalisés.


4. Exigences et préparatifs

Avant de commencer:

  • Assurez-vous d'avoir Dolibarr avec le module API activé (v9.0+ préféré)

  • Créer ou accéder à un compte CRM externe avec des privilèges API

  • Utiliser un serveur ou un environnement pour le développement (local ou distant)

  • Choisissez un langage de script (PHP, Python, Node.js)

Aussi:

  • Sauvegarder les deux systèmes

  • Lister les données à synchroniser : tiers, contacts, offres, etc.


5. Comprendre la structure de l'API de Dolibarr

L'API REST de Dolibarr prend en charge la plupart des modules de base :

  • Tiers : /thirdparties

  • Contacts : /contacts

  • Ordres: /orders

  • Factures: /invoices

Format d'accès :

https://yourdolibarr.com/api/index.php/thirdparties?DOLAPIKEY=your_key

La réponse est au format JSON. Utilisez GET/POST/PUT selon l'opération.


6. Présentation des API HubSpot, Zoho et Salesforce

HubSpot

  • base: https://api.hubapi.com/

  • Authentification : OAuth2 ou clé API (bientôt obsolète)

  • Points finaux communs : /contacts/v1, /deals/v1, /companies/v2

Zoho

  • base: https://www.zohoapis.com/crm/v2/

  • OAuth2 requis

  • Prend en charge des modules tels que Leads, Contacts, Deals

Salesforce

  • Utilise l'API REST via OAuth2

  • Nécessite une application enregistrée avec un secret client

  • Base REST : https://instance.salesforce.com/services/data/vXX.0/


7. Choisir les éléments à synchroniser (prospects, contacts, transactions, factures)

Définissez votre portée de synchronisation :

  • De Dolibarr au CRM: Contacts, entreprises, factures

  • Du CRM à Dolibarr: Leads, contacts qualifiés en marketing

  • Décider de la direction (unidirectionnelle ou bidirectionnelle)

La cartographie doit être claire et stockée dans un fichier de configuration ou une base de données.


8. Configuration de l'accès API sur Dolibarr

  1. Activez la Module API de l'administrateur Dolibarr

  2. Générer la clé API pour l'utilisateur d'intégration

  3. Accorder des autorisations aux modules requis

  4. Tester l'accès à l'API avec curl ou Postman :

curl https://yourdolibarr.com/api/index.php/thirdparties?DOLAPIKEY=your_key

9. Configuration de l'accès API sur le CRM externe

Suivez le guide du développeur du CRM pour :

  • Créer une application/un client (pour OAuth2)

  • Obtenir l'identifiant et le secret du client

  • Définir les portées et rediriger les URI

  • Testez en utilisant leur explorateur d'API ou curl

Stockez les jetons d’accès et d’actualisation en toute sécurité.


10. Mappage des champs de données entre les systèmes

Mise en situation :

Champ de Dolibarr Champ HubSpot
name company
email email
phone phone
note_private notes
date_creation createdate

Utilisez des tableaux ou des dictionnaires dans votre script pour gérer ce mappage.


11. Création d'un script de synchronisation (PHP/Python)

Exemple en Python (synchronisation des contacts) :

import requests

# Get Dolibarr contacts
dol_url = "https://yourdolibarr.com/api/index.php/contacts?DOLAPIKEY=your_key"
dolibarr_contacts = requests.get(dol_url).json()

# Send to HubSpot
hubspot_url = "https://api.hubapi.com/contacts/v1/contact/"
headers = {"Authorization": "Bearer YOUR_ACCESS_TOKEN"}

for contact in dolibarr_contacts:
    data = {
        "properties": [
            {"property": "email", "value": contact['email']},
            {"property": "firstname", "value": contact['firstname']},
        ]
    }
    requests.post(hubspot_url, json=data, headers=headers)

12. Gestion sécurisée de l'authentification et des jetons

  • Ne jamais coder en dur les informations d'identification

  • Utilisez .env fichiers ou variables d'environnement

  • Actualiser les jetons périodiquement

  • Définir des alertes d'expiration de jeton

Envisagez d’utiliser des bibliothèques ou des packages de gestion de jetons.


13. Automatisation de la synchronisation avec des tâches Cron ou des webhooks

  • Utilisez cron pour planifier des synchronisations périodiques (par exemple, toutes les 15 minutes)

  • Utilisez des webhooks pour réagir instantanément aux changements (si le CRM le prend en charge)

Exemple de tâche cron :

*/15 * * * * /usr/bin/python3 /path/sync_contacts.py

14. Gestion des erreurs et résolution des conflits de données

Gérer les erreurs telles que :

  • 401 Non autorisé (jeton expiré)

  • 400 Mauvaise requête (champs manquants)

  • 429 Trop de requêtes (limites de débit)

Gère également :

  • Enregistrements en double

  • Mises à jour contradictoires

  • Suppressions logicielles ou archivage

Enregistrez chaque exécution de synchronisation avec un horodatage et un résultat.


15. Réflexions finales et meilleures pratiques

Connecter Dolibarr à un CRM externe donne à votre entreprise un avantage stratégique, en combinant la puissance ERP de Dolibarr avec des outils de marketing et de vente avancés.

Meilleures pratiques:

  • Commencez par une synchronisation unidirectionnelle avant de passer à la synchronisation bidirectionnelle

  • Testez soigneusement avant d'automatiser

  • Maintenir la documentation de l'utilisation de l'API et des mappages de champs

  • Sécurisez vos identifiants et faites-les tourner régulièrement

  • Utiliser des environnements de préparation pour les nouvelles fonctionnalités