Du siehst Dir gerade den Artikel zu einer älteren Shopware Version an!
Den Flow Builder findest Du unter Einstellungen > Shop. Er ermöglicht es Dir, Deine Geschäftsprozesse ohne Programmierkenntnisse zu automatisieren und einfach anzupassen, und ermöglicht es Dir, ereignisbasierte Aktionen auf eine ganz neue Ebene zu bringen. Mit dem Flow Builder kannst Du Ereignisauslöser mit Hilfe von Regeln noch weiter spezifizieren. So kannst Du je nach Ereignis beispielsweise den E-Mail-Versand automatisieren und sogar URL-Aufrufe oder Änderungen des Bestellstatus vornehmen lassen.
Mehrere Beispiel-Einstellungen für den Flowbuilder findest Du hier.
Unter dem Menüpunkt Einstellungen > Shop > Flowbuilder findest Du zunächst die Übersicht aller angelegten Business Flows. Neben der Angabe, ob ein Flow aktiv ist, wird Dir der Name und die Beschreibung jedes Flows angezeigt, sowie der Trigger, welcher den Geschäftsprozess auslöst.
In der oberen Leiste hast Du zudem die Möglichkeit, die Flows zu sortieren (1). Die Sortierungen Aktiv, Name oder Trigger sind verfügbar.
Über das Kontextmenü auf der rechten Seite kannst Du die bestehenden Flows bearbeiten oder löschen.
Du kannst ihn aber auch bearbeiten, indem Du einfach auf den jeweiligen Namen klickst.
Über den Button Flow hinzufügen in der rechten oberen Ecke kannst Du einen komplett neuen Flow erstellen und gelangst direkt in die Konfiguration dieses Flows.
Wenn Du einen Flow bearbeitest oder einen neuen Anlegst stehen Dir die beiden Reiter Allgemein und Flow zur Verfügung.
Im Reiter Allgemein kannst Du die allgemeinen Konfigurationen für den Flow festlegen.
Name (1): Trage hier den Namen ein. Dieser wird zusammen mit der Beschreibung in der Übersicht benötigt um diesen Flow von anderen zu unterscheiden.
Beschreibung (2): Trage hier eine aussagekräftige Beschreibung ein. Da diese Beschreibung auch in der Übersicht schon zu sehen ist, hilft sie Dir diesen Flow schnell von anderen zu unterscheiden.
Priorität (3): Wenn Du mehrere Flows hast, die den selben Auslöser (Trigger) verwenden, kannst Du so angeben, welcher Flow zuerst abgearbeitet werden soll.
Aktiv (4): Über diesen Schalter kannst Du den Flow zeitweise aktivieren oder deaktivieren.
Im Reiter Flow findest Du den eigentlichen Flow Builder. Ein intuitiver aber umfangreicher Editor, mit dem Du ausgehend von einem Auslöser (Trigger) angeben kannst, welche Aktionen dadurch ausgelöst werden. Zusätzlich hast Du die Möglichkeit, für diese Aktionen Bedingungen zu definieren, unter denen die Aktionen ausgeführt werden sollen.
Nachdem Du Dich für einen Trigger entschieden hast kannst Du mit dem Plus Symbol ein oder mehrere Bedingungen und Aktionen festlegen, welche dann ausgeführt werden.
Mit dem Trigger beginnt jeder Flow. Dieser gibt an, wann der Flow ausgeführt wird. Gib hier an für welchen Auslöser Du einen Flow erstellen möchtest.
Folgende Auslöser stehen Dir hier zur Verfügung:
Event | Description | Aktionen |
---|---|---|
checkout.order.return.created | Wird ausgelöst, sobald eine Retoure erstellt wird. | E-Mail an Kunden und Administrator verschicken |
state_enter.order_return.state.done | Wird ausgelöst, sobald eine Retoure den Status "Abgeschlossen" erreicht. | E-Mail verschicken |
state_enter.order_return.state.cancelled | Wird ausgelöst, sobald eine Retoure den Status "Abgebrochen" erreicht. | E-Mail verschicken |
state_enter.order_return.state.in_progress | Wird ausgelöst, sobald eine Retoure den Status "In Bearbeitung" erreicht. | E-Mail verschicken |
checkout.customer.before.login | Wird ausgelöst, sobald sich ein Kunde anmeldet | keine Aktion |
checkout.customer.login | Wird ausgelöst, sobald sich ein Kunde anmeldet | Tag hinzufügen/ entfernen |
checkout.customer.logout | Wird ausgelöst, sobald sich ein Kunde abmeldet | Tag hinzufügen/ entfernen |
checkout.customer.deleted | Wird ausgelöst, sobald ein Kunde gelöscht wird | Tag hinzufügen/ entfernen, E-Mail verschicken |
user.recovery.request | Wird ausgelöst, sobald ein Nutzer im Administrator eine Anfrage zur Passwortwiederherstellung startet. | E-Mail verschicken |
checkout.customer.changed-payment-method | Wird ausgelöst, wenn ein Kunde seine Zahlungsart im Checkout Prozess ändert. | Tag hinzufügen/ entfernen |
checkout.order.placed | Wird ausgelöst, sobald eine Bestellung eines Kunden abgegeben wurde. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
checkout.order.payment_method.changed | Wird ausgelöst, wenn ein Kunde seine Zahlungsart im Checkout Prozess ändert. | Keine Aktion |
customer.recovery.request | Wird ausgelöst, wenn ein Kunde eine Anfrage zur Passwortwiederherstellung sendet. | Tag hinzufügen/ entfernen, E-Mail verschicken |
checkout.customer.double_opt_in_registration | Wird ausgelöst, wenn ein Kunde seine Registrierung per Double-Opt-In bestätigt. | Tag hinzufügen/ entfernen, E-Mail verschicken |
customer.group.registration.accepted | Wird ausgelöst, wenn der Administrator einen Kunden akzeptiert, der sich als Mitglied einer Kundengruppe registriert. | Tag hinzufügen/ entfernen, E-Mail verschicken |
customer.group.registration.declined | Wird ausgelöst, wenn der Administrator einen Kunden ablehnt, der sich als Mitglied einer Kundengruppe registriert. | Tag hinzufügen/ entfernen, E-Mail verschicken |
checkout.customer.register | Wird ausgelöst, wenn sich ein neuer Kunde registriert. | Tag hinzufügen/ entfernen, E-Mail verschicken |
checkout.customer.double_opt_in_guest_order | Wird ausgelöst, sobald das Double-Opt-In in einer Gastbestellung akzeptiert wurde. | Tag hinzufügen/ entfernen, E-Mail verschicken |
checkout.customer.guest_register | Wird ausgelöst, wenn sich ein neuer Kunde als Gast registriert. | Tag hinzufügen/ entfernen, E-Mail verschicken |
contact_form.send | Wird ausgelöst, sobald ein Kunde das Kontaktformular ausgefüllt und abgeschickt hat. | E-Mail verschicken |
mail.after.create.message | Wird ausgelöst wenn eine E-Mail erstellt wird. | Keine Aktion |
mail.before.send | Wird vor dem Versand einer E-Mail ausgelöst. | Keine Aktion |
mail.sent | Wird ausgelöst, wenn eine E-Mail von Shopware gesendet wird | Keine Aktion |
newsletter.confirm | Wird ausgelöst, wenn der Newsletter von einem Kunden bestätigt wurde | E-Mail verschicken |
newsletter.register | Wird ausgelöst, wenn der Kunde sich für den Newsletter eines Verkaufskanals angemeldet hat | E-Mail verschicken |
newsletter.unsubscribe | Wird ausgelöst, wenn sich ein Benutzer von einem Verkaufskanal-Newsletter abmeldet | E-Mail verschicken |
newsletter.update | Wird aktuell nicht genutzt | E-Mail verschicken |
product_export.log | Wird ausgelöst, wenn der Produktexport ausgeführt wird | Keine Aktion |
state_enter.order_transaction.state.open | Wird ausgelöst, wenn der Zahlungsstatus den Status "Offen" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_transaction.state.open | Wird ausgelöst, wenn der Zahlungsstatus den Status "Offen" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_transaction.state.paid | Wird ausgelöst, wenn der Zahlungsstatus den Status "Bezahlt" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_transaction.state.paid | Wird ausgelöst, wenn der Zahlungsstatus den Status "Bezahlt" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
>state_enter.order_transaction.state.refunded_partially | Wird ausgelöst, wenn der Zahlungsstatus den Status "Teilweise erstattet" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_transaction.state.refunded_partially | Wird ausgelöst, wenn der Zahlungsstatus den Status "Teilweise erstattet" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_transaction.state.chargeback | Wird ausgelöst, wenn der Zahlungsstatus den Status "Rückbuchung" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_transaction.state.chargeback | Wird ausgelöst, wenn der Zahlungsstatus den Status "Rückbuchung" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_transaction.state.paid_partially | Wird ausgelöst, wenn der Zahlungsstatus den Status "Teilweise bezahlt" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_transaction.state.paid_partially | Wird ausgelöst, wenn der Zahlungsstatus den Status "Rückbuchung" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_transaction.state.failed | Wird ausgelöst, wenn der Zahlungsstatus den Status "Fehlgeschlagen" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_transaction.state.failed | Wird ausgelöst, wenn der Zahlungsstatus den Status "Fehlgeschlagen" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_transaction.state.reminded | Wird ausgelöst, wenn der Zahlungsstatus den Status "Erinnert" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_transaction.state.reminded | Wird ausgelöst, wenn der Zahlungsstatus den Status "Erinnert" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_transaction.state.authorized | Wird ausgelöst, wenn der Zahlungsstatus den Status "Autorisiert" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_transaction.state.authorized | Wird ausgelöst, wenn der Zahlungsstatus den Status "Autorisiert" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_transaction.state.cancelled | Wird ausgelöst, wenn der Zahlungsstatus den Status "Abgebrochen" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_transaction.state.cancelled | Wird ausgelöst, wenn der Zahlungsstatus den Status "Abgebrochen" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_transaction.state.refunded | Wird ausgelöst, wenn der Zahlungsstatus den Status "erstattet" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_transaction.state.refunded | Wird ausgelöst, wenn der Zahlungsstatus den Status "erstattet" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_transaction.state.in_progress | Wird ausgelöst, wenn der Zahlungsstatus den Status "in Bearbeitung" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_transaction.state.in_progress | Wird ausgelöst, wenn der Zahlungsstatus den Status "in Bearbeitung" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_delivery.state.returned_partially | Wird ausgelöst, wenn der Versandstatus den Status "Teilretour" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_delivery.state.returned_partially | Wird ausgelöst, wenn der Versandstatus den Status "Teilretour" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_delivery.state.returned | Wird ausgelöst, wenn der Versandstatus den Status "Retour" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_delivery.state.returned | Wird ausgelöst, wenn der Versandstatus den Status "Retour" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_delivery.state.cancelled | Wird ausgelöst, wenn der Versandstatus den Status "Abgebrochen" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_delivery.state.cancelled | Wird ausgelöst, wenn der Versandstatus den Status "Abgebrochen" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_delivery.state.open | Wird ausgelöst, wenn der Versandstatus den Status "Offen" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_delivery.state.open | Wird ausgelöst, wenn der Versandstatus den Status "Offen" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_delivery.state.shipped | Wird ausgelöst, wenn der Versandstatus den Status "Versandt" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_delivery.state.shipped | Wird ausgelöst, wenn der Versandstatus den Status "Versandt" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_delivery.state.shipped_partially | Wird ausgelöst, wenn der Versandstatus den Status "Teilweise versandt" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_delivery.state.shipped_partially | Wird ausgelöst, wenn der Versandstatus den Status "Teilweise versandt" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order.state.in_progress | Wird ausgelöst, wenn der Bestellstatus den Status "In Bearbeitung" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order.state.in_progress | Wird ausgelöst, wenn der Bestellstatus den Status "In Bearbeitung" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order.state.completed | Wird ausgelöst, wenn der Bestellstatus den Status "Abgeschlossen" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order.state.completed | Wird ausgelöst, wenn der Bestellstatus den Status "Abgeschlossen" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order.state.open | Wird ausgelöst, wenn der Bestellstatus den Status "Offen" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order.state.open | Wird ausgelöst, wenn der Bestellstatus den Status "Offen" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order.state.cancelled | Wird ausgelöst, wenn der Bestellstatus den Status "Abgebrochen" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order.state.cancelled | Wird ausgelöst, wenn der Bestellstatus den Status "Abgebrochen" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_enter.order_transaction.state.unconfirmed | Wird ausgelöst, wenn der Bestellstatus den Status "Abgebrochen" erhält. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
state_leave.order_transaction.state.unconfirmed | Wird ausgelöst, wenn der Bestellstatus den Status "Abgebrochen" verlässt. | Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen |
**Notice: Stop flow action: Available for all events. |
Bedingungen werden verwendet, um den Ablauf des Flows zu verfeinern. Hierzu werden die Regeln aus dem Rule Builder verwendet oder direkt neue Regeln für diesen angelegt. Anhand dieser Regeln kann dann bestimmt werden, ob und welche Aktion ausgeführt wird. Für umfangreichere Flows können auch mehrere Bedingungen hintereinander abgefragt werden. Für umfangreichere Flows können auch mehrere Bedingungen hintereinander abgefragt werden.
Jede Bedingung hat zwei mögliche Ergebnisse. Wahr oder Falsch. Für jedes Ergebnis kannst Du weitere Bedingungen oder Aktionen festlegen die dann abgearbeitet werden sollen.
Dieses Feature ermöglicht es Dir, eine oder mehrere Aktionen nach einem bestimmten Zeitraum auszulösen.
Die zeitverzögerten Aktionen im Flow Builder stehen Dir ab dem Plan Shopware Beyond zur Verfügung.
Durch die zeitverzögerten Aktionen kannst Du beispielsweise eine Woche nach einer Bestellung automatisiert Mails versenden und nach einer Produktbewertung fragen, weitere passende und Angebote zum Produkt vorschlagen.
Um die Option zu konfigurieren, öffne einen neuen oder bestehenden Flow und gehe in den Bereich Flow (1). Dort kannst Du wie gewohnt einen Auslöser (2) wählen.
Bevor Du nun eine Aktion auswählst, die vom Trigger ausgelöst wird, kannst Du nun eine Verzögerung (3) einstellen. Du hast dort die Wahl, einen Wert (4) einzustellen, wann die nachfolgende Aktion ausgeführt werden soll.
Folgende Konfigurationmöglichkeiten stehen Dir zur Auswahl: Stunde, Tag, Woche, Monat und Benutzerdefiniert. Wenn Du Benutzerdefiniert auswählst, kannst Du einen individuellen Wert im Format SS.TT.WW.MM hinterlegen.
Nach der Konfiguration der Verzögerung, erfolgt die gewohnte Aktion.
Sobald Dein Flow ausgelöst wurde, beispielsweise durch eine Bestellung, wird dieser im Bereich Geplante Aktionen (1) gelistet.
In der Liste findest Du die zeitverzögerte Aktion (2) mit einer Übersicht mit den Informationen.
Bestellnummer, Kunde, Verzögerte Aktion der Bedingung, Verbleibende Zeit, Geplant für.
Die Aktion wird ausgeführt, sobald der Trigger ausgelöst wurde und alle vorgeschalteten Bedingungen entsprechend erfüllt oder eben nicht erfüllt wurden.
Je nach Trigger, kann es sein, dass nicht alle Aktionen zur Verfügung stehen. So kann ein Tag beispielsweise nur dann hinzugefügt werden, wenn der Trigger eine Entität betrifft, an die standardmäßig ein Tag gehängt werden kann.
Folgende Aktionen können je nach Trigger ausgewählt werden:
Tag hinzufügen / Tag entfernen:
Hier kannst Du eine Entität auswählen, welche vom Trigger betroffen ist und kannst an diese ein Tag hinzufügen lassen oder entfernen lassen.
Kundengruppe ändern:
Mit dieser Aktion kannst Du die Kundengruppe ändern. Wähle dazu im Dropdown einfach die Kundengruppe, in welche gewechselt werden soll.
Kundenstatus ändern:
Diese Aktion setzt einen Kunden entweder aktiv oder inaktiv. Triff dazu einfach eine Auswahl im Dropdown.
Dokument erzeugen:
Diese Aktion erzeugt ein neues Dokument in der aktuellen Bestellung. Im Dropdown Menü kannst Du festlegen, welcher Dokumententyp durch diese Aktion erzeugt werden soll.
E-Mail verschicken:
Mit dieser Aktion kannst Du automatisiert E-Mails versenden lassen. In der Konfiguration wählst Du hierzu zunächst einen Empfänger und den gewünschten Absender aus. Das kann neben dem Administrator und dem Kunden auch eine oder mehrere festgelegte E-Mail Adressen sein. Als nächstes wählst Du ein E-Mail-Template aus, welches verschickt werden soll und gibst an, ob und welche Dokumente Du der Mail hinzufügen möchtest.
Status setzen:
Mit dieser Aktion kannst Du den Zahlungsstatus, den Versandstatus und den Bestellstatus der Bestellung ändern, die von dem Trigger betroffen ist.
Einige Status besitzen eine Abhängigkeit untereinander und können erst ausgewählt werden, wenn die Bestellung bereits einen bestimmten Status besitzt.
Beispielsweise kann der Zahlungsstatus Erstattet, Teilweise erstattet oder Rückbuchung erst dann vergeben werden, wenn die Bestellung zuvor den Zahlungsstatus Bezahlt oder Teilweise bezahlt gehabt hat. Weitere Abhängigkeiten sind hier aufgeführt.
Zusatzfeldinhalt ändern:
Diese Aktion bietet Dir die Möglichkeit, das Zusatzfeld des Kunden oder der Bestellung zu ändern. Hier musst Du zuerst die Entität auswählen, danach das Zusatzfeld-Set und zum Schluss kannst Du das Zusatzfeld auswählen.
Affiliate- und Kampagnen-Code hinzufügen:
Diese Aktion fügt einen Affiliate- oder Kampagnen-Code hinzu. Zuerst musst Du aber die Entität auswählen, Kunden oder Bestellungen. Mit der Option Überschreiben kannst Du zudem festlegen ob bereits hinterlegte Codes überschrieben werden sollen.
Flow anhalten:
Diese Aktion kannst Du im Flow Builder an jeder Stelle einbinden, an der nichts weiter geschehen soll. Das kann beispielsweise dann der Fall sein, wenn nur bei einer wahren Bedingung eine Aktion ausgeführt werden soll. Wenn die Bedingung Falsch ist, setzt Du dann die Aktion Flow anhalten, dies stoppt den kompletten Flow, egal ob andere Aktionen im Flow parallel laufen. Es werden nachfolgende Aktionen oder Sequenzen nicht ausgeführt. Wenn in der ersten Bedingung "Flow anhalten" ausgeführt wird, wird die zweite Bedingung, die durch das "plus" hinzugefügt wurde nicht mehr aufgerufen.
Seit der Shopware Version (6.5.3.0) haben wir den Flowbuilder um eine wichtige Eigenschaft erweitert. Es ist nun möglich Auslöser aus anderen Apps mit in dem Flow zu integrieren. Bedeutet, dass ab jetzt nicht mehr nur interne (im Shopware Kosmos) Ausgelöste Aktionen ausgewählt werden können, sondern auch Auslöser die in Erweiterungen wie z.B Auftragsverwaltungs- oder Versandsysteme oder mit einer Interaktion mit Social Media oder deinem Newsletter-Tool ausgeführt werden. Es gibt nun insgesamt drei Möglichkeiten, wie Du deinen Flow aufbauen und erweitern kannst.
Flows innerhalb von Shopware zu erstellen
Flows zu erstellen, die mit einem Ereignis in Shopware starten und via Webhooks in Drittsystemen einen Flow auslösen
Flows zu erstellen, die mit einem Ereignis in einem Drittsystem starten und in Shopware einen Flow auslösen
Wie Du alles wichtige für die Verwendung von Custom Flows vorbereitest, findest Du hier.
Diese Erweiterung steht Dir ab dem Evolve Plan zur Verfügung. Sie erweitert den Flow Builder um weitere nützliche Funktionen.
Du benötigst die Shopware Commercial Erweiterung zur Nutzung der Webhook Actions.
Mit dieser Aktion kannst Du automatisiert eine Web URL aufrufen lassen und Parameter übergeben, sobald der Trigger ausgelöst wird. Ein WebHook ermöglicht es beispielsweise, einer Server-Software mitzuteilen, dass ein bestimmtes Ereignis, wie beispielsweise eine neue Bestellung, eingetreten ist. Dies kann eine Benachrichtigung sein oder eine Aufforderung an den Server, etwas mit der Information anzufangen.
Allgemein
Methode (1): Generell werden 5 verschiedene Methoden eines Webhooks unterstützt.
URL (2): Die URL gibt an, an welches Ziel der Webhook geschickt werden soll.
Beschreibung (3): In der Beschreibung kannst Du den Zweck dieses Webhooks notieren, um ihn später korrekt einordnen zu können.
Parameter (4): Je nach Ziel und Aufgabe des Webhooks kann es notwendig sein Parameter aus dem Shopsystem mit zu geben. Dies kannst Du über die Parameter tun. Gib dazu auf der linken Seite einen Parameternamen ein und wähle auf der Rechten Seite den Parameter aus, der über diesen Parameternamen an das Ziel übermittelt werden soll.
URL-Vorschau (5): Hier siehst Du eine Vorschau der URL inklusive der angegebenen Parameter, die mit ans Ziel übergeben werden.
Header-Parameter
Einige Server, die Webhooks entgegennehmen, erwarten spezielle Header Parameter. Diese können hier hinterlegt werden.
Body
Einige Server, die Webhooks entgegennehmen, erwarten einen speziellen Body. Dieser kann entweder wie der Header in Form von Parametern erfolgen, die übergeben werden oder als Code. Slack greift beispielsweise darauf zurück um Parameter zu übergeben. Wie der Code dann auszusehen hat gibt in der Regel der Zielserver vor, an den der Webhook gesendet werden soll. Im Code kann auf die Shopware Variablen zugegriffen werden.
Basic Auth
Falls das Ziel eine Authentifizierung erfordert, kann diese hier aktiviert werden und die notwendigen Zugangsdaten hinterlegt werden.
Ab der Shopware Version 6.4.19.0 und dem Plan Shopware Rise ist es Dir möglich Flows zu teilen. Dies kannst Du verwenden um Flows in Deinem Shop zu importieren oder exportieren sowie Flow mit einem bestehenden zu erstellen.
Um einen Flow herunterzuladen klickst Du auf [...] (1) neben dem gewünschten Flow und dann auf herunterladen (2). Die Flow-Datei enthält alle Sequenzen sowie die Konfigurationen, die in Bedingungen und Aktionen verwendet werden. Beim Hochladen in ein Fremdsystem werden fehlende Daten angelegt.
Verweise auf Kategorien, Produkte und Eigenschaften können in der Flow-Datei weggelassen werden. Beim Hochladen in ein Fremdsystem müssen diese fehlende Referenzen neu zugeordnet werden.
Zum hochladen eines Flows gehst Du unter Einstellungen > Flow Builder auf den Button Flow hochladen und wählst die Datei aus.
Wenn die Datei Verweise auf lokale Dateien enthält, wird beim Hochladen geprüft, ob diese Verweise auf dem Zielsystem vorhanden sind. Sind diese Referenzen nicht vorhanden, wird der Benutzer aufgefordert, die Daten neu zuzuordnen.
Die Template-Bibliothek enthält Flows die von Shopware bereitgestellt werden. Sie enthält zwei Arten von Flows:
Standard-Flows, so das Du die Möglichkeit hast diese erneut zu erstellen.
Von Shopware definierte Flows für spezielle Anwendungsfälle