Flow Builder Aktion | Webhook ausführen
Diese Erweiterung ist mit Formular Baukasten 2 kompatibel
Installation
Note
Falls du Probleme mit dem Plugin hast, bitte beachte folgende Hinweise im FAQ Bereich.
- Installiere Foundation
- Installiere Webhook Integration im Plugin Manager
Einrichtung
Webhook erstellen
Es gibt für Webhooks unzählige Anwendungsbereiche, du kannst hier Webhooks testen.
Beispiele
Benachrichtigungen auf dein Amazon Echo Gerät
https://zeropointdevelopment.com/sending-notifications-to-amazon-echo-using-webhooks/
Per Webhook Nachrichten in dein Discord Channel senden
https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks
Webhook mit Flow-Builder einrichten
- Navigiere zum Flow-Builder und öffne z.B. "Kontaktformular wurde verschickt"
- Gehe in den Reiter "Flow"
- Füge die Aktion Webhook (
action.send.webhook) hinzu; das Ereignis mussMailAwarebereitstellen - Trage die Daten deines Webhooks ein
- Tipp: Für längere Texte kannst du einen globalen Platzhalter als Template verwenden
- Der Reiter „Webhook testen“ führt einen echten Aufruf aus; verwende ihn nur für ein dafür vorgesehenes Ziel. Twig-Variablen werden dabei nicht ausgewertet
Im normalen Betrieb werden Twig-Fehler als Fehlermeldungstext in die Parameter übernommen. Fehler des HTTP-Aufrufs werden protokolliert und abgefangen; daraus entsteht keine eigene Fehlermeldung für den Endkunden. Prüfe deshalb Zuordnungen, Zielantworten und das Pluginlog. Andere Fehler beim Aufbau der Konfiguration sind davon nicht pauschal abgedeckt.
Webhook mit Formular Baukasten 2 Formular einrichten
- Öffne dein Formular im Shopware Admin
- In den Formulareinstellungen wählst du bei „Formular Aktionen“ Webhook aufrufen (
webhook-form) und öffnest den Reiter Webhook - Trage die Daten deines Webhooks ein
- Tipp: Für längere Texte kannst du einen globalen Platzhalter als Template verwenden
- Verwende für Formularfelder Platzhalter mit technischem Namen und
.value, z. B.{{ email.value }} - Ein Testaufruf sendet die eingegebenen Werte ohne Twig-Auswertung an das Ziel
- Speichere das Formular
Methoden, Body und Authentifizierung
Die Oberfläche bietet GET und POST. Standard ist GET, eine leere Ziel-URL, deaktivierte Authentifizierung, leere Query-/Headerlisten, Bodytyp json und leere Bodyparameter. Benutzername, Passwort, Rohbody und globale Vorlage beginnen mit null.
Nur bei POST wird ein Body aufgebaut:
| Bodytyp | Verarbeitung |
|---|---|
empty |
Kein eigener Body. |
plain |
Unveränderter Rohtext; keine Twig-Auswertung. |
json |
Gemappte Parameterwerte werden als JSON-Objekt kodiert. |
x-www-form-urlencoded |
Gemappte Parameterwerte werden als Formdaten gesendet. |
Query-, Header- und JSON-/Formparameterwerte werden im normalen Betrieb per Twig gerendert. Die globale Vorlage wird zuvor gerendert und kann in diesen Werten mit {{ template }} eingefügt werden. Die URL, Benutzername, Passwort und der Rohbody werden nicht gerendert. Leere Mappingwerte, einschließlich Text 0 nach PHPs Leerprüfung, werden ausgelassen. Es gibt keine Multipart-/Dateiübertragung.
Aktive Authentifizierung verwendet Guzzle Basic Auth mit Benutzername und Passwort. Verbindung und gesamter Aufruf haben jeweils einen festen Timeout von 10 Sekunden. Ohne Ziel-URL wird kein Request gesendet. Das Plugin implementiert keine automatische Wiederholung oder eigene Warteschlange.
Testanzeige und Logging
Der Test ist ein echter HTTP-Aufruf ohne Template-Auswertung und bildet keine Formular-/Flow-Laufzeitdaten nach. Die Response wird bereits im Service für das Log ausgelesen; die Testanzeige kann deshalb „No content“ melden, obwohl das Ziel einen Body geliefert hat. Der Text allein ist kein zuverlässiger Erfolgsnachweis.
Plugin-Einstellung MoorlFormsWebhook.config.loggerLevel: Standard 400/ERROR; verfügbar sind 100/DEBUG, 200/INFO, 250/NOTICE, 300/WARNING, 400/ERROR, 1000/DISABLED. Die Logdatei liegt unter var/log/moorl_forms_webhook_<Umgebung>.log mit rotierendem Handler.
INFO zeichnet Konfiguration, Requestoptionen und Antwort auf; Fehlerlogs können ebenfalls Konfiguration und Optionen enthalten. Zugangsdaten, Header und Nutzdaten werden nicht maskiert. Übernimm keine echten Secrets oder Kundendaten in Screenshots und Diagnoseausgaben.
Die externen Beispiele bestätigen keine aktuelle Oberfläche oder erfolgreiche Netzwerkprüfung.
Test
Ein Beispiel für einen gesendeten Webhook.