For the complete documentation index, see llms.txt. This page is also available as Markdown.

Código

Visão Geral

O Componente de Código Executável JavaScript (identificado internamente como code) é um nó de ação avançado projetado para estender os recursos nativos da plataforma por meio de programação ativa. Sua função principal é executar scripts customizados em ambiente isolado (sandbox), permitindo realizar cálculos matemáticos complexos, limpar ou reformatar strings de texto, manipular arrays de dados e integrar-se com sistemas externos.

Regras Mandatórias de Desenvolvimento: 1. Consumo de APIs Externas: Sempre que houver a necessidade de efetuar requisições HTTP/HTTPS (como métodos GET, POST, PUT ou DELETE) para servidores terceiros dentro do script, é obrigatório o uso da biblioteca Axios (nativamente injetada no escopo global do nó).

  1. Persistência de Dados no Fluxo: O uso da instrução return é estritamente obrigatório no encerramento do script. Sem o retorno explícito de um objeto ou variável, o motor de execução descarta o processamento e não repassa os dados calculados para os blocos subsequentes da automação.

Parâmetros de Configuração

A parametrização do nó é simplificada e concentrada na janela de codificação direta:

  • Código: Área com sintaxe destacada (syntax highlighting) onde o desenvolvedor ou administrador digita o bloco de script em JavaScript (ECMAScript moderno) que será submetido à compilação do motor.

Construtor Visual

A interface gráfica foca no isolamento e na autonomia técnica do desenvolvedor dentro do construtor de fluxos:

  • Editor de Código Embutido: O construtor oferece um terminal textual limpo contendo numeração de linhas e recortes rápidos para facilitar a colagem e validação de algoritmos. Dispensa seletores de canais ou arquivos de mídia, operando puramente no core lógico do sistema.

  • Mapeamento de Saídas de Payload: No mapa visual de automação, o bloco apresenta uma porta de entrada e uma de saída contínua. Ao salvar o script estruturado com o return, o editor disponibiliza a variável resultante do componente como metadado legível para os nós vizinhos na árvore de decisão.

Operadores Especiais

As propriedades lógicas deste componente gerenciam a captura de variáveis locais e chamadas assíncronas:

  • Injeção de Contexto Global ($data): O interpretador JavaScript do componente concede acesso total ao objeto $data. Isso permite que o código leia qualquer variável armazenada previamente no fluxo (ex: $data.nome, $data.telefone, ou payloads de respostas de perguntas anteriores) diretamente dentro das expressões do script.

  • Resolução Assíncrona via Promessas (async/await): Para garantir o correto processamento de requisições externas sem congelar o motor, o nó é preparado para interpretar escopos assíncronos. O desenvolvedor pode estruturar funções com async e utilizar o operador await nas chamadas do Axios, garantindo que o return final aguarde a resposta da API externa.

Examples Práticos

A tabela abaixo demonstra cenários clássicos de aplicação do componente utilizando a sintaxe correta com Axios e retorno de dados:

Objetivo do Script

Código JavaScript Configurado no Construtor

Comportamento do Motor da Plataforma

Caso de Uso Prático

Manipulação de String Local

const nome = $data.nome; const nomeMaiusculo = nome.toUpperCase(); return { nome_formatado: nomeMaiusculo };

Captura a variável do CRM, transforma as letras em maiúsculas usando JS nativo e devolve o novo formato para o fluxo.

Padronizar nomes de leads no banco de dados antes de enviar uma notificação formal por e-mail.

Integração Externa com Axios

const cep = data.cep;<br><br><br><br>constresposta=awaitaxios.get(https://viacep.com.br/ws/data.cep;<br><br> <br><br>const resposta = await axios.get(`https://viacep.com.br/ws/{cep}/json/`); return { endereco: resposta.data };

Executa uma chamada síncrona externa usando Axios com base no CEP do cliente e retorna o objeto completo de endereço.

Localizar a rua e o bairro de um cliente de forma 100% autônoma após ele digitar o CEP no Webchat.

Cálculo Matemático Condicional

const valorTotal = $data.total_carrinho; const desconto = valorTotal * 0.10; return { valor_desconto: desconto, total_final: valorTotal - desconto };

Realiza equações matemáticas na memória do servidor e injeta os dois resultados como variáveis utilizáveis no fluxo.

Calcular dinamicamente um desconto de 10% na jornada e repassar o valor exato para o link de pagamento do cliente.

Atualizado

Isto foi útil?