Skip to content

Konfigurationsreferenz

Alle Einstellungen liegen auf der Standard-Konfigurationsseite der Erweiterung: Erweiterungen > Meine Erweiterungen, dann Konfigurieren bei Order Editing — Self-Service for Customers. Jede Einstellung gilt für alle Verkaufskanäle oder für einen einzelnen, über die Verkaufskanal-Auswahl oben auf der Seite. Ein eigenes Einstellungsmodul gibt es nicht.

Die folgenden Tabellen werden aus der config.xml des Plugins erzeugt, derselben Datei, aus der die Konfigurationsseite aufgebaut wird. Die Beschreibungen sind die Hilfetexte neben jeder Einstellung.

Einstellungen

Änderungsfenster

EinstellungTypStandardBeschreibung
holdOrder — Kunden dürfen ihre Bestellung ändernbooltrueDer Hauptschalter. Solange er an ist, wartet eine neue Bestellung, statt direkt in den Versand zu gehen. Beim Ausschalten werden alle noch wartenden Bestellungen freigegeben.
windowMinutes — Dauer des Fensters (Minuten)int30Wie lange Kunden nach der Bestellung ändern können — üblich sind 30 bis 120 Minuten. Beim Verkürzen enden Fenster, welche die neue Dauer bereits überschritten haben.
closeOnStateChange — Fenster beenden, wenn sich der Bestellstatus ändertbooltrueSobald jemand die Bestellung weiterbewegt, endet die Änderung sofort — auch wenn noch Zeit übrig ist.
eligibilityRuleIds — Nur Bestellungen, die diese Regeln erfüllen, können geändert werdenmulti-select (rule)Leer lassen für alle Bestellungen. Sonst muss eine Bestellung beim Kauf alle gewählten Regeln erfüllen.

Schutzregeln

EinstellungTypStandardBeschreibung
lockAfterInvoice — Änderungen stoppen, sobald eine Rechnung existiertbooltrueEine erstellte Rechnung muss zu dem passen, was Sie verkauft haben; eine spätere Änderung hieße Stornorechnung und neue Rechnung. Nur ausschalten, wenn Sie das selbst erledigen.
enforceStock — Bei jeder Änderung den Bestand prüfenbooltrueBei Produkten mit „Abverkauf“ kann ein Kunde die Menge nicht über Ihren Bestand erhöhen. Andere Produkte folgen denselben Grenzen wie im Checkout.
lockPersonalisedItems — Personalisierte Artikel sperrenbooltrueArtikel mit Gravur, hochgeladener Datei oder Freitext lassen sich nicht ändern.
allowTotalReduction — Änderungen zulassen, die den Bestellwert senkenboolfalseBetrifft nur bereits bezahlte Bestellungen: Sie schulden dann die Differenz zurück und erstatten sie selbst. Unbezahlte Bestellungen sind nie betroffen.
taxBasisChange — Wenn eine neue Adresse die Steuer ändertsingle-selectblockManche Adressen fallen unter einen anderen Steuersatz. Nicht zulassen lässt die Bestellung wie verkauft; neu berechnen stellt sie für die neue Adresse und ändert, was Sie bekommen. Optionen: block (Änderung nicht zulassen), reprice (Für die neue Adresse neu berechnen).
shippingChange — Wenn eine Änderung die Versandkosten betrifftsingle-selectkeepBeibehalten: Versandkosten bleiben wie verkauft. Neu berechnen: für die geänderte Bestellung wie im Checkout. Optionen: keep (Versandkosten wie verkauft beibehalten), requote (Wie im Checkout neu berechnen).

Erlaubte Änderungen

EinstellungTypStandardBeschreibung
allowAddress — Liefer- und RechnungsadressebooltrueNur der angemeldete Kunde, der die Bestellung aufgegeben hat, kann eine Adresse ändern.
allowVariantSwap — Andere Variante wählenbooltrueKunden wechseln eine Position auf eine andere Variante desselben Produkts, etwa Größe, Kapazität oder Geschmack, zum Preis dieser Variante. Ein anderes Produkt ist nicht wählbar. Personalisierte Artikel bleiben gesperrt.
allowQuantityChange — MengebooltrueDas Erhöhen ist immer erlaubt. Das Verringern folgt Ihrer Einstellung für Änderungen, die den Bestellwert senken.
allowLineRemoval — Artikel entfernenboolfalseKunden entfernen einen Artikel, statt die ganze Bestellung zu stornieren.
allowShippingMethodChange — Versandart ändernboolfalseKunden wählen aus den Versandarten Ihres Checkouts, zu Checkout-Preisen.

Zwei Einstellungen werden für eine Bestellung festgehalten, wenn ihr Fenster öffnet: Wenn eine neue Adresse die Steuer ändert und Wenn eine Änderung die Versandkosten betrifft. Eine Änderung wirkt auf Fenster, die danach öffnen.

Dauer des Fensters (Minuten): Eine Verlängerung verlängert bereits offene Fenster nicht. Um einer einzelnen Bestellung mehr Zeit zu geben, nutzen Sie Fenster verlängern an der Bestellung (siehe Kunden mehr Zeit geben). Bei einem Wert von 0 oder weniger öffnet sich kein Fenster.

Statuskarte

Oben in der Karte Änderungsfenster prüft die Konfigurationsseite Ihren Shop und zeigt nur dann einen Hinweis, wenn etwas zu tun ist:

HinweisBedeutungWas zu tun ist
„Eine Rechnung wird erstellt, sobald eine Bestellung eingeht, …“Ein aktiver Flow auf checkout.order.placed erstellt eine Rechnung, Stornorechnung oder Gutschrift. Jedes Fenster schließt sich, sobald es öffnet. Die Flows werden genannt.Flow reparieren, der jedes Fenster schließt
„Mit aktiver Bestelländerung betritt oder verlässt jetzt jede Bestellung den Status Offen, …“Ein aktiver Flow startet, wenn eine Bestellung Offen erreicht oder verlässt. Mit dem Zurückhalten geschieht das bei jeder Bestellung. Die Flows werden genannt.Warenwirtschaft und Status „Zurückgehalten“
„Diese Regeln lassen sich nicht mehr prüfen, …“Eine unter Nur Bestellungen, die diese Regeln erfüllen, können geändert werden gewählte Regel ist ungültig und erfüllt keine Bestellung. Die Regeln werden genannt.Änderungen nur für bestimmte Bestellungen

Bestellstatus

StatusTechnischer NameEnglisch
Zurückgehaltenssd_heldOn hold

Übergänge:

AktionVonNachGenutzt von
ssd_holdOffenZurückgehaltenDem Plugin, wenn ein Fenster öffnet
reopenZurückgehaltenOffenDer Freigabe: Hintergrundaufgabe, Jetzt freigeben oder von Hand
processZurückgehaltenIn BearbeitungVon Hand, einem Flow oder einer Warenwirtschaft. Beendet das Fenster, wenn Fenster beenden, wenn sich der Bestellstatus ändert an ist.
cancelZurückgehaltenStorniertVon Hand, einem Flow oder der Stornierung durch den Kunden. Beendet das Fenster immer.

In einem Shop, in dem Kunden Bestellungen selbst stornieren dürfen, lässt sich auch eine zurückgehaltene Bestellung aus der Bestellübersicht des Kunden stornieren.

Hintergrundaufgabe

Geplante AufgabeIntervallWas sie tut
ssd_order_editing.release_held_orders300 SekundenSchließt jedes Fenster, dessen Frist abgelaufen ist oder das die aktuellen Einstellungen nicht mehr erlauben, und gibt die Bestellung frei. Gibt außerdem jede Bestellung frei, die ohne offenes Fenster zurückgehalten ist.

Das Deaktivieren des Plugins schließt sofort alle offenen Fenster und gibt alle zurückgehaltenen Bestellungen frei.

Flow-Builder-Auslöser

AuslöserIn der Flow-ListeVariablenInstallierter Flow und Empfänger
ssd_order_editing.window.openedOrder Editing: Änderungsfenster geöffnetorder, closesAt, windowMinutes, guestOrderEdit window opened, an den Kunden
ssd_order_editing.change.committedOrder Editing: Bestelländerung bestätigtorder, changes, amountDelta, guestOrderOrder change committed, an den Kunden
ssd_order_editing.refund.dueOrder Editing: Rückerstattung nach einer Änderung offenorder, refundAmountRefund due after order change, an die Administratoren des Shops

Jeder installierte Flow versendet das zugehörige E-Mail-Template (Änderungsfenster geöffnet, Änderung übernommen, Rückerstattung offen nach Bestelländerung), jeweils auf Englisch und Deutsch. Ein Flow wird nur angelegt, wenn für den Auslöser noch keiner existiert. Ein bei der Installation angelegter Flow muss einmal indiziert werden, bevor Shopware ihn ausführt; die Wege dorthin stehen unter E-Mails anpassen.

Das Plugin ergänzt außerdem den Status Zurückgehalten bei den Auslösern für Bestellstatus, sodass Flows reagieren können, wenn eine Bestellung ihn erreicht oder verlässt.

Berechtigungen

RechtWoGewährt
Bestellung ändern, AnsehenEinstellungen > Benutzer & Rechte > Rollen, Bereich Bestellungenssd_order_edit_log:read, ssd_order_edit_session:read, order:read
Bestellungen, AnsehenEinstellungen > Benutzer & Rechte > Rollen, Bereich BestellungenErhält zusätzlich ssd_order_edit_log:read und ssd_order_edit_session:read. Rollen, die vor der Installation gespeichert wurden, müssen einmal neu gespeichert werden.
Bestellungen, BearbeitenEinstellungen > Benutzer & Rechte > Rollen, Bereich BestellungenNötig für Fenster verlängern (order:update) und Jetzt freigeben

Siehe Mitarbeitenden Zugriff geben.

Protokolleinträge

Jeder Eintrag im Tab Änderungen wird in ssd_order_edit_log gespeichert.

Gespeicherte AktionAngezeigt als
window_openFenster geöffnet (Offen → Zurückgehalten)
window_closeFenster geschlossen, mit Grund
window_extendedFenster verlängert, mit alter und neuer Schließzeit
committedEine Zeile je bestätigter Änderung: Variante, Menge, Artikel entfernt, Adresse, Versandart, Zusätzliche Informationen, dazu Zeilen für Rabatt, Guthaben, Versand, MwSt., Steuer und Rundung als Folge
refusedAbgelehnt, mit Grund
refund_dueRückerstattung offen, mit Betrag
payment_movedZahlung geändert
QuelleAngezeigt als
shopperKunde
adminHändler
systemSystem

Zeilen für Beträge, die sich als Folge einer Änderung bewegt haben, zeigen Automatisch als Quelle.

Daten

EntitätZweck
ssd_order_edit_sessionEine Zeile je Änderungsfenster: Bestellung, Zustand (open, expired, discarded), Schließzeit, Verlängerung, die vorgemerkten Änderungen des Kunden sowie die für dieses Fenster geltenden Steuer- und Versandeinstellungen
ssd_order_edit_logDas Änderungsprotokoll: Aktion, Werte vorher und nachher, Betrag, Bestellsumme, Quelle und Ablehnungsgrund

Eine Deinstallation ohne Datenerhalt löscht beide Tabellen. Jede Deinstallation setzt noch zurückgehaltene Bestellungen auf Offen. E-Mail-Templates, Flows und der Status Zurückgehalten bleiben.

Storefront-Seiten

PfadSeite
/account/order/{orderId}/editBestellung ändern
/account/order/{orderId}/edit/reviewWas sich ändert (prüfen und bestätigen)
/account/order/{orderId}/edit/line/{lineItemId}/variantAusführung ändern (öffnet sich als Dialog über der Übersicht)
/account/order/{orderId}/edit/address/{target}Lieferadresse ändern / Rechnungsadresse ändern (öffnet sich als Dialog über der Übersicht)

Einstiege sind die Bestellbestätigung, die Bestellübersicht im Kundenkonto (ein Hinweis und der Eintrag Bestellung ändern im Menü der Bestellung), die Gastbestellseite Ihres Shops und der Link in der Fenster-E-Mail.

Store API

Für Headless-Storefronts stehen dieselben Aktionen über die Store API bereit:

PfadZweck
/store-api/order-editing/sessionAktuelle Änderungen laden
/store-api/order-editing/session/openÄnderungen des Kunden für eine Bestellung öffnen
/store-api/order-editing/session/commitÄnderungen bestätigen
/store-api/order-editing/session/discardÄnderungen verwerfen
/store-api/order-editing/line/variantVariantenoptionen einer Position laden
/store-api/order-editing/line/variant/stageVariantenwechsel vormerken
/store-api/order-editing/line/quantity/stageMengenänderung vormerken
/store-api/order-editing/line/remove/stageEntfernen einer Position vormerken
/store-api/order-editing/address/stageAdressänderung vormerken (nur der Kunde, dem die Bestellung gehört; ein Gast zählt dazu, sobald er seine Daten auf der Gastbestellseite bestätigt hat)
/store-api/order-editing/shipping-methodAngebotene Versandarten laden
/store-api/order-editing/shipping-method/stageVersandartwechsel vormerken
/store-api/order-editing/customer-comment/stageÄnderung des Bestellkommentars vormerken

Jede Route prüft, dass die Bestellung dem angemeldeten Kunden gehört oder dass ein Gast den Deep-Link-Code der Bestellung zusammen mit E-Mail-Adresse und Postleitzahl angibt.

Administrations-API

PfadZweckBerechtigung
POST /api/_action/ssd-order-editing/order/{orderId}/window/extendVerlängert ein offenes Fenster um die Dauer des Fenstersorder:update

Shops mit mehreren Webservern

Änderungen an einer Bestellung werden über eine Sperre nacheinander abgearbeitet. Die Sperre nutzt den Lock-Speicher Ihres Shops (LOCK_DSN). Standardmäßig liegt dieser lokal auf jedem Server. Läuft Ihr Shop auf mehr als einem Webserver, richten Sie LOCK_DSN auf einen gemeinsamen Speicher wie Redis oder die Datenbank, damit alle Server dieselbe Sperre nutzen.

Your Vision. Signed, Sealed, Delivered.