DOCS

Regole

Regole avanzate

COMING SOON

Zonos supporta una personalizzazione avanzata di come avvengono i calcoli nel tuo account tramite l’uso di regole. Le regole possono essere usate per aggiungere buffer a diverse parti del calcolo, personalizzare le fee e altro. Per una panoramica completa di come Zonos gestisce le regole, incluso un elenco di tutti i possibili tipi di regola, consulta il nostro documento di dettaglio delle regole. Le regole possono essere gestite tramite Zonos Dashboard o tramite la GraphQL API.

Importante: Le regole sono una funzionalità avanzata e un uso improprio può causare una varietà di conseguenze indesiderate su come Zonos si comporta e calcola per te.

Per gestire le regole all’interno del Dashboard:

  1. Accedi al tuo account Zonos Dashboard.
  2. Vai a Settings -> Rules.

Nella pagina “Rules”, puoi visualizzare tutte le regole associate al tuo account Zonos, filtrare le regole e abilitare o disabilitare rapidamente le regole.

Per creare una nuova regola all’interno del Dashboard:

  1. Accedi al tuo account Zonos Dashboard.
  2. Vai a Settings -> rules.
  3. Fai clic su Create rule.
  4. Aggiungi un nome alla tua regola così da poterla identificare in seguito. Questi sono visibili solo ai membri del team della tua organizzazione.
  5. Segui i passaggi nella sezione “Specificare la condizione della regola” di seguito per aggiungere una condizione alla tua regola.
  6. Segui i passaggi nella sezione “Specificare l’azione della regola” di seguito per aggiungere un’azione alla tua regola.
  7. Facoltativamente, puoi aggiungere un commento per un contesto aggiuntivo. Questi sono visibili solo ai membri del team della tua organizzazione.
  8. Segui i passaggi di seguito per aggiungere una data di inizio e/o di fine specifica per la tua regola (facoltativo).
  9. Imposta la tua regola su Enabled o Disabled.
  10. Fai clic su Save.

Specificare date di inizio e di fine

Le regole possono facoltativamente avere una data di inizio, una data di fine o entrambe. Le date di inizio e di fine controllano quando e come la tua regola diventa attiva e possono essere usate per creare regole attive solo per periodi specifici, come sconti stagionali o altre situazioni sensibili al tempo.

Comportamento della regola

DateComportamento
Data di inizio e di fineLa regola sarà attiva tra la data di inizio e di fine specificate.
Solo una data di inizio, nessuna data di fineLa regola diventerà attiva dopo la data di inizio specificata e dovrà essere disabilitata manualmente.
Nessuna data di inizio o di fineLa regola sarà sempre attiva a meno che non venga disabilitata manualmente.

Specificare la condizione della regola

Ogni regola richiede che venga specificata una condizione per determinare a cosa si applica e quali variabili sono disponibili al momento dell’esecuzione della regola. In altre parole, la condizione determina se la regola deve essere eseguita e quando. Condizioni diverse hanno opzioni diverse disponibili.

Ad esempio, se scegli “Shipping carrier” come condizione, ti consente inoltre di selezionare quale carrier fa parte della condizione, cosa che potresti usare se stai configurando un buffer solo per un carrier specifico.

Le regole supportano solo una condizione ciascuna e non supportano logica complessa come “else if”, “and/or” o termini simili. Se vuoi concatenare regole, è meglio pensare a come potresti ottenere la stessa logica con più regole rispetto a un’unica regola gigante e complessa.

Specificare l’azione della regola

L’azione di una regola è ciò che accade una volta soddisfatta la condizione. Proprio come le condizioni, esistono una varietà di azioni possibili, ciascuna con opzioni diverse.

Ad esempio, se volevi aggiungere un buffer solo a un carrier di spedizione specifico, imposteresti l’azione su “apply a buffer” e inseriresti l’importo del buffer e a cosa si applica. Puoi quindi controllare esattamente a quale carrier si applica il buffer specificandolo nella condizione della regola.

Proprio come le condizioni, le regole supportano solo un’azione ciascuna. Se vuoi più azioni, è meglio pensare a come potresti ottenere la stessa logica con più regole rispetto a un’unica regola gigante e complessa.

L’aggiornamento delle regole in loco non è possibile con il funzionamento del nostro sistema. Questo perché dobbiamo mantenere una cronologia tracciabile di quali regole sono state applicate in quali situazioni e cosa ha fatto la regola quando è stata eseguita. In alternativa, puoi archiviare e ricreare una regola, passando i valori modificati, ottenendo di fatto un “update” della regola.

Questa mutation di esempio mostra come potresti combinare le mutation ruleArchive e ruleCreate per ottenere questo comportamento:

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}

Una volta aggiunte, le regole possono essere facilmente abilitate o disabilitate per determinare se devono influenzare i tuoi calcoli. Abilitare o disabilitare manualmente una regola sovrascriverà qualsiasi logica basata su data di inizio e di fine contenuta nella regola.

Le regole possono essere abilitate o disabilitate una alla volta dalla schermata “Edit a rule”, o in blocco usando le caselle di controllo accanto a ciascuna regola nella schermata “All rules”.

Offriamo alcune query globali per lavorare con le regole, utili per scoprire come funzionano le regole sotto il cofano, creare UI sopra le regole, ecc. Queste si applicano a tutti gli utenti, non sono specifiche dell’organizzazione e sono offerte per comodità. Questa query restituisce un elenco di tutti i possibili contesti a cui possono appartenere le regole. Un contesto di regola determina quando viene eseguita una regola e quali variabili sono disponibili.

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

Questa pagina è stata utile?