Inhaltsverzeichnis
-
Einführung
-
Was sind Webhooks?
-
Warum Webhooks in Dolibarr verwenden?
-
Die Webhook-Funktionen von Dolibarr verstehen
-
Häufige Anwendungsfälle für die Webhook-Automatisierung
-
Aktivieren von Webhooks in Dolibarr
-
Erstellen von Webhook-Endpunkten
-
Sichern der Webhook-Kommunikation
-
Arbeiten mit Ereignisauslösern in Dolibarr
-
Empfangen von Webhooks in einer Middleware
-
Beispiel: Automatisierung der Rechnungsverarbeitung
-
Beispiel: Echtzeit-Bestellbenachrichtigungen
-
Verwenden von Webhooks für die CRM-Integration
-
Verbinden von Dolibarr mit Slack, Discord oder E-Mail-Benachrichtigungen
-
Erweiterte Workflows: Genehmigungsketten und Aufgabenerstellung
-
Protokollieren und Überwachen der Webhook-Aktivität
-
Webhooks effektiv testen
-
Beheben von Webhook-Problemen
-
Best Practices für skalierbare Automatisierung
-
Fazit
1. Einleitung
Moderne Geschäftsanwendungen leben von Automatisierung. In Dolibarr ERP/CRM ist die Automatisierung wiederkehrender Aufgaben und das Auslösen von Workflows basierend auf Systemereignissen mithilfe von Webhooks möglich. Dieser Leitfaden erläutert, wie Sie Webhooks in Dolibarr konfigurieren, sichern und verwenden, um Abläufe zu optimieren und die Integration mit externen Systemen zu ermöglichen.
2. Was sind Webhooks?
Webhooks sind benutzerdefinierte HTTP-Rückrufe, die durch Ereignisse ausgelöst werden. Wenn eine bestimmte Aktion eintritt (z. B. die Validierung einer neuen Rechnung), sendet Dolibarr eine POST-Anfrage an eine vordefinierte URL, die in der Regel eine Nutzlast mit Daten zum Ereignis enthält.
Webhooks werden häufig für Echtzeitbenachrichtigungen und Automatisierung zwischen Systemen verwendet.
3. Warum Webhooks in Dolibarr verwenden?
Die Vorteile sind:
-
Benachrichtigungen automatisieren
-
Echtzeit-Integrationen
-
Reduzierung des Bedarfs an Polling-APIs
-
Aktivierung ereignisgesteuerter Systeme
Beispiele:
-
Benachrichtigung eines Administrators, wenn eine neue Bestellung aufgegeben wird
-
Automatische Synchronisierung von Daten mit externen CRMs oder Apps
-
Auslösen von Rechnungsvalidierungs-Workflows
4. Die Webhook-Funktionen von Dolibarr verstehen
Dolibarr bietet über sein Triggersystem grundlegende Webhook-Unterstützung. Entwickler können:
-
Einbinden in vordefinierte Aktionen
-
Nutzen Sie
interface_99_modXXX_YYY.class.phpUnterricht -
Passen Sie das Verhalten für Module wie Bestellungen, Rechnungen, Produkte usw. an.
Dolibarr bietet keine vollständige Benutzeroberfläche für Webhooks, ermöglicht aber programmgesteuerten Zugriff und Anpassung.
5. Häufige Anwendungsfälle für die Webhook-Automatisierung
-
Senden Sie Rechnungsdetails an externe Abrechnungsdienste
-
Benachrichtigen Sie das Lagerpersonal über neue Lieferungen
-
Integration mit Slack oder Microsoft Teams
-
Übertragen Sie CRM-Lead-Daten auf Plattformen von Drittanbietern
-
Auslösen externer Skripte zur PDF-Generierung oder Berichterstellung
6. Aktivieren von Webhooks in Dolibarr
So aktivieren Sie die Webhook-Logik:
-
Stellen Sie sicher, dass der Entwicklermodus aktiviert ist in
conf.php -
Navigieren
/htdocs/core/triggers/ -
Erstellen oder Anpassen einer Triggerdatei
Beispieldatei: interface_99_modWebhook_Mytrigger.class.php
7. Erstellen von Webhook-Endpunkten
Endpunkte sind Server, die auf Webhook-Aufrufe warten. Sie können einen solchen erstellen mit:
-
Node.js (Express)
-
Python (Flask/FastAPI)
-
PHP
Einfaches Beispiel in PHP:
$input = file_get_contents('php://input');
$data = json_decode($input, true);
file_put_contents('log.txt', print_r($data, true));
Stellen Sie sicher, dass Ihr Endpunkt öffentlich zugänglich ist und HTTPS unterstützt.
8. Sichern der Webhook-Kommunikation
So schützen Sie Ihr System:
-
Verwenden Sie HTTPS zum Verschlüsseln von Nutzdaten
-
Fügen Sie ein gemeinsames Geheimnis in den Header ein
-
Validieren der Nutzlast-Quell-IP
-
Alle Webhook-Aktivitäten protokollieren
Implementieren Sie eine Signaturvalidierung, um gefälschte Anrufe zu vermeiden.
9. Arbeiten mit Ereignisauslösern in Dolibarr
Dolibarr verwendet interne Ereignisse wie:
-
BILL_VALIDATE -
ORDER_CREATE -
PRODUCT_CREATE
Verwenden Sie in Ihrem benutzerdefinierten Trigger run_trigger() um Ereignisse abzufangen und einen POST an Ihren Endpunkt zu senden:
if ($action == 'ORDER_VALIDATE') {
$payload = json_encode($object);
file_get_contents('https://your-endpoint.com/hook?payload=' . $payload);
}
10. Empfangen von Webhooks in einer Middleware
Middleware fungiert als Relais zwischen Dolibarr und anderen Diensten. Beispiel:
-
Daten von Dolibarr empfangen
-
Transformieren oder filtern Sie es
-
Pushen Sie es an eine Drittanbieter-API (z. B. Salesforce, Notion).
Middleware-Plattformen: Zapier, Make.com, n8n oder ein benutzerdefinierter Server.
11. Beispiel: Automatisierung der Rechnungsverarbeitung
Trigger: BILL_VALIDATE Workflow:
-
Benutzer validiert Rechnung
-
Webhook sendet Daten an das Rechnungsverwaltungstool
-
Das Tool antwortet mit einer Bestätigung oder einem Fehler.
-
Dolibarr protokolliert die Antwort und aktualisiert den Status
Dadurch wird die manuelle Synchronisierung mit externen Buchhaltungstools reduziert.
12. Beispiel: Echtzeit-Bestellbenachrichtigungen
Trigger: ORDER_CREATE Anwendungsfall:
-
Nachricht an Slack senden, wenn eine neue Bestellung aufgegeben wird
Workflow:
-
Webhook sendet JSON an die Middleware
-
Middleware formatiert Nachricht
-
Slack-Webhook sendet Nachricht an den Vertriebskanal
13. Verwenden von Webhooks für die CRM-Integration
Trigger: THIRDPARTY_CREATE, CONTACT_CREATE Anwendungsfall:
-
Übertragen Sie neue Kunden an ein externes CRM
Der Webhook sendet Nutzdaten an die API Ihres CRM und erstellt automatisch Leads oder Kundenprofile.
14. Verbinden von Dolibarr mit Slack, Discord oder E-Mail-Benachrichtigungen
Verwenden Sie Zapier oder ein benutzerdefiniertes Relay:
-
Formatieren Sie die Nutzlast in eine lesbare Nachricht
-
POST an Slack/Discord über die Webhook-URL
-
Senden Sie E-Mails über SMTP mit ausgelöstem Inhalt
Fügen Sie zur Verdeutlichung Emoji-Reaktionen oder Zeitstempel hinzu.
15. Erweiterte Workflows: Genehmigungsketten und Aufgabenerstellung
Verwenden Sie Webhooks, um:
-
Erstellen Sie Genehmigungsaufgaben in Projektmanagement-Tools (z. B. Asana, Trello).
-
Benachrichtigen Sie Vorgesetzte, wenn Schwellenwerte erreicht werden (z. B. Rechnung > 10,000 $)
Workflow:
-
Auslöser
-
Middleware prüft Bedingungen
-
Wenn die Bedingung erfüllt ist, wird eine Aufgabe oder ein Alarm erstellt
16. Protokollieren und Überwachen der Webhook-Aktivität
Webhook-Aktionen protokollieren:
-
Dateiprotokolle in
/var/logs/ -
Speichern Sie Metadaten in zusätzlichen Dolibarr-Feldern
-
Verwenden Sie zur Überwachung externe Dienste wie Loggly oder Datadog
Protokolleinträge sollten Zeitstempel, Antwortcodes und alle Fehler enthalten.
17. Webhooks effektiv testen
Verwenden Sie Werkzeuge:
-
RequestBin oder Webhook.site zur Überprüfung von Nutzdaten
-
Postman zum Simulieren von Dolibarr-Webhook-Aufrufen
-
ngrok zum lokalen Testen hinter Firewalls
Simulieren Sie jedes Ereignis, um den Fluss vor der Verwendung in der Produktion zu überprüfen.
18. Fehlerbehebung bei Webhook-Problemen
Allgemeine Probleme:
-
HTTP 500 vom Endpunkt (Fehlerprotokolle prüfen)
-
Ungültige Payload-Struktur (vergleiche Schemata)
-
Timeouts (Verarbeitungszeit optimieren)
Wiederholen Sie fehlgeschlagene Anfragen immer, wenn sie kritisch sind.
19. Best Practices für skalierbare Automatisierung
-
Verwenden Sie Warteschlangen (z. B. RabbitMQ), um Ereignisse asynchron zu verarbeiten
-
Batch-Webhook-Ereignisse bei hohem Volumen
-
Exponentielles Backoff für Wiederholungsversuche anwenden
-
Trennen Sie kritische und nicht kritische Workflows
Dokumentieren Sie Ihre Webhooks und stellen Sie Fallback-Mechanismen bereit.
20. Fazit
Webhooks ermöglichen Echtzeitautomatisierung und leistungsstarke Integrationen in Dolibarr. Durch die Einrichtung sicherer Endpunkte, die Entwicklung intelligenter Workflows und die Überwachung von Aktivitäten können Sie redundante Aufgaben eliminieren und die Reaktionsfähigkeit Ihres Systems verbessern. Ob für interne Prozesse oder die Kommunikation mit Drittanbietern – Webhooks machen Ihre Dolibarr-Installation wirklich dynamisch.
