QANode Logo

Nó If

O nó If permite criar desvios condicionais no fluxo. Ele avalia uma expressão e direciona a execução para o caminho true (verdadeiro) ou false (falso).


Visão Geral

PropriedadeValor
Tipoif
CategoriaControle de Fluxo
Cor🟡 Amarelo (#f59e0b)
Entradain
Saídastrue, false

Configuração

Modo Simples

No modo simples, você escreve uma expressão JavaScript que será avaliada como verdadeira ou falsa:

Campo: Condição

{{ steps["http-request"].outputs.status === 200 }} 

A expressão tem acesso ao contexto de execução:

  • steps — Outputs de nós anteriores
  • variables — Variáveis globais

Exemplos:

// Verificar status HTTP
{{ steps["http-request"].outputs.status === 200}} 

// Verificar se texto contém valor
{{ steps.extract.outputs.extracts.title.includes("Bem-vindo") }}

// Verificar valor numérico
{{ steps.query.outputs.rowCount > 0 }} 

// Verificar booleano
{{ variables.featureEnabled === true }} 

// Combinação com AND/OR
{{ steps.api.outputs.status  === 200 && steps.api.outputs.json.active  === true }}

Modo Visual Builder

O modo visual permite construir condições sem escrever código:

CampoDescriçãoExemplo
CampoExpressão a ser avaliadasteps["http-request"].outputs.status
OperadorOperação de comparação===
ValorValor esperado200
LógicaOperador entre condiçõesAND / OR

Operadores disponíveis:

OperadorDescrição
===Igual (estrito)
!==Diferente (estrito)
==Igual (com conversão)
!=Diferente (com conversão)
>Maior que
<Menor que
>=Maior ou igual
<=Menor ou igual
includesContém (para strings)
startsWithComeça com
endsWithTermina com

Você pode adicionar múltiplas condições combinadas com AND (todas devem ser verdadeiras) ou OR (pelo menos uma deve ser verdadeira).


Outputs

OutputTipoDescrição
_branchstringO caminho tomado: "true" ou "false"

Comportamento

  1. A expressão é avaliada usando os dados do contexto atual
  2. Se o resultado for truthy (verdadeiro, número > 0, string não vazia), a saída true é ativada
  3. Se o resultado for falsy (false, 0, null, undefined, string vazia), a saída false é ativada
  4. Nós conectados ao caminho não ativado serão pulados

Exemplo Prático

Verificar resposta de API

[HTTP Request: GET /api/user/1]
    │
    ▼
[If: status === 200]
    │ true → [Log: "Usuário encontrado: {{ steps["http-request"].outputs.json.name }}"]
    │ false → [Log: "Usuário não encontrado"] → [Stop and Fail]

Validação de dados

[PostgreSQL: SELECT count(*) FROM orders WHERE user_id = '123']
    │
    ▼
[If: rowCount > 0]
    │ true → [Log: "Pedidos encontrados"]
    │ false → [Log: "Nenhum pedido"]

Dicas

  • Use o modo visual builder quando possível — é mais legível e menos propenso a erros
  • Nomeie o nó de forma descritiva: "Se login bem-sucedido", "Se registro existe"
  • Lembre-se que expressões {{ }} são avaliadas antes da comparação
  • Para condições complexas, considere usar um nó Custom JavaScript antes e avaliar o resultado no If