DOCS

Managing rules

/

Règles avancées

BIENTÔT DISPONIBLE

Zonos prend en charge la personnalisation avancée de la manière dont les calculs se font dans votre compte grâce à l'utilisation de règles. Les règles peuvent être utilisées pour ajouter des tampons à différentes parties du calcul, personnaliser les frais, et plus encore. Pour une description complète de la manière dont Zonos gère les règles, y compris une liste de tous les types de règles possibles, consultez notre document de décomposition des règles. Les règles peuvent être gérées via le 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 non intentionnelles sur le comportement et les calculs de Zonos pour vous.

Voir les règles

Tableau de bord
GraphQL

Pour gérer les règles dans le tableau de bord :

  1. Connectez-vous à votre compte Zonos Dashboard.
  2. Accédez à Paramètres -> Règles.

Sur la page "Règles", vous pouvez voir toutes les règles associées à votre compte Zonos, filtrer les règles, et activer ou désactiver rapidement les règles.

Créer des règles

Tableau de bord
GraphQL

Pour créer une nouvelle règle dans le Tableau de bord :

  1. Connectez-vous à votre Zonos Tableau de bord compte.
  2. Accédez à Paramètres -> règles.
  3. Cliquez sur Créer une règle.
  4. Ajoutez un nom à votre règle afin de pouvoir l'identifier plus tard. Ceux-ci ne sont visibles que par les membres de votre organisation.
  5. Suivez les étapes dans la section “Spécifier la condition de la règle” ci-dessous pour ajouter une condition à votre règle.
  6. Suivez les étapes dans la section “Spécifier l'action de la règle” ci-dessous pour ajouter une action à votre règle.
  7. En option, vous pouvez ajouter un commentaire pour un contexte supplémentaire. Ceux-ci ne sont visibles que par les membres de votre organisation.
  8. Suivez les étapes ci-dessous pour ajouter une date de début et/ou de fin spécifique pour votre règle (optionnel).
  9. Définissez votre règle sur Activée ou Désactivée.
  10. Cliquez sur Enregistrer.

Spécifier les dates de début et de fin

Les règles peuvent avoir en option 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 être utilisées pour créer des règles qui ne sont actives que pendant des périodes spécifiques, telles que des réductions saisonnières ou d'autres situations sensibles au temps.

Comportement de la règle

DatesComportement
Date de début et de finLa règle sera active entre la date de début et la date de fin spécifiées.
Seulement une date de début, pas de date de finLa règle deviendra active après la date de début spécifiée et doit être désactivée manuellement.
Pas de date de début ou de finLa règle sera toujours active à moins d'être désactivée manuellement.

Spécifier la condition de la règle

Chaque règle nécessite qu'une condition soit spécifiée 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 ont différentes options disponibles.

Par exemple, si vous choisissez “Transporteur” comme condition, cela vous permet de sélectionner quel transporteur fait partie de la condition, ce que vous pourriez utiliser si vous mettez en place un tampon pour un transporteur spécifique.

Les règles ne prennent en charge qu'une seule condition chacune et ne prennent pas en charge une logique complexe telle que “sinon si”, “et/ou”, ou des termes similaires. Si vous souhaitez enchaîner des règles, il est préférable de réfléchir à la manière dont vous pourriez atteindre la même logique avec plusieurs règles par rapport à une seule règle géante et complexe.

Spécifier l'action de la règle

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

Par exemple, si vous souhaitez ajouter un tampon à un transporteur spécifique, vous définiriez l'action sur “appliquer un tampon” et entreriez le montant de votre tampon et à quoi il s'applique. Vous pouvez ensuite contrôler exactement à quel transporteur le tampon s'applique en le spécifiant dans la condition de la règle.

Tout comme les conditions, les règles ne prennent en charge qu'une seule action chacune. Si vous souhaitez plusieurs actions, il est préférable de réfléchir à la manière dont vous pourriez atteindre la même logique avec plusieurs règles par rapport à une seule règle géante et complexe.

Règles de mise à jour

Il n'est pas possible de mettre à jour les règles en place avec le fonctionnement de notre système. Cela est dû au fait que nous devons conserver un historique traçable des règles qui ont été appliquées dans quelles situations et ce que la règle a fait lorsqu'elle a été exécutée. En alternative, vous pouvez archiver et recréer une règle, en passant les valeurs modifiées, ce qui permet d'effectuer effectivement une "mise à jour" de la règle.

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

Mutation

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

Variables

1
2
3
4
5
6
7
8
{
  "ruleId": "rule_935ee1ca-0c4d-4147-826a-1cb0894d9f43",
  "action": "amount = amount + 5 % amount",
  "condition": "ship_to_country == CA",
  "context": "SHIPMENT_RATING_BUFFER",
  "description": "test",
  "name": "test"
}

Règles d'archivage

Tableau de bord
GraphQL

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. Activer ou désactiver manuellement une règle remplacera toute logique basée sur la date 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 à partir de l'onglet "Modifier une règle" screen, ou en masse en utilisant les cases à cocher à côté de chaque règle sur l'onglet "Toutes les règles" screen.

Répertorier tous les contextes de règle possibles

Nous proposons quelques requêtes globales pour traiter les règles, qui sont utiles pour découvrir comment les règles fonctionnent en interne, créer des interfaces utilisateur basées sur les règles, etc. Ces requêtes s'appliquent à tous les utilisateurs, ne sont pas spécifiques à une organisation et sont proposées pour des raisons de 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.

Requête

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

Réponse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{
  "data": {
    "ruleContexts": [
      {
        "name": "SHIPMENT_RATING_BUFFER",
        "context": "buffer",
        "variables": [
          {
            "ruleTokenType": "MONEY",
            "value": "amount"
          },
          {
            "ruleTokenType": "NUMBER",
            "value": "item_count"
          },
          {
            "ruleTokenType": "MONEY",
            "value": "items_total"
          },
          {
            "ruleTokenType": "COUNTRY",
            "value": "ship_from_country"
          },
          {
            "ruleTokenType": "COUNTRY",
            "value": "ship_to_country"
          },
          {
            "ruleTokenType": "WEIGHT",
            "value": "weight"
          },
          {
            "ruleTokenType": "STRING",
            "value": "service_level"
          },
          {
            "ruleTokenType": "STRING",
            "value": "carrier"
          }
        ]
      }
    ]
  }
}

Cette page était-elle utile?


Des questions ?

Contactez-nous.