Dolibarr ERP/CRM et PrestaShop sont deux puissantes plateformes open source largement utilisées par les entreprises du monde entier. Dolibarr gère l'ERP, le CRM, la facturation, la comptabilité et la gestion des stocks. PrestaShop excelle dans le e-commerce. Utilisées ensemble, elles offrent une solution robuste pour gérer à la fois les ventes en ligne et les opérations internes de l'entreprise. Cependant, de nombreuses solutions d'intégration s'appuient sur des plugins payants ou des connecteurs tiers. Ce guide vous explique comment connecter Dolibarr à PrestaShop sans utiliser de plugins payants.
Table des matières
-
Pourquoi intégrer Dolibarr à PrestaShop ?
-
Aperçu des méthodes d'intégration
-
Exigences et préparatifs
-
Comprendre l'API du service Web PrestaShop
-
Comprendre l'API REST de Dolibarr
-
Configuration du service Web PrestaShop
-
Activation et utilisation de l'API de Dolibarr
-
Mappage des données entre PrestaShop et Dolibarr
-
Rédaction d'un script d'intégration personnalisé
-
Automatiser le processus de synchronisation
-
Gestion de l'authentification et de la sécurité
-
Gestion des problèmes de synchronisation courants
-
Tester et déboguer l'intégration
-
Limitations et solutions de contournement sans modules payants
-
Recommandations finales et meilleures pratiques
1. Pourquoi intégrer Dolibarr à PrestaShop ?
L'intégration de Dolibarr avec PrestaShop offre plusieurs avantages :
-
Importez automatiquement les commandes de votre boutique dans Dolibarr
-
Synchroniser les stocks de produits entre l'ERP et le e-commerce
-
Rationalisez la génération de factures
-
Centraliser la gestion des données clients
-
Réduisez les erreurs de saisie de données et le travail manuel
Ce niveau d’automatisation améliore l’efficacité, accélère le traitement des commandes et améliore la satisfaction des clients.
2. Aperçu des méthodes d'intégration
Il existe trois manières principales de connecter Dolibarr à PrestaShop :
-
Utiliser un module ou un plugin payant (par exemple, DoliShop ou connecteurs tiers)
-
Transfert manuel de données à l'aide de CSV/XML (faible automatisation)
-
Intégration personnalisée à l'aide d'API (objet de cet article)
L'intégration personnalisée utilisant les API des deux systèmes vous offre un contrôle total, une flexibilité et un coût nul.
3. Exigences et préparatifs
Avant de commencer le processus d’intégration, assurez-vous des points suivants :
-
Vous disposez d'un accès administrateur à Dolibarr et PrestaShop
-
Votre version de PrestaShop prend en charge l'API Webservice (v1.6+)
-
Votre version de Dolibarr prend en charge l'API REST (v9.0+)
-
Vous disposez d'un serveur ou d'un environnement de développement pour exécuter des scripts
-
Connaissances de base de PHP ou Python pour les scripts
Préparer par :
-
Sauvegarde des deux systèmes
-
Création d'utilisateurs ou de clés API
-
Liste des champs à synchroniser (par exemple, clients, produits, commandes)
4. Comprendre l'API du service Web PrestaShop
PrestaShop fournit une API Webservice de type REST qui permet des opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) sur :
-
Clients
-
Commandes
-
Produits
-
Carts
-
Catégories
Vous pouvez activer l'API à partir de :
PrestaShop > Paramètres avancés > Webservice
Activez l'API et générez une clé. Attribuez des autorisations aux ressources que vous souhaitez utiliser (par exemple, orders
, products
, customers
).
Structure de l'URL de base :
https://yourshop.com/api/
Utilisez les en-têtes HTTP pour envoyer la clé API avec chaque requête.
5. Comprendre l'API REST de Dolibarr
Dolibarr propose également une API REST, disponible à l'adresse :
https://yourdolibarr.com/api/index.php/
Vous devez activer l'API en activant le Module API dans Dolibarr :
-
Accueil > Configuration > Modules > Services Web/API
Générez une clé API par utilisateur et définissez ses autorisations. L'API de Dolibarr prend en charge :
-
Tiers (clients/fournisseurs)
-
Produits
-
Commandes et factures
-
Stocks et entrepôts
Assurez-vous de tester l'accès à l'aide d'outils tels que Postman ou curl.
6. Configuration du service Web PrestaShop
Dans le panneau d'administration de PrestaShop :
-
Cliquez sur Paramètres avancés > Webservice
-
Cliquez sur « Ajouter une nouvelle clé de service Web »
-
Générer une clé de 32 caractères
-
Attribuer des autorisations (GET, POST, PUT, DELETE) pour chaque ressource
-
Enregistrer
Testez l'API en accédant à :
curl -X GET https://yourshop.com/api/orders -H "Authorization: YOUR_API_KEY"
Une réponse réussie signifie que votre API est correctement configurée.
7. Activation et utilisation de l'API de Dolibarr
-
Activer le module API
-
Générer une clé à partir de la page de profil utilisateur
-
Activez les modules que vous souhaitez exposer via l'API (factures, commandes, produits)
-
Accédez à l'API avec l'URL :
https://yourdolibarr.com/api/index.php/orders
Utilisez l'option DOLAPIKEY
en tant que paramètre ou en-tête HTTP.
Exemple utilisant curl :
curl -X GET "https://yourdolibarr.com/api/index.php/orders?DOLAPIKEY=yourkey"
8. Mappage des données entre PrestaShop et Dolibarr
Décidez quelles données synchroniser et comment les champs correspondent entre les deux systèmes :
Champ PrestaShop | Champ de Dolibarr |
---|---|
id_customer |
thirdparty_id |
reference |
ref_client |
total_paid |
total_ttc |
products |
lines |
email |
email |
Planifier la cartographie pour :
-
Commandes
-
Produits
-
Clients
-
Inventaire
Stockez la logique de mappage dans votre script d’intégration.
9. Rédaction d'un script d'intégration personnalisé
Utilisez PHP ou Python pour extraire des données de PrestaShop et les envoyer vers Dolibarr.
Exemple en PHP :
// Fetch orders from PrestaShop
$prestashop_url = 'https://yourshop.com/api/orders';
$context = stream_context_create(['http' => [
'header' => "Authorization: Basic YOUR_KEY"
]]);
$response = file_get_contents($prestashop_url, false, $context);
$orders = json_decode($response, true);
// Prepare and send to Dolibarr
foreach ($orders as $order) {
$data = [
'ref_client' => $order['reference'],
'thirdparty_id' => getDolibarrCustomerId($order['id_customer']),
'lines' => convertProductLines($order['products']),
'total_ttc' => $order['total_paid']
];
// Send to Dolibarr
$curl = curl_init('https://yourdolibarr.com/api/index.php/orders?DOLAPIKEY=yourkey');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$result = curl_exec($curl);
curl_close($curl);
}
10. Automatisation du processus de synchronisation
Pour automatiser l’intégration :
-
Configurez une tâche cron pour exécuter votre script périodiquement
-
Enregistrez chaque exécution pour le débogage et l'audit
-
Créer un système de statut (par exemple, marquer les commandes synchronisées)
Exemple de tâche cron :
*/15 * * * * /usr/bin/php /path/to/sync-script.php
11. Gestion de l'authentification et de la sécurité
-
Utilisez HTTPS pour crypter les données en transit
-
Stockez les clés API en toute sécurité à l'aide de variables d'environnement ou de fichiers de configuration en dehors de la racine Web
-
Restreindre les adresses IP ou les domaines autorisés à accéder aux API
-
Faire tourner les clés périodiquement
La sécurité est cruciale, en particulier lorsque des données clients et de paiement sont échangées.
12. Gestion des problèmes de synchronisation courants
Vous pouvez rencontrer :
-
Incohérence des données (formats ou devises différents)
-
Champs manquants (informations client incomplètes)
-
Limites de débit ou délais d'attente
-
Modifications de la version de l'API
Implémenter la gestion des erreurs :
-
Logique de nouvelle tentative pour les synchronisations ayant échoué
-
Validation avant la soumission des données
-
Système d'alerte pour les exécutions cron échouées
13. Test et débogage de l'intégration
Utilisez des outils tels que :
-
Facteur : pour tester les points de terminaison de l'API
-
Fichiers journaux : stockent chaque demande et réponse
-
Console du navigateur et journaux du serveur pour le débogage
Effectuer des tests avec :
-
Nouvelles commandes
-
Mise à jour des dossiers clients
-
Mises à jour de l'inventaire
Commencez par des exécutions manuelles avant d’automatiser.
14. Limitations et solutions de contournement sans modules payants
Sans plugins payants, il y a quelques contraintes :
-
Pas d'interface graphique pour la cartographie des données
-
Aucune synchronisation en temps réel à moins que vous ne créiez des webhooks
-
Limité à ce que proposent les points de terminaison d'API
solutions:
-
Créez votre propre interface de cartographie et de surveillance
-
Utiliser des déclencheurs de base de données si les deux systèmes sont hébergés ensemble
-
Exploitez les travailleurs en arrière-plan pour une synchronisation en temps réel
15. Recommandations finales et meilleures pratiques
L'intégration de Dolibarr à PrestaShop sans plugins payants est tout à fait possible, mais elle nécessite des compétences en planification et en scripting. Pour une solution durable :
-
Commencez avec de petits ensembles de données (clients tests ou une commande)
-
Documentez votre cartographie et votre logique
-
Créer des journaux et des alertes pour la surveillance
-
Sécurisez votre intégration (SSL, authentification, gestion des clés)
-
Maintenez les deux systèmes à jour pour éviter les problèmes de compatibilité
Avec le temps et le raffinement, votre intégration personnalisée peut être aussi puissante et flexible que n’importe quel module premium.