DOCS

Managing rules

/

Regras avançadas

EM BREVE

Zonos suporta a personalização avançada de como os cálculos ocorrem em sua conta através do uso de regras. As regras podem ser usadas para adicionar buffers a diferentes partes do cálculo, personalizar taxas e muito mais. Para obter uma explicação completa de como o Zonos lida com as regras, incluindo uma lista de todos os possíveis tipos de regras, consulte nossa documentação de detalhamento de regras. As regras podem ser gerenciadas via Zonos Dashboard ou através da API GraphQL.

Importante: As regras são um recurso avançado, e o uso indevido pode causar uma variedade de consequências indesejadas na forma como o Zonos se comporta e calcula para você.

Visualizar regras

Dashboard
GraphQL

Para gerenciar regras dentro do Dashboard:

  1. Faça login em sua conta do Zonos Dashboard.
  2. Navegue até Configurações -> Regras.

Na página "Regras", você pode visualizar todas as regras associadas à sua conta do Zonos, filtrar regras e habilitar ou desabilitar rapidamente as regras.

Criar regras

Dashboard
GraphQL

Para criar uma nova regra dentro do Dashboard:

  1. Faça login na sua conta do Zonos Dashboard.
  2. Navegue até Configurações -> regras.
  3. Clique em Criar regra.
  4. Adicione um nome à sua regra para que você possa identificá-la mais tarde. Esses nomes são visíveis apenas para os membros da sua organização.
  5. Siga os passos na seção “Especificar condição da regra” abaixo para adicionar uma condição à sua regra.
  6. Siga os passos na seção “Especificar ação da regra” abaixo para adicionar uma ação à sua regra.
  7. Opcionalmente, você pode adicionar um comentário para contexto adicional. Esses comentários são visíveis apenas para os membros da sua organização.
  8. Siga os passos abaixo para adicionar uma data de início e/ou fim específica para sua regra (opcional).
  9. Defina sua regra como Ativada ou Desativada.
  10. Clique em Salvar.

Especificar datas de início e fim

As regras podem opcionalmente ter uma data de início, uma data de fim ou ambas. As datas de início e fim controlam quando e como sua regra se torna ativa e podem ser usadas para criar regras que estão ativas apenas por períodos específicos, como descontos sazonais ou outras situações sensíveis ao tempo.

Comportamento da regra

DatasComportamento
Data de início e fimA regra estará ativa entre a data de início e a data de fim especificadas.
Apenas uma data de início, sem data de fimA regra se tornará ativa após a data de início especificada e deve ser desativada manualmente.
Sem data de início ou fimA regra estará sempre ativa, a menos que seja desativada manualmente.

Especificar condição da regra

Toda regra requer que uma condição seja especificada para determinar a que ela se aplica e quais variáveis estão disponíveis no momento em que a regra é executada. Em outras palavras, a condição determina se a regra deve ser executada e quando. Diferentes condições têm diferentes opções disponíveis.

Por exemplo, se você escolher “Transportadora” como a condição, isso permite que você selecione qual transportadora faz parte da condição, o que você pode usar se estiver configurando um buffer apenas para uma transportadora específica.

As regras suportam apenas uma condição cada, e não suportam lógica complexa como “senão se”, “e/ou” ou termos semelhantes. Se você quiser encadear regras, é melhor pensar em como você poderia alcançar a mesma lógica com várias regras em comparação com uma única regra gigante e complexa.

Especificar ação da regra

A ação de uma regra é o que acontece uma vez que sua condição é atendida. Assim como as condições, há uma variedade de ações possíveis, cada uma com diferentes opções.

Por exemplo, se você quiser adicionar um buffer apenas para uma transportadora específica, você definiria a ação como “aplicar um buffer” e inseriria o valor do seu buffer e a que ele se aplica. Você pode então controlar exatamente a qual transportadora o buffer se aplica especificando isso na condição da regra.

Assim como as condições, as regras suportam apenas uma ação cada. Se você quiser várias ações, é melhor pensar em como você poderia alcançar a mesma lógica com várias regras em comparação com uma única regra gigante e complexa.

Regras de atualização

Atualizar regras em vigor não é possível com o funcionamento do nosso sistema. Isso ocorre porque precisamos manter um histórico rastreável de quais regras foram aplicadas em quais situações e o que a regra fez quando foi executada. Alternativamente, você pode arquivar e recriar uma regra, passando os valores alterados, alcançando efetivamente uma "atualização" da regra.

Esta mutação de exemplo mostra como você pode combinar as mutações ruleArchive e ruleCreate para alcançar esse comportamento:

Mutação

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

Variáveis

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

Regras de arquivo

Painel de controle
GraphQL

Uma vez adicionadas, as regras podem ser facilmente ativadas ou desativadas para determinar se devem afetar seus cálculos. Ativar ou desativar manualmente uma regra substituirá qualquer lógica baseada em data de início e término contida na regra.

As regras podem ser ativadas ou desativadas individualmente na tela de “Editar uma regra” screen, ou em massa usando as caixas de seleção ao lado de cada regra na tela de “Todas as regras” screen.

Listar todos os contextos de regra possíveis

Oferecemos algumas consultas globais para lidar com regras que são úteis para descobrir como as regras funcionam internamente, criar interfaces de usuário em cima das regras, etc. Estas se aplicam a todos os usuários, não são específicas da organização e são oferecidas por conveniência. Esta consulta retorna uma lista de todos os contextos possíveis aos quais as regras podem pertencer. Um contexto de regra determina quando uma regra é executada e quais variáveis estão disponíveis.

Consulta

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

Resposta

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

Esta página foi útil?