CONECTOR · API
Seu sistema manda mensagem, cria lead, dispara fluxo e abre chamado no FappZap — e recebe um aviso assinado quando chega mensagem, fecha conversa ou o chamado muda de situação.
COMEÇAR
A API faz parte do módulo Conector (plano Avançado e Corporativo). O administrador cria uma chave em Configurações → Integrações e APIs → Conector (API), escolhendo o que ela pode fazer (os escopos). A chave aparece uma vez só: guarde-a no seu sistema.
https://<seu-fappzap>/api/conector/v1 — o mesmo endereço do painel.x-fappzap-key: <sua chave> em toda chamada.Content-Type: application/json.mensagens, conversas, fluxos, contatos, chamados.5527999998888).curl -X POST https://suaempresa.fappzap.cloud/api/conector/v1/mensagens \
-H "x-fappzap-key: SUA_CHAVE" -H "Content-Type: application/json" \
-d '{"telefone":"5527999998888","texto":"Seu pedido saiu para entrega."}'
| Resposta | Quando |
|---|---|
401 | Falta o cabeçalho, ou a chave não existe ou foi revogada. |
403 | A chave existe mas não tem o escopo da rota (o corpo diz qual). |
400 | Corpo inválido: campo faltando ou fora do tamanho. |
404 | Contato, fluxo ou chamado não encontrado. |
ROTAS
POST /mensagens · escopo mensagensManda texto para um telefone (abre a conversa se não houver) ou para uma conversa que já existe.
| Campo | Tipo | |
|---|---|---|
telefone ou conversationId | texto | um dos dois é obrigatório |
texto | texto, até 4.000 | obrigatório |
nome, setorId, linhaId | texto | opcionais |
Resposta 201: {"conversationId": "…", "messageId": "…"}. A mensagem sai pelo mesmo funil do painel, com as regras da Meta (janela de 24 h na API oficial) e o DLP.
POST /conversas · escopo conversasCampos: telefone (obrigatório), nome, setorId, linhaId. Resposta 201: {"conversationId": "…"}.
POST /leads · escopo conversasCria ou completa o contato (só preenche o que estiver vazio), abre a conversa na primeira etapa do Funil e deixa a nota como mensagem interna. Não manda nada ao cliente.
Campos: telefone e nome (obrigatórios), empresa, email, origem, nota (até 2.000). Resposta 201: {"conversationId": "…"}.
POST /fluxos/{id}/disparar · escopo fluxosRoda um fluxo publicado para um telefone ou conversa. Campos: telefone ou conversationId, e variaveis (objeto, opcional). Resposta 202: {"conversationId", "fluxo", "versao", "encerrou"}.
GET /contatos/{telefone} · escopo contatosDevolve nome, telefone, e-mail, etiquetas e as 5 conversas mais recentes (situação, setor, última atualização).
POST /chamados · escopo chamadosO chamado cai na triagem com o selo do seu sistema. Mandar o mesmo idExterno de novo devolve o mesmo chamado — não duplica.
| Campo | Tipo | |
|---|---|---|
idExterno | texto, até 100 | obrigatório — a identificação no seu sistema |
telefone | texto | obrigatório — o cliente |
descricao | texto, 3 a 500 | obrigatório |
prioridade | BAIXA · NORMAL · ALTA · URGENTE | padrão NORMAL |
equipamento | {"serie", "apelido"} | opcional — liga ao equipamento da ficha técnica |
nome, origem | texto | opcionais — origem vira o selo |
avisarCliente | sim/não | padrão não — avisar o cliente no WhatsApp |
Resposta 201 (novo) ou 200 (já existia, "repetido": true):
{ "numero": 128, "idExterno": "alerta-991", "status": "TRIAGEM", "situacao": "Em triagem",
"prazo": null, "concluidoEm": null, "equipamentoVinculado": true,
"link": "https://…/acompanhar/…", "repetido": false }
GET /chamados/{idExterno} · escopo chamadosMesma resposta acima: situação, prazo e o link de acompanhamento do cliente.
WEBHOOKS
O administrador cadastra, em Configurações → Integrações e APIs → Conector (API), uma URL por evento e, se quiser, um segredo. Há um botão para mandar um aviso de teste.
| Evento | Quando | Dados |
|---|---|---|
mensagem.recebida | chega mensagem do cliente | conversationId, messageId, tipo, texto, telefone, linha |
conversa.encerrada | a conversa é encerrada | conversationId, encerradaPor, setorId |
conversa.tabulada | um fluxo tabula a conversa | conversationId, tabulacao, tabulationId |
fluxo.concluido | um fluxo termina | runId, conversationId |
csat.respondido | o cliente dá a nota do atendimento | conversationId, contactId, nota, comentario, operadorId |
chamado.criado | um chamado é aberto — pelo cliente, pela equipe, pelo monitoramento ou por outro sistema | numero, idExterno, origem, canal, status, situacao, descricao, prioridade, prazo, contactId, conversationId |
chamado.atualizado | o chamado é aceito, recusado ou muda de situação | numero, idExterno, origem, status, situacao, texto, prazo, concluidoEm |
Cada aviso é um POST em JSON:
POST https://seu-sistema/webhook
x-fappzap-evento: chamado.atualizado
x-fappzap-signature: sha256=5d1c…
{ "evento": "chamado.atualizado", "em": "2026-09-29T14:03:11.402Z", "dados": { … } }
x-fappzap-signature = sha256= + HMAC-SHA256 do corpo exato recebido, com o segredo cadastrado. Confira antes de confiar no aviso, sobre o corpo cru (sem reformatar o JSON).// Node.js — conferir a assinatura
const crypto = require('crypto');
const esperado = 'sha256=' + crypto.createHmac('sha256', SEGREDO).update(corpoCru).digest('hex');
const ok = crypto.timingSafeEqual(Buffer.from(esperado), Buffer.from(req.headers['x-fappzap-signature'] || ''));
PERGUNTAS FREQUENTES
No módulo Conector, que vem nos planos Avançado e Corporativo. No teste grátis de 30 dias todos os módulos estão liberados, então dá para integrar antes de assinar.
Chama. Um fluxo pode fazer uma requisição à API do seu sistema no meio do atendimento, com credenciais guardadas no Conector — por exemplo, consultar um pedido pelo CPF e responder o cliente.
Pela API oficial da Meta, fora da janela só vai modelo aprovado — a regra é da Meta e vale igual para o painel e para a API. Pelos números de QR Code não há janela.
Abra o chamado com POST /chamados usando o id do alerta como idExterno — repetir não duplica — e assine o aviso chamado.atualizado para fechar o alerta do seu lado quando o técnico resolver.
CONTINUE LENDO
Atendimento no WhatsApp com IA, vários números e fluxos.
IA que responde pela sua base, entende áudio e passa para uma pessoa quando precisa.
Vários números e a equipe inteira na mesma tela, com setores e fila.
O que muda entre a API oficial do WhatsApp e o QR Code, e quanto a Meta cobra.
109 conversas em 30 dias, 99% respondidas, primeira resposta em 2,1 minutos.
Revenda o FappZap com o nome, o logo e as cores da sua empresa.
Onde ficam os dados, quem vê o quê e como a LGPD é atendida.
FappZap, Fapp GE e Servillo conversando: boleto pelo bot, chamado vira OS.
Tirar o atendimento do celular de uma pessoa só, sem virar projeto de TI.
PRÓXIMO PASSO
Respondemos pelo WhatsApp, e mostramos na demonstração onde cada coisa fica no painel.