Introduksjon
Conditions er viktige for å sette opp regler og handlinger i Rule engine. Advanced mode i Rule engine gjør det mulig å bruke mer komplekse conditions. Disse bruker operatorer, variabler, konstanter og funksjoner for å hjelpe med å bestemme checkout-alternativer basert på faktorer som vekt, handlekurvverdi og destinasjon.
Regler består av én eller flere conditions som er koblet til actions, som kan påvirke felt, addons eller leveringsalternativer og bestemme resultatene når conditions er oppfylt. Grensesnittet i Rule engine gjør det enkelt å sette opp conditions og actions.
For mer informasjon om vanlige use cases, se artikkelen Bruk av Rule engine, som gir en trinnvis veiledning for å opprette basic conditions.
Denne artikkelen fokuserer på de mer avanserte aspektene ved conditions:
- Advanced view i Rule engine
- Liste over gyldige operatorer
-
Egendefinerte parametere
- Boolean
- Tekst
- Condition lists - Expressions
Advanced view i Rule engine
I Rule engine har du muligheten til å bytte til Advanced mode. Denne inneholder ett enkelt tekstfelt og gjør det mulig å skrive conditions manuelt for bedre kontroll.
Merk at alle innebygde eller egendefinerte parametere du vil bruke i conditions må være aktivert under Parameters. Les mer her: Aktiver parametere
Eksempler:
vip = trueEgendefinert tekst "vip" er lik true
cart_price < 100Handlekurvverdien er mindre enn 100
to_country != "SE"Land er ikke lik Sverige
to_postal_code < "10000" and to_country = "SE" and to_postal_code > "20000"Mottakerens postnummer er mindre enn 10000 og mottakerland er lik Sverige, og postnummeret er mindre enn 20000
cart_price >= 5000 or weight_kg >= 20Handlekurvverdien er større enn eller lik 5000, eller vekten er større enn eller lik 20
weight_kg >= 1.9 or volume_cm3 >= 8000Vekten er større enn 1,9 kg, eller volumet i kubikkcentimeter er større enn eller lik 8000
date > "2025-12-31"Datoen er etter 31. desember 2025
cart_price > 600 and currency = "SEK" and VIP = trueHandlekurvverdien er større enn 600, valutaen er SEK og den egendefinerte parameteren VIP er true.
Liste over gyldige operatorer
Skriving av conditions krever bruk av operatorer:
| Operator |
Forklaring |
|---|---|
| = | Er lik |
| != | Er ikke lik |
| > | Er større enn |
| >= | Er større enn eller lik |
| < | Er mindre enn |
| <= | Er mindre enn eller lik |
| | or OR | Eller |
| & or AND | Og |
| ! or NOT | Ikke |
| in | Inneholder |
Egendefinerte parametere
Her er noen eksempler på hvordan egendefinerte parametere brukes i advanced mode. Egendefinerte parametere må være aktivert under Parameters for å være tilgjengelige i advanced mode. Se Aktiver parametere.
Boolean
Egendefinerte parametere kan settes til true eller false, som i disse eksemplene:
bulky = true
b2b = true
VIP = false
Tekst
Du kan spesifisere tekst som må være til stede for en egendefinert parameter. Eksempler:
freightclass = "A"
member = “gold”
type = “nailpolish”
Condition lists
Du kan spesifisere en parameter i en condition list ved å følge formatet parametername in "conditionlistname". Eksempel:
to_postal_code in "zipcodes_zone1"
For mer informasjon om condition lists, se denne artikkelen: Kom i gang med Condition lists. Den inneholder en seksjon om bruk av condition lists i Rule engine.
Expressions
Expressions fungerer på samme måte som Conditions, men har et annet formål. Mens Conditions returnerer en boolean (true/false) for å avgjøre om en handling skal utføres, brukes Expressions til å dynamisk sette verdier i felt som priser eller meldinger. Expressions må skrives inni krøllparenteser "{}".
For eksempel kan et expression i et prisfelt bruke en egendefinert variabel fra requesten. Eller for å vise en leveringsmelding kan du skrive:
"Will be delivered on {nextWorkingDayReceiver()}"
Her er {nextWorkingDayReceiver()} expressionet. Krøllparentesene {} forteller systemet at innholdet inni skal evalueres. Hvis funksjonen returnerer "Monday", blir den endelige meldingen:
"Will be delivered on Monday"
Merk: Hvis et expression returnerer en boolean (som en condition), vil den vise "true" eller "false" som tekst, noe som kanskje ikke er ønsket resultat.
Noen funksjoner er kun tilgjengelige i expressions og ikke i conditions, fordi de avhenger av kunnskap om hvilket fraktalternativ som brukes — noe som ikke er tilgjengelig på checkout-nivå.
| Navn | Resultattype |
|---|---|
| carrierEtaFromDate | Dato |
| carrierEtaToDate or carrierEtaDate | Dato |
| carrierEtaFromDateTime | DateTime |
| carrierEtaToDateTime or carrierEtaDateTime | DateTime |
| carrierEtaFromDay | String |
| carrierEtaToDay or carrierEtaDay | String |
| carrierEtaInterval | String |
| Operator |
Forklaring |
|---|---|
| + | Addisjon |
| - | Subtraksjon |
| * | Multiplikasjon |
| / | Divisjon |
| % | Modulo |