Conectores
Core

Conditional - IF

9min

Objetivo/Resumo

O Conector Condicional - IF é usado para executar ações diferentes com base em uma condição. Em resumo, o conector "IF" é uma ferramenta poderosa para criar lógica condicional, permitindo que um fluxo se adapte e tome decisões com base em diferentes cenários e condições, tornando-o mais flexível e eficiente.

Document image


Criando um fluxo utilizando o Conector Condicional - IF

Document image


Crie um fluxo e arraste o conector Condicional - IF para o canvas:

Este conector não precisa de conexão para ser usado, apenas configurar suas parametrizações de acordo com a lógica a ser implementada no fluxo.

OBS: Clique aqui e acesse nosso passo a passo para saber como criar um fluxo.

Configurando conector Condicional - IF

Selecione o conector e na aba de Parametrização e preencha os seguintes parâmetros de configuração:

  • Condição: Tipo de dado no qual será avaliada a condição. O conector dispões de quatro condições sendo elas: Data e hora, Boolean, String e Number;
  • Valor 1: Primeiro valor de entrada para avaliação da condição;
  • Operador: Operador condicional para ser apliacada no(s) valor(s) de entrada.
    • Operadores disponíveis para condição Data e hora:
      • Occurred After: Este operador verifica se uma data e hora ocorreram após outra data e hora.
      • Occurred Before: Este operador verifica se uma data e hora ocorreram antes de outra data e hora.
    • Operadores disponíveis para condição Boolean:
      • Equal: Esse operador verifica se um valor booleano é igual a outro valor booleano.
      • Not Equal: Esse operador verifica se um valor booleano NÃO é igual a outro valor booleano.
    • Operadores disponíveis para condição String:
      • Contains: Esse operador verifica se uma sequência contém um determinado substring.
      • Not Contains: Esse operador verifica se uma sequência NÃO contém um determinado substring.
      • Ends With: Esse operador verifica se uma sequência termina com um determinado sufixo.
      • Not Ends With: Esse operador verifica se uma sequência NÃO termina com um determinado sufixo.
      • Equal: Esse operador verifica se uma sequência é igual a outra sequência.
      • Not Equal: Esse operador verifica se uma sequência NÃO é igual a outra sequência.
      • Regex Match: Esse operador verifica se uma sequência corresponde a um padrão definido usando uma expressão regular.
      • Regex Not Match: Esse operador verifica se uma sequência NÃO corresponde a um padrão definido usando uma expressão regular.
      • Stars With: Esse operador verifica se uma sequência começa com um determinado prefixo.
      • Not Stars With: Esse operador verifica se uma sequência NÃO começa com um determinado prefixo.
      • Is Empty: Esse operador verifica se uma sequência está vazia (não contém caracteres).
      • Is Not Empty: Esse operador verifica se uma sequência NÃO está vazia (contém pelo menos um caractere).
    • Operadores disponíveis para condição Number:
      • Equal: Esse operador verifica se um número é igual a outro número.
      • Not Equal: Esse operador verifica se um número NÃO é igual a outro número.
      • Larger: Esse operador verifica se um número é maior que outro número.
      • Larger or Equal: Esse operador verifica se um número é maior ou igual a outro número.
      • Smaller: Esse operador verifica se um número é menor que outro número.
      • Smaller or Equal: Esse operador verifica se um número é menor ou igual a outro número.

Nota: Estes campos podem ser preenchidos usando Fluid Expression Language.

Na prática

Neste tópico criaremos um fluxo com intuito de mostrar o conector Condicional - IF na prática. O fluxo terá quatro passos porém executará apenas três, sendo eles: bloodtypes, condition, negative ou positive.

Configurando passo 'bloodtypes' (HTTP)

Document image


Este passo fará uma busca em uma api pública que retornará tipos sanguineos aleatórios, adicione a URLhttps://random-data-api.com/api/v2/blood_types ultilizando o verbo GET do conector HTTP. As configurações do nosso conector HTTP ficaram assim na aba Parametrização:

Document image


Já na aba Propriedades informamos apenas um nome ao nosso passo, pois o GET nessa api não precisa de nenhum tipo de conexão:

Document image


Configurando passo 'condition' (Conditional - IF)

Este passo irá verificar o fator do tipo sanguineo (bloodtypes) retornado pelo passo anterior (bloodtypes). Se o fator for negativo, a api retorna o sinal de - . Caso contrário,l retornará o sinal de + , indicando positivo. As configurações do nosso conector Conditional - IF ficaram assim na aba Parametrização:

Document image


Nota: Usamos Fluid Expression Language para setar o valor 1 atribuindo o valor do campo rh_factor retornado no passo anterior.



Já na aba Propriedades , informamos apenas um nome ao nosso passo, pois esse conector não ultiliza nenhuma tipo de conexão:

Document image


Configurando passos 'positive' e 'negative' (Telegram)

Esses passos irão enviar uma mensagem para o telegram informando se o fator do tipo sanguineo é positivo ou negativo de acordo com a condição do passo anterior. As configurações de ambos são idênticas pois usam a mesma conexão e enviam a mensagem para o mesmo canal. Abaixo temos as configurações do nosso conector Telegram na aba Parametrizaçãopara ambos os passos:

Document image


Na aba Propriedades , informamos o nome do passo e a conexão criada com as credênciais necessárias do Telegram (Saiba mais em Criar Conexão):

Document image


Conclusão

Após disparar o fluxo, podemos ver o resultado final nos logs que aparecerão no canvas, e clicando em Detalhes, teremos os dados da requisição e da resposta:

Document image


Mensagem recebida no Telegram:

Document image




Updated 16 Feb 2024
Doc contributor
Doc contributor
Did this page help you?