Dolibarr ERP/CRM und PrestaShop sind zwei leistungsstarke Open-Source-Plattformen, die weltweit von Unternehmen genutzt werden. Dolibarr übernimmt ERP, CRM, Rechnungsstellung, Buchhaltung und Lagerverwaltung. PrestaShop zeichnet sich durch seine Stärken im E-Commerce aus. Gemeinsam bieten sie eine robuste Lösung für die Verwaltung von Online-Verkäufen und internen Geschäftsabläufen. Viele Integrationslösungen basieren jedoch auf kostenpflichtigen Plugins oder Drittanbieter-Konnektoren. Diese Anleitung zeigt Ihnen, wie Sie Dolibarr ohne kostenpflichtige Plugins mit PrestaShop verbinden.
Inhaltsverzeichnis
-
Warum Dolibarr mit PrestaShop integrieren?
-
Übersicht über Integrationsmethoden
-
Voraussetzungen und Vorbereitungen
-
Grundlegendes zur PrestaShop Webservice-API
-
Dolibarrs REST-API verstehen
-
Einrichten des PrestaShop-Webservice
-
Aktivieren und Verwenden der Dolibarr-API
-
Mapping-Daten zwischen PrestaShop und Dolibarr
-
Schreiben eines benutzerdefinierten Integrationsskripts
-
Automatisieren des Synchronisierungsprozesses
-
Verwalten von Authentifizierung und Sicherheit
-
Umgang mit häufigen Synchronisierungsproblemen
-
Testen und Debuggen der Integration
-
Einschränkungen und Workarounds ohne kostenpflichtige Module
-
Abschließende Empfehlungen und Best Practices
1. Warum Dolibarr mit PrestaShop integrieren?
Die Integration von Dolibarr mit PrestaShop bietet mehrere Vorteile:
-
Importieren Sie Bestellungen aus Ihrem Shop automatisch in Dolibarr
-
Produktbestände zwischen ERP und E-Commerce synchronisieren
-
Optimieren Sie die Rechnungserstellung
-
Zentralisieren Sie die Verwaltung Ihrer Kundendaten
-
Reduzieren Sie Dateneingabefehler und manuelle Arbeit
Dieser Automatisierungsgrad verbessert die Effizienz, beschleunigt die Auftragsabwicklung und steigert die Kundenzufriedenheit.
2. Übersicht über Integrationsmethoden
Es gibt drei Hauptmöglichkeiten, Dolibarr mit PrestaShop zu verbinden:
-
Verwenden eines kostenpflichtigen Moduls oder Plugins (z. B. DoliShop oder Konnektoren von Drittanbietern)
-
Manuelle Datenübertragung mittels CSV/XML (geringe Automatisierung)
-
Benutzerdefinierte Integration mithilfe von APIs (Schwerpunkt dieses Artikels)
Durch die benutzerdefinierte Integration mithilfe der APIs beider Systeme erhalten Sie volle Kontrolle, Flexibilität und keine Kosten.
3. Voraussetzungen und Vorbereitungen
Stellen Sie vor dem Starten des Integrationsprozesses Folgendes sicher:
-
Sie haben Administratorzugriff auf Dolibarr und PrestaShop
-
Ihre PrestaShop-Version unterstützt die Webservice-API (v1.6+)
-
Ihre Dolibarr-Version unterstützt die REST-API (v9.0+)
-
Sie verfügen über einen Server oder eine Entwicklungsumgebung zum Ausführen von Skripten
-
Grundkenntnisse in PHP oder Python für Scripting
Vorbereiten durch:
-
Sichern beider Systeme
-
Erstellen von API-Benutzern oder -Schlüsseln
-
Auflisten der zu synchronisierenden Felder (z. B. Kunden, Produkte, Bestellungen)
4. Die PrestaShop Webservice API verstehen
PrestaShop bietet eine REST-ähnliche Webservice-API, die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) für Folgendes ermöglicht:
-
Kunden
-
Bestellungen
-
Produkte
-
Wagen
-
Kategorien
Sie können die API wie folgt aktivieren:
PrestaShop > Erweiterte Parameter > Webservice
Aktivieren Sie die API und generieren Sie einen Schlüssel. Weisen Sie Berechtigungen für die Ressourcen zu, die Sie verwenden möchten (z. B. orders, products, customers).
Grundlegende URL-Struktur:
https://yourshop.com/api/
Verwenden Sie HTTP-Header, um den API-Schlüssel mit jeder Anfrage zu senden.
5. Dolibarrs REST-API verstehen
Dolibarr bietet auch eine REST-API an, verfügbar unter:
https://yourdolibarr.com/api/index.php/
Sie müssen die API aktivieren, indem Sie das API-Modul in Dolibarr:
-
Home > Setup > Module > Webdienste/API
Generieren Sie einen API-Schlüssel pro Benutzer und definieren Sie dessen Berechtigungen. Die API von Dolibarr unterstützt:
-
Dritte (Kunden/Lieferanten)
-
Produkte
-
Bestellungen und Rechnungen
-
Lagerbestände und Lagerhallen
Testen Sie den Zugriff unbedingt mit Tools wie Postman oder curl.
6. Einrichten des PrestaShop-Webservices
Im PrestaShop-Administrationsbereich:
-
Gehe zu Erweiterte Parameter > Webservice
-
Klicken Sie auf „Neuen Webservice-Schlüssel hinzufügen“.
-
Generieren Sie einen 32-stelligen Schlüssel
-
Weisen Sie jeder Ressource Berechtigungen zu (GET, POST, PUT, DELETE).
-
Gespeichert
Testen Sie die API, indem Sie auf Folgendes zugreifen:
curl -X GET https://yourshop.com/api/orders -H "Authorization: YOUR_API_KEY"
Eine erfolgreiche Antwort bedeutet, dass Ihre API richtig konfiguriert ist.
7. Aktivieren und Verwenden der Dolibarr-API
-
Aktivieren Sie das API-Modul
-
Generieren Sie einen Schlüssel von der Benutzerprofilseite
-
Aktivieren Sie die Module, die Sie über die API verfügbar machen möchten (Rechnungen, Bestellungen, Produkte).
-
Greifen Sie mit der URL auf die API zu:
https://yourdolibarr.com/api/index.php/orders
Verwenden Sie das DOLAPIKEY als Parameter oder HTTP-Header.
Beispiel mit curl:
curl -X GET "https://yourdolibarr.com/api/index.php/orders?DOLAPIKEY=yourkey"
8. Datenzuordnung zwischen PrestaShop und Dolibarr
Entscheiden Sie, welche Daten synchronisiert werden sollen und wie die Felder zwischen den beiden Systemen übereinstimmen:
| PrestaShop-Feld | Dolibarr-Feld |
|---|---|
id_customer |
thirdparty_id |
reference |
ref_client |
total_paid |
total_ttc |
products |
lines |
email |
email |
Planen Sie die Kartierung für:
-
Bestellungen
-
Produkte
-
Kunden
-
Lagerbestand
Speichern Sie die Zuordnungslogik in Ihrem Integrationsskript.
9. Schreiben eines benutzerdefinierten Integrationsskripts
Verwenden Sie PHP oder Python, um Daten aus PrestaShop abzurufen und an Dolibarr zu übertragen.
Beispiel in 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. Automatisierung des Synchronisierungsprozesses
So automatisieren Sie die Integration:
-
Richten Sie einen Cron-Job ein, um Ihr Skript regelmäßig auszuführen
-
Protokollieren Sie jeden Lauf zum Debuggen und Überwachen
-
Erstellen Sie ein Statussystem (z. B. Markieren Sie synchronisierte Bestellungen).
Beispiel für einen Cron-Job:
*/15 * * * * /usr/bin/php /path/to/sync-script.php
11. Authentifizierung und Sicherheit verwalten
-
Verwenden Sie HTTPS, um Daten während der Übertragung zu verschlüsseln
-
Speichern Sie API-Schlüssel sicher mithilfe von Umgebungsvariablen oder Konfigurationsdateien außerhalb von Webroot
-
Beschränken Sie die IPs oder Domänen, die auf die APIs zugreifen dürfen
-
Rotieren Sie die Schlüssel regelmäßig
Gerade beim Austausch von Kunden- und Zahlungsdaten ist Sicherheit entscheidend.
12. Umgang mit allgemeinen Synchronisierungsproblemen
Folgende Situationen können auftreten:
-
Datenkonflikte (unterschiedliche Formate oder Währungen)
-
Fehlende Felder (unvollständige Kundeninformationen)
-
Ratenbegrenzungen oder Timeouts
-
API-Versionsänderungen
Implementieren Sie die Fehlerbehandlung:
-
Wiederholungslogik für fehlgeschlagene Synchronisierungen
-
Validierung vor der Datenübermittlung
-
Warnsystem für fehlgeschlagene Cron-Läufe
13. Testen und Debuggen der Integration
Verwenden Sie Tools wie:
-
Postman: zum Testen von API-Endpunkten
-
Protokolldateien: Speichern Sie jede Anfrage und Antwort
-
Browserkonsole und Serverprotokolle zum Debuggen
Führen Sie Tests durch mit:
-
Neue Bestellungen
-
Aktualisierte Kundendatensätze
-
Inventar-Updates
Beginnen Sie mit manuellen Läufen, bevor Sie automatisieren.
14. Einschränkungen und Workarounds ohne kostenpflichtige Module
Ohne kostenpflichtige Plugins gibt es einige Einschränkungen:
-
Keine GUI zum Zuordnen von Daten
-
Keine Echtzeitsynchronisierung, es sei denn, Sie erstellen Webhooks
-
Beschränkt auf das, was API-Endpunkte bieten
Problemumgehungen:
-
Erstellen Sie Ihre eigene Schnittstelle für Mapping und Überwachung
-
Verwenden Sie Datenbank-Trigger, wenn beide Systeme zusammen gehostet werden
-
Nutzen Sie Hintergrundarbeiter für die Echtzeitsynchronisierung
15. Abschließende Empfehlungen und Best Practices
Die Integration von Dolibarr in PrestaShop ohne kostenpflichtige Plugins ist durchaus möglich, erfordert jedoch Planungs- und Skriptkenntnisse. Für eine nachhaltige Integration:
-
Beginnen Sie mit kleinen Datensätzen (Testkunden oder einer Bestellung)
-
Dokumentieren Sie Ihre Zuordnung und Logik
-
Erstellen Sie Protokolle und Warnungen zur Überwachung
-
Sichern Sie Ihre Integration (SSL, Authentifizierung, Schlüsselverwaltung)
-
Halten Sie beide Systeme auf dem neuesten Stand, um Kompatibilitätsprobleme zu vermeiden
Mit der Zeit und durch Verfeinerung kann Ihre benutzerdefinierte Integration so leistungsstark und flexibel sein wie jedes Premiummodul.
