Bloco JavaScript (Datacrazy)
KnowledBase(KB, Base de conhecimento) do Bloco JavaScript seu Agentes de IA auxiliar você.Acesse o ChatGPT Diretamente neste Link → https://chatgpt.com/share/69d47b77-a718-83e9-8628-e85bfe0e15aa
PDF Para Claude Code → https://drive.google.com/file/d/1F7oSbACzdzzf7QS6QG9GjEkFgXzyW-XD/view?usp=sharing

O bloco <> JavaScript é um dos, se não o mais poderoso dos blocos, dado a ampla e gigantesca utilidade, podendo usar programação para validações e configurações de diferentes saídas de dados.
Este recurso pressupõe conhecimento prévio em programação.
O suporte não cobre dúvidas introdutórias sobre lógica ou código.
Dúvidas técnicas sobre funcionamento do bloco podem ser enviadas ao suporte normalmente.
Recomendação: Aprenda o básico de JavaScript — isso será um marco no uso da Datacrazy.
O que você vai aprenderComentários
Parâmetros
Variáveis e Constantes
Objetos e Arrays
GET / POST
Webhook
Dados de Lead e Negócio
Salvamento de dados
Retorno JSON
Boas práticas
ComentáriosComentários são ignorados pelo sistema.
Linha única// Isso é um comentário
Bloco/*
Tudo aqui será ignorado
Inclusive código
*/
Erro comumisso não é comentário // ❌ vai quebrar o código
VariáveisGuardam valores que podem mudar:
let fruta = 'maçã';let frutas = ["uvaBah", "banana", "maçã"];
ConstantesNão podem ser alteradas:
const nomeLead = "Tiger Allan";
Erro:
Identificador 'nomeLead' já foi declarado
Objetosconst dadosLead = {
leadName: "Tiger Allan",
leadPhone: 5547992185579
};dadosLead.leadNameawait session.setAdditionalValue("apelido", dadosLead.leadName);
Arrayslet frutas = ["uvaBah", "banana", "maçã"];frutas[0] // uvaBah
frutas[1] // banana
frutas[2] // maçãawait session.setAdditionalValue("fruta-preferida", frutas[1]);frutas[1] = "abacaxi";
GET vs POSTMétodo
Uso
GET | Buscar dados |
POST | Enviar dados |
Webhook (entrada de dados){
"dadosLead": {
"leadName": "Tiger Allan2",
"leadPhone": "5547992185579Bah",
"fruta": "uvaBah"
},
"dadosEmpresaLead": {
"nomeEmpresa": "ATECH Company",
"sloganEmpresa": "ATECH tende bem",
"urlLogo": "https://i.imgur.com/Pis9lRg.png"
},
"assets": {
"valorEmReais": 997,
"valorReaisComCentavos": 997.89,
"falida": null
}
}
Capturar dadosconst webhook = session.datasources["Api-request-1"];
Identificar Leadawait session.setValue("leadName", webhook.dadosLead.leadname);
await session.setValue("leadPhone", webhook.dadosLead.leadPhone);⚠️ Regra obrigatória:
Nome + Telefone
ou
Nome + Email
Salvar dadosawait session.setAdditionalValue("apelido", webhook.dadosLead.leadName);const webhook = await session.datasources["Api-request-1"];
await session.setValue("leadName", webhook.dadosLead.leadname);
await session.setValue("leadPhone", webhook.dadosLead.leadPhone);
await session.setAdditionalValue("apelido", webhook.dadosLead.leadName);
return {
nomeLead: await session.getValue("leadName"),
phoneLead: await session.getValue("leadPhone"),
businessId: await session.getValue("businessId")
};datasources → lê dados do webhook
setValue → identifica o lead
setAdditionalValue → salva dados
return → retorna JSON
Parâmetros disponíveis
Dependem de condicionamento no fluxo
leadId, businessId, stageId, instanceId, attendantId, productId, conversationId, threadId
leadName, leadFirstName, leadEmail, leadPhone, leadCompany, leadCity, leadState, leadZip, leadAddress, leadComplement, leadBlock, leadSite, leadTaxId, leadSource, leadSourceId, leadSourceUrl, leadCtwaId, leadNotes, birthDate
businessTotal, businessCode, businessExternalId, JSONbusinessProduct
productName, productSku, productPrice
leadAttendant, businessAttendant, ticketAttendant
currentDate, companyName, companyEmail
threadData, chatAttendant, department, threadCode
additionalFields, datasourceJsonPath
instagramCommentId, instagramMediaId, instagramCommentDate, instagramName
facebookCommentId, facebookMediaId, facebookCommentDate, facebookName
lastAiText, aiConsumedTokens
Regras JSON
Use corretamente:
string → texto
number → números
boolean → true/false
null → ausência
Evite:
"10" (número como string)
"true"
"" como vazio
undefined
NaN / Infinity
Decimais
Correto:
10.5
Errado:
10,5
"10.5"
Valores monetários
Recomendado{ "priceCents": 1050 }{ "amount": 10.5, "currency": "BRL" } Sempre use await
Valide dados antes de usar
Nomeie variáveis claramente
Use comentários
Nunca retorne JSON inválido