Pular para o conteúdo principal

Nó Executor de Código

O nó Executor de Código permite rodar scripts personalizados dentro do seu fluxo. É a ferramenta para transformar dados, realizar cálculos complexos ou aplicar lógicas de negócio que não são cobertas pelos nós padrão.

Nó Executor de Código no Canvas

Configuração

No painel de configuração você define as entradas, o código e as saídas.

Painel de Configuração de Código

1. Variáveis de Entrada

Defina quais dados o seu código vai receber.

  • Nome do campo: O nome da variável que será usada dentro do código (ex: texto, numero1).
  • Valor: De onde vem o dado (ex: {{ entrada.mensagem }}).

2. Editor de Código

Escolha a linguagem (Python ou Node.js) e escreva sua lógica.

Estrutura Obrigatória (Python):

def main(arg1, arg2):
# Sua lógica aqui
resultado = arg1 + arg2
return {
"soma": resultado
}

Estrutura Obrigatória (Node.js):

export function main(arg1, arg2) {
// Sua lógica aqui
const resultado = arg1 + arg2;
return {
soma: resultado
};
}

Atenção: Os nomes dos argumentos da função main devem bater exatamente com os nomes definidos nas "Variáveis de Entrada".

3. Variáveis de Saída

Mapeie o retorno do seu código para variáveis do fluxo.

  • Nome da Saída: Como essa variável será chamada nos próximos nós (ex: resultado_final).
  • Chave do Return: Qual chave do dicionário/objeto retornado pelo código deve ser pega (ex: soma).

Exemplos de Uso

Tratamento de Datas (Python)

Converter uma data americana (YYYY-MM-DD) para brasileira (DD/MM/YYYY).

  • Entrada: data_americana = 2023-12-25
  • Código:
def main(data_americana):
ano, mes, dia = data_americana.split('-')
return {
"data_br": f"{dia}/{mes}/{ano}"
}

  • Saída: Mapeie data_formatada para a chave data_br.

Cálculos Matemáticos

Calcular o valor total de um pedido com imposto.

  • Entradas: valor (100), taxa (0.1)
  • Código:
def main(valor, taxa):
total = valor * (1 + taxa)
return {
"total": round(total, 2)
}

Manipulação de Listas

Filtrar uma lista de produtos para pegar apenas os que custam mais de 50.

  • Entrada: lista_produtos (Array de objetos)
  • Código:
def main(lista_produtos):
filtrados = [p for p in lista_produtos if p['preco'] > 50]
return {
"produtos_caros": filtrados,
"quantidade": len(filtrados)
}