Canvas
Parametrizações

Rules

6min

Conceito

As rules por padrão são definidas usando JsonLogic, com objetivo de transformação de dados e/ou atribuição de regras ou condições de negocios em um determinado passo.

Estrutura

JSON

  • idRule: nome da rule a ser ultilizada, separar com underscore se necessario (campo obrigatório);
  • rule: json logic que será usado na tratativa dessa rule (campo obrigatório);
  • type: define o tipo da rule, altualmente os tipos disponivels são (campo obrigatório):
    • mandatory: executa a rule antes das internal e retorna "true" ou "false" pode determinar se um passo vai ser executado ou não;
    • internal: indica que o retorno dela pode sofrer alteração no valor do campo onde ela é chamada;
  • regexp: possibilida aplicar expressão regular:
    • expression: campo onde deve ser informado a expressão regular;
    • method: indica o metodo a ser aplicado na expressão, atualmente temos disponivel o replaceAllString . Se este campo for vazio será executado um findString por padrão;
    • param: parametro a ser passado no method;
  • returnType: define o tipo do retorno da rule (int, string, float ou datetime);
  • generic: possibilita usar funções genericas criadas pela Fluid (saiba mais):
    • function: informe a função desejada ;
    • params: informe os parametros necessarios de acordo com a função selecionada;
  • description: usado para documentar a rule;

Exemplos de Rules

Mandatória

O exemplo a seguir demostra uma rule cuja objetivo é validar se o retorno de um passo anterior "busca-pedido" é diferente de vazio, se for é retornado um "true", se não for é retornado um "falso".



Document image


Por ser mandatória, essa rule determina se o passo vai ser executado ou não.

Interna

Rules usada para transformação de dados.

O exemplo a seguir verifica qual a situação do pedido e com isso, seta um valor no campo onde ela esta sendo referênciada no de/para:



Document image


Usando regexp

No exemplo a seguir é aplicado um regexp no valor retornado pelo produto.codigo



Document image


Usando returnType e generic

No exemplo a seguir é usado o returnType para determinar o tipo do retorno e o generic, passando a função ManipulateDate para formatar a data do valor retornado pelo args.last_modified_date para um tipo RFC3339:



JSON