Plan de l'article
💡 En résumé (TL;DR)
- Une intégration ERP fiable ne relie pas directement deux bases de données : elle passe par un contrat d'API documenté.
- Dolibarr fournit un module Web Services API REST, un explorateur et une authentification par clé
DOLAPIKEY.- La bonne architecture place une couche d'intégration entre Dolibarr et le CRM, l'e-commerce, le support ou l'outil logistique.
- Il faut définir le système maître pour chaque donnée, empêcher les doublons et journaliser chaque échange.
- L'exemple Node.js ci-dessous lit des tiers Dolibarr sans exposer la clé au navigateur.
Les entreprises utilisent rarement un seul logiciel. L'ERP gère les clients, devis, commandes, factures ou stocks, tandis que d'autres outils s'occupent du site e-commerce, de la relation client, du support et de la logistique. Sans intégration, les équipes recopient les données, les écarts se multiplient et personne ne sait quelle version est correcte.
Une API ERP résout ce problème en donnant aux applications un contrat d'échange stable. Pour illustrer la méthode, nous allons utiliser Dolibarr, ERP/CRM open source bien adapté aux PME. L'objectif n'est pas de produire un script jetable, mais une intégration exploitable en production.
Ce guide complète notre dossier sur Dolibarr 24 et sa migration ainsi que la page consacrée à l'intégration API sur mesure.
Qu'est-ce qu'une intégration API ERP ?
Une intégration API ERP est un ensemble de règles et de composants qui permettent à l'ERP d'échanger des données avec d'autres applications. Elle peut servir à :
- créer un tiers Dolibarr lorsqu'un client valide son compte e-commerce ;
- transmettre une commande au module commercial ;
- remonter le statut d'une facture vers un portail client ;
- synchroniser les produits et les stocks ;
- envoyer les données nécessaires à une plateforme de facturation électronique ;
- alimenter un tableau de bord ou un entrepôt de données.
L'API décrit les routes, les paramètres, les formats et les erreurs. Elle évite d'écrire directement dans les tables de l'ERP, méthode fragile qui contourne les règles métier, les droits et les contrôles internes.
Architecture recommandée autour de Dolibarr
Une architecture simple comprend trois niveaux :
| Niveau | Responsabilité |
|---|---|
| Application source | E-commerce, CRM, support, WMS ou portail client |
| Couche d'intégration | Validation, conversion, sécurité, files d'attente et journaux |
| Dolibarr | Tiers, produits, commandes, factures, paiements et stocks |
La couche intermédiaire peut être développée avec Node.js ou orchestrée avec n8n. Elle ne doit pas contenir toute la logique commerciale de l'entreprise : elle traduit les contrats, gère les incidents et garantit la livraison.
Avant de coder, rédigez une matrice de propriété des données :
| Donnée | Système maître possible | Sens de synchronisation |
|---|---|---|
| Fiche client légale | Dolibarr | ERP vers les autres outils |
| Compte utilisateur web | Site e-commerce | Site vers ERP |
| Stock disponible | Dolibarr ou WMS | Vers le site e-commerce |
| Ticket de support | Outil support | Résumé ou lien vers ERP |
| Statut de facture | Dolibarr ou plateforme agréée | Vers portail et CRM |
Une même donnée ne doit pas être modifiable librement dans tous les systèmes. Sinon, la dernière écriture gagne, même lorsqu'elle est fausse.
Activer l'API REST dans Dolibarr
La documentation officielle indique qu'il faut activer le module Web Services API REST depuis la page des modules. Dolibarr expose alors des routes sous une URL relative de type :
https://erp.exemple.fr/api/index.php/xxx
L'explorateur fourni par l'installation affiche les routes réellement disponibles. C'est une précaution importante : les modules activés, les extensions et la version de Dolibarr peuvent modifier le contrat accessible.
Procédure recommandée :
- activez l'API REST sur une copie de test ;
- créez un utilisateur de service dédié à l'intégration ;
- accordez uniquement les droits nécessaires ;
- générez sa clé API ;
- ouvrez l'explorateur et testez une route en lecture ;
- vérifiez les journaux et le comportement en cas de clé invalide.
N'utilisez pas le compte administrateur quotidien. Une clé compromise ne doit pas donner accès à toute la comptabilité ou à la gestion des utilisateurs.
Exemple Node.js : lire les tiers avec l'API Dolibarr
La clé reste côté serveur, dans une variable d'environnement. Le navigateur ne doit jamais la recevoir.
const DOLIBARR_URL = process.env.DOLIBARR_URL?.replace(/\/$/, '');
const DOLIBARR_API_KEY = process.env.DOLIBARR_API_KEY;
if (!DOLIBARR_URL || !DOLIBARR_API_KEY) {
throw new Error('Configuration Dolibarr manquante');
}
export async function listThirdParties({ limit = 20, page = 0 } = {}) {
const url = new URL(`${DOLIBARR_URL}/api/index.php/thirdparties`);
url.searchParams.set('sortfield', 't.rowid');
url.searchParams.set('sortorder', 'ASC');
url.searchParams.set('limit', String(limit));
url.searchParams.set('page', String(page));
const response = await fetch(url, {
headers: {
Accept: 'application/json',
DOLAPIKEY: DOLIBARR_API_KEY
},
signal: AbortSignal.timeout(10_000)
});
if (!response.ok) {
const details = await response.text();
throw new Error(`Dolibarr ${response.status}: ${details.slice(0, 300)}`);
}
return response.json();
}
Cet adaptateur centralise l'URL, l'authentification, le délai maximal et les erreurs. Dans une application réelle, ajoutez une validation du JSON retourné et ne placez jamais la clé ou le contenu complet des factures dans les logs.
Pour une création ou une mise à jour, partez toujours du schéma affiché par l'explorateur de votre instance. Validez le payload avant l'appel et conservez l'identifiant Dolibarr retourné dans une table de correspondance.
Éviter les doublons avec l'idempotence
Le réseau n'est pas fiable. Une application peut envoyer une commande, perdre la réponse, puis réessayer. Si le serveur crée un nouvel objet à chaque tentative, le client reçoit deux commandes ou deux factures.
Une stratégie d'idempotence comprend :
- un identifiant externe stable, par exemple
commande_shop_10452; - une table de correspondance entre l'identifiant externe et l'identifiant Dolibarr ;
- une contrainte d'unicité ;
- un statut d'exécution (
received,processing,completed,failed) ; - la réutilisation du résultat lors d'une nouvelle tentative identique.
Ne recherchez pas uniquement un client par son nom : deux entreprises peuvent partager un nom proche. Utilisez les identifiants métier pertinents, après validation juridique et fonctionnelle.
Synchronisation temps réel, webhook ou traitement planifié ?
Trois approches peuvent coexister :
- appel synchrone : utile lorsqu'un utilisateur attend immédiatement un résultat ;
- événement ou webhook : adapté aux changements à propager rapidement ;
- synchronisation planifiée : utile pour les contrôles, rapprochements et reprises.
Même avec des événements, prévoyez une tâche de réconciliation. Elle compare périodiquement les enregistrements et détecte un message perdu, un droit modifié ou une panne passée inaperçue.
Si votre version ou votre module Dolibarr ne fournit pas l'événement nécessaire, utilisez un module personnalisé, un hook métier documenté ou une lecture incrémentale. Évitez de modifier le cœur de Dolibarr : une mise à jour effacerait ou fragiliserait le changement.
Sécurité d'une API ERP
Un ERP contient des données financières et personnelles. Le minimum de production comprend :
- HTTPS obligatoire ;
- utilisateur de service et droits minimaux ;
- clé stockée dans un gestionnaire de secrets ;
- filtrage réseau lorsque l'architecture le permet ;
- rotation et révocation documentées ;
- limitation du débit ;
- validation stricte des entrées ;
- journaux d'audit sans secrets ;
- sauvegardes et procédure de retour arrière ;
- environnement de préproduction représentatif.
Une intégration ne doit pas transformer une erreur externe en corruption interne. Les montants, devises, taux de TVA, unités, pays, dates et encodages méritent des tests explicites.
Observabilité : savoir ce qui a échoué
Pour chaque échange, enregistrez au minimum :
- un identifiant de corrélation ;
- le système source et la destination ;
- le type d'objet et son identifiant fonctionnel ;
- l'heure de début et la durée ;
- le code de résultat ;
- le nombre de tentatives ;
- une erreur expurgée des données sensibles.
Créez des alertes sur le taux d'erreur, l'âge du message le plus ancien et la profondeur de la file. Un connecteur peut continuer à répondre HTTP 200 tout en accumulant des données non traitées : la supervision doit donc suivre le résultat métier, pas seulement la disponibilité du serveur.
Plan de test avant la mise en production
Testez au minimum :
- lecture autorisée et accès refusé ;
- payload incomplet ou incorrect ;
- doublon et nouvelle tentative ;
- indisponibilité temporaire de Dolibarr ;
- dépassement de délai ;
- pagination sur un volume réaliste ;
- caractères accentués et adresses internationales ;
- changement de droits du compte de service ;
- reprise après une interruption ;
- retour arrière de la version du connecteur.
Une recette métier doit vérifier les totaux, les statuts et les documents, pas uniquement les réponses JSON.
FAQ sur l'API ERP et Dolibarr
Dolibarr possède-t-il une API REST ?
Oui. Le module Web Services API REST transforme Dolibarr en serveur REST et donne accès à un explorateur des routes disponibles sur l'instance.
Comment s'authentifier auprès de l'API Dolibarr ?
Une méthode courante consiste à transmettre la clé du compte de service dans l'en-tête HTTP DOLAPIKEY. La clé doit rester côté serveur et être associée à des droits minimaux.
Peut-on connecter Dolibarr à un site e-commerce ?
Oui. La couche d'intégration peut synchroniser clients, produits, commandes, factures et stocks. Il faut toutefois définir le système maître et la stratégie anti-doublon pour chaque objet.
Faut-il utiliser n8n ou développer en Node.js ?
n8n convient aux workflows lisibles et aux intégrations modérées. Node.js apporte davantage de contrôle pour les règles complexes, les volumes élevés, les tests et les contraintes fortes. Une architecture hybride est souvent pertinente.
Peut-on écrire directement dans la base Dolibarr ?
C'est fortement déconseillé pour une intégration métier. L'écriture directe contourne les règles, les permissions et les traitements de l'ERP. Utilisez l'API ou les mécanismes d'extension documentés.
Sources officielles
- Dolibarr Wiki — Module Web Services API REST, consulté le 1er septembre 2026.
- Dolibarr Wiki — Documentation développeur, consulté le 1er septembre 2026.
- Dolibarr Wiki — Intégration avec Airbyte, consulté le 1er septembre 2026.
- [Angleformation — Dolibarr ERP/CRM : Formation de A à Z — v22](https://www.youtube.com/playlist?list=PLQLlQ334d56Op37SAd0dEvdlg_FEyHjf7, consulté le 1er septembre 2026.