Einführung
Conditions sind wichtig für das Einrichten von Regeln und Aktionen in der Rule Engine. Der advanced mode in der Rule engine ermöglicht die Verwendung komplexerer Conditions. Diese verwenden Operatoren, Variablen, Konstanten und Funktionen, um Checkout-Optionen basierend auf Faktoren wie Gewicht, Warenkorbwert und Zielort zu bestimmen.
Regeln bestehen aus einer oder mehreren Conditions, die mit Actions verknüpft sind. Diese können Felder, Addons oder Versandoptionen beeinflussen und die Ergebnisse bestimmen, wenn die Conditions erfüllt sind. Die Benutzeroberfläche der Rule Engine erleichtert das Einrichten von Conditions und Actions.
Weitere Informationen zu allgemeinen Use Cases finden Sie in unserem Artikel Verwendung der Rule Engine, der eine Schritt-für-Schritt-Anleitung zur Erstellung von basic Conditions bietet.
Dieser Artikel konzentriert sich auf die fortgeschrittenen Aspekte von Conditions:
- Advanced view in der Rule engine
- Liste gültiger Operatoren
-
Benutzerdefinierte Parameter
- Boolean
- Text
- Condition lists - Expressions
Advanced view in der Rule engine
In der Rule Engine haben Sie die Möglichkeit, in den Advanced mode zu wechseln. Dieser enthält ein einzelnes Textfeld und ermöglicht das manuelle Schreiben von Conditions für eine bessere Kontrolle.
Bitte beachten Sie, dass alle integrierten oder benutzerdefinierten Parameter, die Sie in Conditions verwenden möchten, unter Parameters aktiviert sein müssen. Lesen Sie hier mehr: Parameter aktivieren
Beispiele:
vip = trueBenutzerdefinierter Text „vip“ ist gleich true
cart_price < 100Warenkorbwert ist kleiner als 100
to_country != "SE"Land ist nicht gleich Schweden
to_postal_code < "10000" and to_country = "SE" and to_postal_code > "20000"Die Postleitzahl des Empfängers ist kleiner als 10000 und das Empfängerland ist Schweden, und die Postleitzahl ist kleiner als 20000
cart_price >= 5000 or weight_kg >= 20Der Warenkorbwert ist größer oder gleich 5000 oder das Gewicht ist größer oder gleich 20
weight_kg >= 1.9 or volume_cm3 >= 8000Das Gewicht ist größer als 1,9 kg oder das Volumen in Kubikzentimetern ist größer oder gleich 8000
date > "2025-12-31"Das Datum liegt nach dem 31. Dezember 2025
cart_price > 600 and currency = "SEK" and VIP = trueDer Warenkorbwert ist größer als 600, die Währung ist SEK und der benutzerdefinierte Parameter VIP ist true.
Liste gültiger Operatoren
Das Schreiben von Conditions erfordert die Verwendung von Operatoren:
| Operator |
Erklärung |
|---|---|
| = | Ist gleich |
| != | Ist nicht gleich |
| > | Ist größer als |
| >= | Ist größer oder gleich |
| < | Ist kleiner als |
| <= | Ist kleiner oder gleich |
| | or OR | Oder |
| & or AND | Und |
| ! or NOT | Nicht |
| in | Enthält |
Benutzerdefinierte Parameter
Hier sind einige Beispiele für die Verwendung benutzerdefinierter Parameter im advanced mode. Benutzerdefinierte Parameter müssen unter Parameters aktiviert werden, damit sie im advanced mode verfügbar sind. Siehe Parameter aktivieren.
Boolean
Benutzerdefinierte Parameter können auf true oder false gesetzt werden, wie in diesen Beispielen:
bulky = true
b2b = true
VIP = false
Text
Sie können einen Text angeben, der für einen benutzerdefinierten Parameter vorhanden sein muss. Beispiele:
freightclass = "A"
member = “gold”
type = “nailpolish”
Condition lists
Sie können einen Parameter in einer condition list angeben, indem Sie das Format parametername in "conditionlistname" verwenden. Beispiel:
to_postal_code in "zipcodes_zone1"
Weitere Informationen zu condition lists finden Sie in diesem Artikel: Erste Schritte mit Condition lists. Dieser enthält einen Abschnitt zur Verwendung von condition lists in der Rule engine.
Expressions
Expressions funktionieren ähnlich wie Conditions, haben jedoch einen anderen Zweck. Während Conditions einen boolean-Wert (true/false) zurückgeben, um zu bestimmen, ob eine Aktion ausgeführt werden soll, werden Expressions verwendet, um Werte in Feldern wie Preisen oder Nachrichten dynamisch festzulegen. Expressions müssen in geschweiften Klammern "{}" geschrieben werden.
Beispielsweise kann ein expression in einem Preisfeld eine benutzerdefinierte Variable aus der Request verwenden. Oder um eine Liefernachricht anzuzeigen, können Sie schreiben:
"Will be delivered on {nextWorkingDayReceiver()}"
Hier ist {nextWorkingDayReceiver()} das expression. Die geschweiften Klammern {} weisen das System an, den darin enthaltenen Inhalt auszuwerten. Wenn die Funktion „Monday“ zurückgibt, lautet die endgültige Nachricht:
"Will be delivered on Monday"
Hinweis: Wenn ein expression einen boolean-Wert zurückgibt (wie eine condition), wird „true“ oder „false“ als Text angezeigt, was möglicherweise nicht das gewünschte Ergebnis ist.
Einige Funktionen sind nur in expressions und nicht in conditions verfügbar, da sie von Informationen darüber abhängen, welche Versandoption verwendet wird – Informationen, die auf Checkout-Ebene nicht verfügbar sind.
| Name | Ergebnistyp |
|---|---|
| carrierEtaFromDate | Datum |
| carrierEtaToDate or carrierEtaDate | Datum |
| carrierEtaFromDateTime | DateTime |
| carrierEtaToDateTime or carrierEtaDateTime | DateTime |
| carrierEtaFromDay | String |
| carrierEtaToDay or carrierEtaDay | String |
| carrierEtaInterval | String |
| Operator |
Erklärung |
|---|---|
| + | Addition |
| - | Subtraktion |
| * | Multiplikation |
| / | Division |
| % | Modulo |