DOCS

Regler

Avancerade regler

COMING SOON

Zonos stöder avancerad anpassning av hur beräkningar sker i ert konto genom att använda regler. Regler kan användas för att lägga till buffertar i olika delar av beräkningen, anpassa avgifter och mer. För en fullständig genomgång av hur Zonos hanterar regler, inklusive en lista över alla möjliga regeltyper, se vår genomgång av regler. Regler kan hanteras via Zonos Dashboard eller via GraphQL API.

Viktigt: Regler är en avancerad funktion, och felaktig användning kan orsaka en mängd oavsiktliga konsekvenser för hur Zonos beter sig och beräknar för er.

För att hantera regler i Dashboard:

  1. Logga in på ert Zonos Dashboard-konto.
  2. Navigera till Settings -> Rules.

På sidan ”Rules” kan ni visa alla regler som är kopplade till ert Zonos-konto, filtrera regler och snabbt aktivera eller inaktivera regler.

För att skapa en ny regel i Dashboard:

  1. Logga in på ert Zonos Dashboard-konto.
  2. Navigera till Settings -> rules.
  3. Klicka på Create rule.
  4. Lägg till ett namn på er regel så att ni kan identifiera den senare. Dessa är endast synliga för teammedlemmar i er organisation.
  5. Följ stegen i avsnittet ”Ange regelvillkor” nedan för att lägga till ett villkor till er regel.
  6. Följ stegen i avsnittet ”Ange regelåtgärd” nedan för att lägga till en åtgärd till er regel.
  7. Ni kan valfritt lägga till en kommentar för ytterligare kontext. Dessa är endast synliga för teammedlemmar i er organisation.
  8. Följ stegen nedan för att lägga till ett specifikt start- och/eller slutdatum för er regel (valfritt).
  9. Ställ in er regel till antingen Enabled eller Disabled.
  10. Klicka på Save.

Ange start- och slutdatum

Regler kan valfritt ha ett startdatum, ett slutdatum eller båda. Start- och slutdatum styr när och hur er regel blir aktiv och kan användas för att skapa regler som endast är aktiva under specifika perioder, till exempel säsongsrabatter eller andra tidskänsliga situationer.

Regelbeteende

DatumBeteende
Start- och slutdatumRegeln är aktiv mellan det angivna start- och slutdatumet.
Endast startdatum, inget slutdatumRegeln blir aktiv efter det angivna startdatumet och måste inaktiveras manuellt.
Inget start- eller slutdatumRegeln är alltid aktiv om den inte inaktiveras manuellt.

Ange regelvillkor

Varje regel kräver att ett villkor anges för att avgöra vad den gäller för och vilka variabler som är tillgängliga när regeln körs. Med andra ord avgör villkoret om regeln ska köras alls och när. Olika villkor har olika tillgängliga alternativ.

Om ni till exempel väljer ”Shipping carrier” som villkor kan ni dessutom välja vilken transportör som ingår i villkoret, vilket ni kan använda om ni konfigurerar en buffert för endast en specifik transportör.

Regler stöder endast ett villkor var och stöder inte komplex logik som ”else if”, ”and/or” eller liknande termer. Om ni vill kedja regler är det bäst att fundera på hur ni kan uppnå samma logik med flera regler jämfört med en enda, komplex regel.

Ange regelåtgärd

En regels åtgärd är vad som händer när dess villkor uppfylls. Precis som villkor finns det en mängd olika möjliga åtgärder, varje med olika alternativ.

Om ni till exempel vill lägga till en buffert för endast en specifik fraktleverantör skulle ni ställa in åtgärden till ”apply a buffer” och ange beloppet för er buffert och vad den gäller för. Ni kan sedan styra exakt vilken transportör bufferten gäller för genom att ange det i regelns villkor.

Precis som villkor stöder regler endast en åtgärd var. Om ni vill ha flera åtgärder är det bäst att fundera på hur ni kan uppnå samma logik med flera regler jämfört med en enda, komplex regel.

Att uppdatera regler direkt är inte möjligt med hur vårt system fungerar. Detta beror på att vi behöver behålla en spårbar historik över vilka regler som tillämpades i vilka situationer och vad regeln gjorde när den kördes. Alternativt kan ni arkivera och återskapa en regel och ange de ändrade värdena, vilket effektivt uppnår en ”uppdatering” av regeln.

Detta exempel visar hur ni kan kombinera mutationerna ruleArchive och ruleCreate för att uppnå detta beteende:

1mutation ruleUpdate(
2$ruleId: ID!
3$action: String!
4$condition: String!
5$context: String!
6$description: String!
7$name: String!
8) {
9 ruleArchive(id: $ruleId)
10 ruleCreate(
11 input: {
12 action: $action
13 condition: $condition
14 context: $context
15 name: $name
16 description: $description
17 }
18 ) {
19 id
20 action
21 context
22 condition
23 }
24}

När de har lagts till kan regler enkelt aktiveras eller inaktiveras för att avgöra om de ska påverka era beräkningar. Att manuellt aktivera eller inaktivera en regel åsidosätter all logik baserad på start- och slutdatum som finns i regeln.

Regler kan aktiveras eller inaktiveras en och en från skärmen ”Edit a rule”, eller i bulk genom att använda kryssrutorna bredvid varje regel på skärmen ”All rules”.

Vi erbjuder några globala frågor för att hantera regler som är användbara för att upptäcka hur regler fungerar under huven, skapa användargränssnitt ovanpå regler, etc. Dessa gäller för alla användare, är inte organisationsspecifika, och erbjuds för er bekvämlighet. Denna fråga returnerar en lista över alla möjliga kontexter som regler kan tillhöra. En regelkontext avgör när en regel körs och vilka variabler som är tillgängliga.

1query {
2 ruleContexts {
3 name
4 context
5 variables {
6 ruleTokenType
7 value
8 }
9 }
10}
Boka en demo

Var den här sidan till hjälp?