DOCS

Règles

Règles avancées

COMING SOON

Zonos prend en charge la personnalisation avancée de la façon dont les calculs s'effectuent dans votre compte grâce aux règles. Les règles peuvent servir à ajouter des tampons à différentes parties du calcul, personnaliser les frais, et plus encore. Pour une description complète de la gestion des règles par Zonos, y compris la liste de tous les types de règles possibles, consultez notre documentation sur les règles. Les règles peuvent être gérées via Zonos Dashboard ou via l'API GraphQL.

Important : Les règles sont une fonctionnalité avancée, et une mauvaise utilisation peut entraîner diverses conséquences involontaires sur le comportement et les calculs de Zonos pour vous.

Pour gérer les règles dans Dashboard :

  1. Connectez-vous à votre compte Zonos Dashboard.
  2. Accédez à Settings -> Rules.

Sur la page « Rules », vous pouvez consulter toutes les règles associées à votre compte Zonos, filtrer les règles et activer ou désactiver rapidement les règles.

Pour créer une nouvelle règle dans Dashboard :

  1. Connectez-vous à votre compte Zonos Dashboard.
  2. Accédez à Settings -> rules.
  3. Cliquez sur Create rule.
  4. Ajoutez un nom à votre règle pour pouvoir l'identifier ultérieurement. Ces noms ne sont visibles que par les membres de l'équipe de votre organisation.
  5. Suivez les étapes de la section « Specify rule condition » ci-dessous pour ajouter une condition à votre règle.
  6. Suivez les étapes de la section « Specify rule action » ci-dessous pour ajouter une action à votre règle.
  7. Facultativement, vous pouvez ajouter un commentaire pour un contexte supplémentaire. Ces commentaires ne sont visibles que par les membres de l'équipe de votre organisation.
  8. Suivez les étapes ci-dessous pour ajouter une date de début et/ou de fin spécifique à votre règle (facultatif).
  9. Définissez votre règle sur Enabled ou Disabled.
  10. Cliquez sur Save.

Définir les dates de début et de fin

Les règles peuvent facultativement avoir une date de début, une date de fin, ou les deux. Les dates de début et de fin contrôlent quand et comment votre règle devient active et peuvent servir à créer des règles actives uniquement pour des périodes spécifiques, comme des remises saisonnières ou d'autres situations sensibles au temps.

Comportement des règles

DatesComportement
Date de début et de finLa règle sera active entre les dates de début et de fin spécifiées.
Uniquement une date de début, sans date de finLa règle deviendra active après la date de début spécifiée et devra être désactivée manuellement.
Aucune date de début ou de finLa règle sera toujours active sauf si elle est désactivée manuellement.

Définir la condition de la règle

Chaque règle nécessite une condition pour déterminer à quoi elle s'applique et quelles variables sont disponibles au moment où la règle s'exécute. En d'autres termes, la condition détermine si la règle doit s'exécuter et quand. Différentes conditions offrent différentes options.

Par exemple, si vous choisissez « Shipping carrier » comme condition, vous pouvez également sélectionner quel transporteur fait partie de la condition, ce que vous pourriez utiliser si vous configurez un tampon pour un transporteur spécifique uniquement.

Les règles ne supportent qu'une seule condition chacune et ne supportent pas la logique complexe telle que « else if », « and/or » ou des termes similaires. Si vous souhaitez enchaîner des règles, il est préférable de réfléchir à la façon d'obtenir la même logique avec plusieurs règles plutôt qu'avec une seule règle géante et complexe.

Définir l'action de la règle

L'action d'une règle est ce qui se produit une fois sa condition remplie. Tout comme pour les conditions, il existe diverses actions possibles, chacune avec des options différentes.

Par exemple, si vous souhaitiez ajouter un tampon à un transporteur spécifique uniquement, vous définissez l'action sur « apply a buffer » et saisissez le montant de votre tampon et ce à quoi il s'applique. Vous pouvez ensuite contrôler précisément à quel transporteur le tampon s'applique en le spécifiant dans la condition de la règle.

Comme pour les conditions, les règles ne supportent qu'une seule action chacune. Si vous souhaitez plusieurs actions, il est préférable de réfléchir à la façon d'obtenir la même logique avec plusieurs règles plutôt qu'une seule règle géante et complexe.

La mise à jour des règles sur place n'est pas possible avec le fonctionnement de notre système. En effet, nous devons conserver un historique traçable des règles qui ont été appliquées dans quelles situations et de ce que la règle a fait lors de son exécution. Vous pouvez cependant archiver et recréer une règle en transmettant les valeurs modifiées, ce qui revient effectivement à effectuer une « mise à jour » de la règle.

Cette mutation d'exemple montre comment combiner les mutations ruleArchive et ruleCreate pour obtenir ce comportement :

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}

Une fois ajoutées, les règles peuvent être facilement activées ou désactivées pour déterminer si elles doivent affecter vos calculs. L'activation ou la désactivation manuelle d'une règle remplacera toute logique basée sur les dates de début et de fin contenue dans la règle.

Les règles peuvent être activées ou désactivées une par une depuis l'écran « Edit a rule », ou en masse en utilisant les cases à cocher à côté de chaque règle sur l'écran « All rules ».

Nous proposons des requêtes globales pour gérer les règles, utiles pour découvrir le fonctionnement interne des règles, créer des interfaces utilisateur basées sur les règles, etc. Elles s'appliquent à tous les utilisateurs, ne sont pas spécifiques à une organisation, et sont proposées par commodité. Cette requête renvoie une liste de tous les contextes possibles auxquels les règles peuvent appartenir. Un contexte de règle détermine quand une règle s'exécute et quelles variables sont disponibles.

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

Cette page a-t-elle été utile?