Rules
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.
- 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);
- function: informe a função desejada ;
- params: informe os parametros necessarios de acordo com a função selecionada;
- description: usado para documentar a rule;
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 Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/SQFOhjDazmvGy0pL4Lnq2_image.png?format=webp)
Por ser mandatória, essa rule determina se o passo vai ser executado ou não.
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 Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/6s_VqxSxF2lVQLwi6aVbh_image.png?format=webp)
No exemplo a seguir é aplicado um regexp no valor retornado pelo produto.codigo
![Document image Document image](https://images.archbee.com/G1NTw6yAi4RDUYbsU8csp/prfcGGoOrrT9BjV54Ud84_image.png?format=webp)
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: