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ó).
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 comasynce utilizar o operadorawaitnas chamadas do Axios, garantindo que oreturnfinal 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 = {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?

