API Comportamental
IACRM v1
REST API completa para integrar inteligência comportamental neural, análise de sentimento, gestão de leads, campanhas omnichannel e automações em qualquer sistema.
A API suporta dois métodos: JWT (para usuários do painel) e API Key (para integrações externas). Todas as requisições devem incluir o header Authorization.
POST /auth/login. Válido por 7 dias. Para usuários do painel admin.Authorization: Bearer {TOKEN_OU_API_KEY}// Autenticação via API Key (recomendado para integrações) const headers = { 'Authorization': 'Bearer sk_live_sua_api_key_aqui', 'Content-Type': 'application/json' }; // Autenticação via login (painel admin) const login = async () => { const resp = await fetch('https://api.iacrm.com.br/api/crm/auth/login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email: 'seu@email.com', senha: 'senha' }) }); const { data } = await resp.json(); return data.token; // JWT válido por 7 dias };
Limites por plano para garantir estabilidade. Respostas com status 429 incluem o header Retry-After com o tempo de espera em segundos.
X-RateLimit-Limit: 5000 X-RateLimit-Remaining: 4847 X-RateLimit-Reset: 1714000000 Retry-After: 60 // apenas em respostas 429
Todas as respostas de erro retornam JSON com o campo error descrevendo o problema.
{
"ok": false,
"error": "nome_empresa obrigatório"
}
Autentica um usuário do painel e retorna JWT com dados do tenant.
| Campo | Tipo | Req | Descrição |
|---|---|---|---|
| string | * | E-mail do usuário | |
| senha | string | * | Senha do usuário |
{
"ok": true,
"data": {
"token": "eyJ...",
"user": { "id": "uuid", "nome": "João", "papel": "admin" },
"tenant": { "id": "uuid", "nome": "Empresa", "plano": "pro" }
}
}
Gerencie o pipeline de leads com filtros, busca e paginação.
| Campo | Tipo | Req | Descrição |
|---|---|---|---|
| status | string | — | novo | contatado | qualificado | convertido | perdido |
| origem | string | — | manual | site | api | whatsapp | indicacao |
| busca | string | — | Busca por nome, email ou whatsapp |
| limit | integer | — | Padrão: 100. Máx: 500 |
| offset | integer | — | Para paginação. Padrão: 0 |
const leads = await fetch('https://api.iacrm.com.br/api/v1/leads?status=novo&limit=50', { headers: { 'Authorization': 'Bearer SUA_API_KEY' } }); const { data, total } = await leads.json(); // data: array de leads, total: contagem total
| Campo | Tipo | Req | Descrição |
|---|---|---|---|
| nome_empresa | string | * | Nome da empresa do lead |
| string | — | E-mail de contato | |
| string | — | Número WhatsApp (com DDD) | |
| cidade | string | — | Cidade |
| uf | string | — | Estado (ex: SP, SE) |
| segmento | string | — | Segmento do lead |
| origem | string | — | Origem da captação. Padrão: "manual" |
| tags | string[] | — | Array de tags |
| dados_extra | object | — | JSON livre para campos personalizados |
const resp = await fetch('https://api.iacrm.com.br/api/v1/leads', { method: 'POST', headers: { 'Authorization': 'Bearer SUA_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ nome_empresa: 'Agência Criativa Ltda', email: 'contato@agencia.com.br', whatsapp: '79999290865', cidade: 'Aracaju', uf: 'SE', origem: 'site', tags: ['site', 'formulario'], dados_extra: { utm_source: 'google', utm_campaign: 'crm' } }) }); const { data } = await resp.json(); console.log(data.id); // UUID do lead criado
| Campo | Tipo | Req | Descrição |
|---|---|---|---|
| id | uuid | * | UUID do lead |
| Campo | Tipo | Descrição |
|---|---|---|
| status | string | novo | contatado | qualificado | convertido | perdido |
| score_comportamento | integer | 0–100. Score neural de comportamento |
| tags | string[] | Substitui array de tags atual |
| dados_extra | object | Merge com dados_extra existente |
Envio de mensagens, templates e análise de sentimento via Meta Cloud API.
| Campo | Tipo | Req | Descrição |
|---|---|---|---|
| telefone | string | * | Número com DDD (sem + ou espaços) |
| mensagem | string | * | Texto da mensagem livre |
await fetch('https://api.iacrm.com.br/api/v1/whatsapp/send', { method: 'POST', headers: { 'Authorization': 'Bearer SUA_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ telefone: '79999290865', mensagem: 'Olá! Vi seu interesse em nosso CRM. Posso ajudar?' }) });
| Campo | Tipo | Descrição |
|---|---|---|
| etiqueta | string | novo | lead | cliente | vip | bloqueado |
| busca | string | Busca por nome ou telefone |
| limit | integer | Padrão: 50 |
| Campo | Tipo | Req | Descrição |
|---|---|---|---|
| texto | string | — | Texto a analisar. Se omitido, usa últimas msgs do contato |
| contato_id | uuid | — | ID do contato WhatsApp para análise automática |
{
"ok": true,
"data": {
"interesse": 82, // 0-100
"urgencia": 58, // 0-100
"hesitacao": 35, // 0-100
"confianca": 71, // 0-100
"entusiasmo": 64, // 0-100
"frustracao": 12, // 0-100
"intencao_compra": 76, // 0-100
"perfil": "hot", // hot | warm | cold
"acao_recomendada": "Abordar agora com proposta",
"confianca_modelo": 91 // precisão da análise
}
}
Geração automática de posts, e-mails, artigos e newsletters com Google Gemini.
| Campo | Tipo | Req | Descrição |
|---|---|---|---|
| plataforma | string | * | instagram | linkedin | blog | email | twitter | facebook | tiktok |
| tema | string | * | Tema do conteúdo a gerar |
| tom | string | — | profissional | descontraido | tecnico | inspiracional |
| publico | string | — | Descrição do público-alvo |
| cta | string | — | Call-to-action desejado |
Inicie e gerencie automações que se adaptam ao sentimento neural em tempo real.
| Campo | Tipo | Req | Descrição |
|---|---|---|---|
| tipo | string | * | boas_vindas | nutricao | reativacao | pos_venda | upsell | nps |
| string | — | E-mail do contato para a jornada | |
| string | — | Telefone WhatsApp | |
| lead_id | uuid | — | Vincular a um lead existente |
| passos | object[] | — | Sequência personalizada de passos |
// Iniciar jornada de boas-vindas com passos customizados await fetch('/api/crm/jornadas', { method: 'POST', headers: { 'Authorization': 'Bearer TOKEN', 'Content-Type': 'application/json' }, body: JSON.stringify({ tipo: 'boas_vindas', email: 'cliente@empresa.com', whatsapp: '79999290865', passos: [ { canal: 'whatsapp', conteudo: 'Bem-vindo! 🎉', intervalo_horas: 0 }, { canal: 'email', assunto: 'Primeiros passos', conteudo: '<p>...</p>', intervalo_horas: 24 }, { canal: 'whatsapp', conteudo: 'Como está indo? Precisa de ajuda?', intervalo_horas: 72 } ] }) });
Crie e dispare campanhas em múltiplos canais com segmentação por cluster IA.
| Campo | Tipo | Req | Descrição |
|---|---|---|---|
| nome | string | * | Nome da campanha |
| tipo | string | * | email | whatsapp | sms | multi |
| conteudo | string | — | Corpo da mensagem ou HTML |
| agendado_para | datetime | — | ISO 8601. Se omitido, cria como rascunho |
Dispara a campanha imediatamente para todos os destinatários segmentados. O disparo é assíncrono — a requisição retorna imediatamente enquanto o envio acontece em background.
Pesquisas de satisfação com análise semântica automática das respostas abertas.
Retorna todas as campanhas NPS com total de respostas e score calculado automaticamente.
| Campo | Tipo | Req | Descrição |
|---|---|---|---|
| nota | integer | * | 0 a 10 |
| comentario | string | — | Resposta aberta |
| string | — | E-mail do respondente |
KPIs consolidados de toda a plataforma em uma única chamada.
{
"data": {
"leads": { "total": 2847, "porStatus": { "novo": 312 }, "scoreMedio": 64 },
"clientes": { "total": 89, "ativos": 76, "mrr": 48320 },
"pipeline": { "total": 143, "valor": 284000, "porEtapa": { "proposta": 28 } },
"whatsapp": { "totalContatos": 1247, "naoLidas": 34 },
"jornadas": { "ativas": 67, "total": 189 },
"nps": { "score": 72 }
}
}
Análise comportamental da base e consultas em linguagem natural para a IA.
| Campo | Tipo | Req | Descrição |
|---|---|---|---|
| pergunta | string | * | Pergunta de negócio em linguagem natural |
const r = await fetch('/api/crm/insights/ia', { method: 'POST', headers: { 'Authorization': 'Bearer TOKEN', 'Content-Type': 'application/json' }, body: JSON.stringify({ pergunta: 'Qual segmento de cliente tem a maior taxa de conversão?' }) }); const { data } = await r.json(); console.log(data.resposta); // resposta IA em texto
Configure uma URL para receber eventos em tempo real. O IACRM envia um POST com payload JSON assinado com HMAC-SHA256.
X-Webhook-Secret: {seu_secret}X-Webhook-Event: lead.novo{
"evento": "lead.novo",
"dados": {
"id": "uuid-do-lead",
"nome_empresa": "Agência XYZ",
"email": "contato@agencia.com"
},
"timestamp": "2026-04-25T14:30:00Z",
"tenant_id": "uuid-do-tenant"
}
Todos os eventos que o IACRM pode disparar para sua URL configurada.
Cliente leve para Node.js e browser. Instale via npm ou copie o arquivo.
npm install @iacrm/sdk
import { IACRM } from '@iacrm/sdk'; const crm = new IACRM({ apiKey: 'sk_live_sua_key' }); // Criar lead const lead = await crm.leads.create({ nome_empresa: 'Startup XYZ', email: 'ceo@startup.com', origem: 'site' }); // Analisar sentimento const analise = await crm.sentimento.analisar({ texto: 'Estou muito interessado mas preciso de aprovação do board' }); console.log(analise.perfil); // "warm" console.log(analise.acao_recomendada); // "Enviar business case" // Iniciar jornada await crm.jornadas.iniciar({ tipo: 'boas_vindas', email: lead.email, lead_id: lead.id });
pip install iacrm
from iacrm import IACRM crm = IACRM(api_key="sk_live_sua_key") # Criar lead lead = crm.leads.create( nome_empresa="Empresa ABC", email="contato@empresa.com", whatsapp="79999290865" ) # Análise de sentimento resultado = crm.sentimento.analisar( texto="Preciso urgente de uma solução, estamos perdendo clientes" ) print(resultado.urgencia) # 89 print(resultado.perfil) # "hot" # Listar leads com filtro leads = crm.leads.listar(status="qualificado", limit=50) for lead in leads.data: print(lead.nome_empresa, lead.score_comportamento)
Chamadas diretas via terminal para testar a API rapidamente.
curl -X POST https://api.iacrm.com.br/api/v1/leads \ -H "Authorization: Bearer SUA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "nome_empresa": "Empresa Teste", "email": "teste@empresa.com", "whatsapp": "79999290865", "origem": "api" }'
curl -X POST https://api.iacrm.com.br/api/crm/whatsapp/sentimento \ -H "Authorization: Bearer SEU_JWT" \ -H "Content-Type: application/json" \ -d '{"texto": "Tenho interesse mas o budget está apertado esse trimestre"}'
curl -X POST https://api.iacrm.com.br/api/v1/conteudo/gerar \ -H "Authorization: Bearer SUA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "plataforma": "linkedin", "tema": "Como IA comportamental aumenta vendas em 340%", "tom": "profissional" }'
curl -X POST https://api.iacrm.com.br/api/v1/whatsapp/send \ -H "Authorization: Bearer SUA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "telefone": "79999290865", "mensagem": "Olá! Vimos seu interesse no IACRM. Posso apresentar uma demo?" }'