DOCS

Managing rules

/

Reglas avanzadas

PRÓXIMAMENTE

Zonos admite la personalización avanzada de cómo se realizan los cálculos en su cuenta a través del uso de reglas. Las reglas se pueden utilizar para agregar buffers a diferentes partes del cálculo, personalizar tarifas y más. Para obtener un desglose completo de cómo Zonos maneja las reglas, incluida una lista de todos los posibles tipos de reglas, consulte nuestro documento de desglose de reglas. Las reglas se pueden gestionar a través del Zonos Panel de control o a través de la API de GraphQL.

Importante: Las reglas son una función avanzada, y su mal uso puede causar una variedad de consecuencias no deseadas en cómo Zonos se comporta y calcula para usted.

Ver reglas

Panel de control
GraphQL

Para gestionar las reglas dentro del Panel de control:

  1. Inicie sesión en su cuenta de Zonos Panel de control.
  2. Vaya a Configuración -> Reglas.

En la página de "Reglas", puede ver todas las reglas asociadas con su cuenta de Zonos, filtrar reglas y habilitar o deshabilitar rápidamente reglas.

Crear reglas

Tablero
GraphQL

Para crear una nueva regla dentro del Tablero:

  1. Inicia sesión en tu Zonos Dashboard cuenta.
  2. Navega a Configuraciones -> reglas.
  3. Haz clic en Crear regla.
  4. Agrega un nombre a tu regla para que puedas identificarla más tarde. Estas solo son visibles para los miembros de tu organización.
  5. Sigue los pasos en la sección “Especificar condición de la regla” a continuación para agregar una condición a tu regla.
  6. Sigue los pasos en la sección “Especificar acción de la regla” a continuación para agregar una acción a tu regla.
  7. Opcionalmente, puedes agregar un comentario para contexto adicional. Estos solo son visibles para los miembros de tu organización.
  8. Sigue los pasos a continuación para agregar una fecha de inicio y/o fin específica para tu regla (opcional).
  9. Establece tu regla como Habilitada o Deshabilitada.
  10. Haz clic en Guardar.

Especificar fechas de inicio y fin

Las reglas pueden tener opcionalmente una fecha de inicio, una fecha de fin, o ambas. Las fechas de inicio y fin controlan cuándo y cómo se activa tu regla y se pueden usar para crear reglas que solo estén activas durante períodos específicos, como descuentos estacionales u otras situaciones sensibles al tiempo.

Comportamiento de la regla

FechasComportamiento
Fecha de inicio y finLa regla estará activa entre la fecha de inicio y fin especificadas.
Solo una fecha de inicio, sin fecha de finLa regla se activará después de la fecha de inicio especificada y debe ser deshabilitada manualmente.
Sin fecha de inicio o finLa regla siempre estará activa a menos que se deshabilite manualmente.

Especificar condición de la regla

Cada regla requiere que se especifique una condición para determinar a qué se aplica y qué variables están disponibles en el momento en que se ejecuta la regla. En otras palabras, la condición determina si la regla debe ejecutarse en absoluto y cuándo. Diferentes condiciones tienen diferentes opciones disponibles.

Por ejemplo, si eliges “Transportista de envío” como la condición, te permite seleccionar qué transportista es parte de la condición, que podrías usar si estás configurando un margen solo para un transportista específico.

Las reglas solo admiten una condición cada una y no admiten lógica compleja como “else if”, “y/o”, o términos similares. Si deseas encadenar reglas, es mejor pensar en cómo podrías lograr la misma lógica con múltiples reglas en comparación con una regla gigante y compleja.

Especificar acción de la regla

La acción de una regla es lo que sucede una vez que se cumple su condición. Al igual que las condiciones, hay una variedad de acciones posibles, cada una con diferentes opciones.

Por ejemplo, si quisieras agregar un margen solo a un transportista de envío específico, establecerías la acción en “aplicar un margen” e ingresarías el monto de tu margen y a qué se aplica. Luego puedes controlar a qué transportista exactamente se aplica el margen especificándolo en la condición de la regla.

Al igual que las condiciones, las reglas solo admiten una acción cada una. Si deseas múltiples acciones, es mejor pensar en cómo podrías lograr la misma lógica con múltiples reglas en comparación con una regla gigante y compleja.

Reglas de actualización

No es posible actualizar las reglas en su lugar debido a cómo funciona nuestro sistema. Esto se debe a que necesitamos mantener un historial rastreable de qué reglas se aplicaron en qué situaciones y qué hizo la regla cuando se ejecutó. Alternativamente, puede archivar y recrear una regla, pasando los valores cambiados, logrando efectivamente una "actualización" de la regla.

Este ejemplo de mutación muestra cómo podría combinar las mutaciones ruleArchive y ruleCreate para lograr este comportamiento:

Mutación

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"
}

Reglas de archivo

Tablero
GraphQL

Una vez agregadas, las reglas se pueden habilitar o deshabilitar fácilmente para determinar si deben afectar sus cálculos. Habilitar o deshabilitar manualmente una regla anulará cualquier lógica basada en fechas de inicio y fin contenida dentro de la regla.

Las reglas se pueden habilitar o deshabilitar de una en una desde la pantalla de "Editar una regla" screen, o en masa utilizando las casillas de verificación junto a cada regla en la pantalla de "Todas las reglas" screen.

Enumerar todos los posibles contextos de reglas

Ofrecemos algunas consultas globales para tratar con reglas que son útiles para descubrir cómo funcionan las reglas en el fondo, crear interfaces de usuario sobre las reglas, etc. Estas se aplican a todos los usuarios, no son específicas de una organización y se ofrecen por conveniencia. Esta consulta devuelve una lista de todos los contextos posibles a los que pueden pertenecer las reglas. Un contexto de regla determina cuándo se ejecuta una regla y qué variables están disponibles.

Consulta

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

Respuesta

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"
          }
        ]
      }
    ]
  }
}

¿Fue útil esta página?