Introduktion
Conditions är viktiga för att ställa in regler och actions i Rule engine. Advanced mode i Rule engine gör det möjligt att använda mer komplexa villkor. Dessa använder operatorer, variabler, konstanter och funktioner för att hjälpa till att avgöra checkout-alternativ baserat på faktorer som vikt, kundvagnsvärde och destination.
Regler består av en eller flera conditions som är kopplade till actions, vilka kan påverka fält, addons eller leveransalternativ och avgöra resultaten när conditions uppfylls. Gränssnittet i Rule engine gör det enkelt att ställa in conditions och actions.
För mer information om vanliga use cases, se vår artikel Användning av Rule engine, som erbjuder en steg-för-steg-guide för att skapa basic conditions.
Den här artikeln fokuserar på de mer avancerade aspekterna av conditions:
- Advanced view i Rule engine
- Lista över giltiga operatorer
-
Anpassade parametrar
- Boolean
- Text
- Condition lists - Expressions
Advanced view i Rule engine
I Rule engine har du möjlighet att växla till Advanced mode. Detta innehåller ett enda textfält och gör det möjligt att skriva conditions manuellt för bättre kontroll.
Observera att alla inbyggda eller anpassade parametrar som du vill använda i conditions måste vara aktiverade under Parameters. Läs mer här: Aktivera parametrar
Exempel:
vip = trueAnpassad text "vip" är lika med true
cart_price < 100Kundvagnsvärdet är mindre än 100
to_country != "SE"Land är inte lika med Sverige
to_postal_code < "10000" and to_country = "SE" and to_postal_code > "20000"Mottagarens postnummer är mindre än 10000 och mottagarland är lika med Sverige, och postnumret är mindre än 20000
cart_price >= 5000 or weight_kg >= 20Kundvagnsvärdet är större än eller lika med 5000, eller vikten är större än eller lika med 20
weight_kg >= 1.9 or volume_cm3 >= 8000Vikten är större än 1,9 kg, eller volymen i kubikcentimeter är större än eller lika med 8000
date > "2025-12-31"Datumet är efter den 31 december 2025
cart_price > 600 and currency = "SEK" and VIP = trueKundvagnsvärdet är större än 600, valutan är SEK och den anpassade parametern VIP är true.
Lista över giltiga operatorer
Att skriva conditions kräver användning av operatorer:
| Operator |
Förklaring |
|---|---|
| = | Är lika med |
| != | Är inte lika med |
| > | Är större än |
| >= | Är större än eller lika med |
| < | Är mindre än |
| <= | Är mindre än eller lika med |
| | or OR | Eller |
| & or AND | Och |
| ! or NOT | Inte |
| in | Innehåller |
Anpassade parametrar
Här är några exempel på hur anpassade parametrar används i advanced mode. Anpassade parametrar måste vara aktiverade under Parameters för att vara tillgängliga i advanced mode. Se Aktivera parametrar.
Boolean
Anpassade parametrar kan sättas till true eller false, som i dessa exempel:
bulky = true
b2b = true
VIP = false
Text
Du kan specificera text som måste finnas för en anpassad parameter. Exempel:
freightclass = "A"
member = “gold”
type = “nailpolish”
Condition lists
Du kan specificera en parameter i en condition list genom att följa formatet parametername in "conditionlistname". Exempel:
to_postal_code in "zipcodes_zone1"
För mer information om condition lists, se denna artikel: Kom igång med Condition lists. Den innehåller ett avsnitt om användning av condition lists i Rule engine.
Expressions
Expressions fungerar på samma sätt som Conditions, men har ett annat syfte. Medan Conditions returnerar en boolean (true/false) för att avgöra om en action ska utföras, används Expressions för att dynamiskt sätta värden i fält som priser eller meddelanden. Expressions måste skrivas inom klammerparenteser "{}".
Till exempel kan ett expression i ett prisfält använda en anpassad variabel från requesten. Eller för att visa ett leveransmeddelande kan du skriva:
"Will be delivered on {nextWorkingDayReceiver()}"
Här är {nextWorkingDayReceiver()} expressionet. Klammerparenteserna {} talar om för systemet att innehållet inuti ska utvärderas. Om funktionen returnerar "Monday", blir det slutliga meddelandet:
"Will be delivered on Monday"
Obs: Om ett expression returnerar en boolean (som en condition), kommer det att visa "true" eller "false" som text, vilket kanske inte är det önskade resultatet.
Vissa funktioner är endast tillgängliga i expressions och inte i conditions, eftersom de är beroende av kunskap om vilket fraktalternativ som används — något som inte är tillgängligt på checkout-nivå.
| Namn | Resultattyp |
|---|---|
| carrierEtaFromDate | Date |
| carrierEtaToDate or carrierEtaDate | Date |
| carrierEtaFromDateTime | DateTime |
| carrierEtaToDateTime or carrierEtaDateTime | DateTime |
| carrierEtaFromDay | String |
| carrierEtaToDay or carrierEtaDay | String |
| carrierEtaInterval | String |
| Operator |
Förklaring |
|---|---|
| + | Addition |
| - | Subtraktion |
| * | Multiplikation |
| / | Division |
| % | Modulo |