Flow Builder

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. 

Allgemein

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. 

Flow

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. 

Trigger

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:
 

EventDescriptionAktionen
checkout.order.return.createdWird ausgelöst, sobald eine Retoure erstellt wird.E-Mail an Kunden und Administrator verschicken
state_enter.order_return.state.doneWird ausgelöst, sobald eine Retoure den Status "Abgeschlossen" erreicht.E-Mail verschicken
state_enter.order_return.state.cancelledWird ausgelöst, sobald eine Retoure den Status "Abgebrochen" erreicht.E-Mail verschicken
state_enter.order_return.state.in_progressWird ausgelöst, sobald eine Retoure den Status "In Bearbeitung" erreicht.E-Mail verschicken
checkout.customer.before.loginWird ausgelöst, sobald sich ein Kunde anmeldetkeine Aktion
checkout.customer.loginWird ausgelöst, sobald sich ein Kunde anmeldetTag hinzufügen/ entfernen
checkout.customer.logoutWird ausgelöst, sobald sich ein Kunde abmeldetTag hinzufügen/ entfernen
checkout.customer.deletedWird ausgelöst, sobald ein Kunde gelöscht wirdTag hinzufügen/ entfernen, E-Mail verschicken
user.recovery.requestWird ausgelöst, sobald ein Nutzer im Administrator eine Anfrage zur Passwortwiederherstellung startet.E-Mail verschicken
checkout.customer.changed-payment-methodWird ausgelöst, wenn ein Kunde seine Zahlungsart im Checkout Prozess ändert.Tag hinzufügen/ entfernen
checkout.order.placedWird ausgelöst, sobald eine Bestellung eines Kunden abgegeben wurde.Tag hinzufügen / entfernen, E-Mail verschicken, Dokument erzeugen, Status setzen
checkout.order.payment_method.changedWird ausgelöst, wenn ein Kunde seine Zahlungsart im Checkout Prozess ändert.Keine Aktion
customer.recovery.requestWird ausgelöst, wenn ein Kunde eine Anfrage zur Passwortwiederherstellung sendet.Tag hinzufügen/ entfernen, E-Mail verschicken
checkout.customer.double_opt_in_registrationWird ausgelöst, wenn ein Kunde seine Registrierung per Double-Opt-In bestätigt.Tag hinzufügen/ entfernen, E-Mail verschicken
customer.group.registration.acceptedWird 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.declinedWird ausgelöst, wenn der Administrator einen Kunden ablehnt, der sich als Mitglied einer Kundengruppe registriert.Tag hinzufügen/ entfernen, E-Mail verschicken
checkout.customer.registerWird ausgelöst, wenn sich ein neuer Kunde registriert.Tag hinzufügen/ entfernen, E-Mail verschicken
checkout.customer.double_opt_in_guest_orderWird ausgelöst, sobald das Double-Opt-In in einer Gastbestellung akzeptiert wurde.Tag hinzufügen/ entfernen, E-Mail verschicken
checkout.customer.guest_registerWird ausgelöst, wenn sich ein neuer Kunde als Gast registriert.Tag hinzufügen/ entfernen, E-Mail verschicken
contact_form.sendWird ausgelöst, sobald ein Kunde das Kontaktformular ausgefüllt und abgeschickt hat. E-Mail verschicken
mail.after.create.messageWird ausgelöst wenn eine E-Mail erstellt wird.Keine Aktion
mail.before.sendWird vor dem Versand einer E-Mail ausgelöst. Keine Aktion
mail.sentWird ausgelöst, wenn eine E-Mail von Shopware gesendet wirdKeine Aktion
newsletter.confirmWird ausgelöst, wenn der Newsletter von einem Kunden bestätigt wurdeE-Mail verschicken
newsletter.registerWird ausgelöst, wenn der Kunde sich für den Newsletter eines Verkaufskanals angemeldet hatE-Mail verschicken
newsletter.unsubscribeWird ausgelöst, wenn sich ein Benutzer von einem Verkaufskanal-Newsletter abmeldetE-Mail verschicken
newsletter.updateWird aktuell nicht genutztE-Mail verschicken
product_export.logWird ausgelöst, wenn der Produktexport ausgeführt wirdKeine Aktion
state_enter.order_transaction.state.openWird 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.openWird 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.paidWird 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.paidWird 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_partiallyWird 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_partiallyWird 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.chargebackWird 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.chargebackWird 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_partiallyWird 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_partiallyWird 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.failedWird 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.failedWird 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.remindedWird 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.remindedWird 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.authorizedWird 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.authorizedWird 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.cancelledWird 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.cancelledWird 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.refundedWird 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.refundedWird 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_progressWird 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_progressWird 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_partiallyWird 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_partiallyWird 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.returnedWird 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.returnedWird 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.cancelledWird 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.cancelledWird 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.openWird 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.openWird 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.shippedWird 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.shippedWird 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_partiallyWird 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_partiallyWird 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_progressWird 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_progressWird 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.completedWird 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.completedWird 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.openWird 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.openWird 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.cancelledWird 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.cancelledWird 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.unconfirmedWird 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.unconfirmedWird 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.  

Bedingung

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.

Verzögerung

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.

Aktion

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:

Affiliate- und Kampagnen Code zuweisen

Über diese Aktion kannst du Du einer Bestellung oder dem Kunden automatisch einen Affiliate- oder Kampagnen Code zuweisen.

Über die Auswahl Entität (1) entscheidest du ob die Zuweisung auf den Kunden(Customer) oder die Bestellung(Order) erfolgen soll.

Im Feld Affiliate-Code (2) legst du fest, welcher Code zugewiesen werden soll. Ebenfalls kannst Du entscheiden, ob ein bereits vorhandener Code überschrieben werden soll.

Mit dem Kampagnen-Code (3) kannst Du der Bestellung oder dem Kunden einen Code zuweisen. Auch hier kannst Du ebenfalls entscheiden, ob ein bereits vorhandener Code überschrieben werden soll.

Kontostatus zuweisen

Diese Aktion setzt einen Kunden entweder aktiv oder inaktiv. Triff dazu einfach eine Auswahl im Dropdown.

Zusatzfeld zuweisen:

Mit dieser Aktion kann einem Kunden oder einer Bestellung ein Zusatzfeld zugewiesen werden.

 

Kundengruppe zuweisen:
Mit dieser Aktion kannst Du die Kundengruppe ändern. Wähle dazu im Dropdown einfach die Kundengruppe, in welche gewechselt werden soll.

Dokumente 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 zuweisen:
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.

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.

Download-recht setzen

Wurde in der Bestellung ein digitales Produkt gekauft, und die Zahlung ist erfolgt, kann über diese Aktion der Downloadlink für das Produkt im Kundenlogin freigeschaltet werden.

Über das Dropdown kann zwischen dem Erteilen oder entziehen des Download-Recht ausgewählt werden.

Custom Trigger

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.

Webhook Actions im Flow Builder

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.

Aktion: Call URL (Webhook)

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. 

  • Get: Bei dieser Methode soll von einer entfernten Ressource eine Information eingeholt werden. 
  • POST: Diese Methode wird verwendet, um eine Information an eine entfernte Ressource zu übermitteln. 
  • PUT: Die PUT Methode ersetzt eine Information in der Zielressource durch eine Information der aktuellen Anfrage. 
  • PATCH: Diese Methode wird verwendet, um partielle Änderungen einer Information an der entfernten Ressource durchzuführen. 
  • DELETE: Mit dieser Methode kann an der Ziel Ressource eine bestimmte Information entfernt werde. 

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. 

Flows teilen

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. 

Herunterladen

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.

Hochladen

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.

Flow-Templates

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

War dieser Artikel hilfreich?