CONECTOR · API

API do FappZap para o seu sistema

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

Chave, endereço e escopo

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.

  • Endereço: https://<seu-fappzap>/api/conector/v1 — o mesmo endereço do painel.
  • Autenticação: cabeçalho x-fappzap-key: <sua chave> em toda chamada.
  • Corpo: JSON, com Content-Type: application/json.
  • Escopos: mensagens, conversas, fluxos, contatos, chamados.
  • Telefone: com DDI e DDD, só números (ex.: 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."}'
RespostaQuando
401Falta o cabeçalho, ou a chave não existe ou foi revogada.
403A chave existe mas não tem o escopo da rota (o corpo diz qual).
400Corpo inválido: campo faltando ou fora do tamanho.
404Contato, fluxo ou chamado não encontrado.

ROTAS

O que o seu sistema pode fazer

Enviar mensagem — POST /mensagens · escopo mensagens

Manda texto para um telefone (abre a conversa se não houver) ou para uma conversa que já existe.

CampoTipo
telefone ou conversationIdtextoum dos dois é obrigatório
textotexto, até 4.000obrigatório
nome, setorId, linhaIdtextoopcionais

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.

Abrir conversa — POST /conversas · escopo conversas

Campos: telefone (obrigatório), nome, setorId, linhaId. Resposta 201: {"conversationId": "…"}.

Criar lead — POST /leads · escopo conversas

Cria 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": "…"}.

Disparar fluxo — POST /fluxos/{id}/disparar · escopo fluxos

Roda um fluxo publicado para um telefone ou conversa. Campos: telefone ou conversationId, e variaveis (objeto, opcional). Resposta 202: {"conversationId", "fluxo", "versao", "encerrou"}.

Consultar contato — GET /contatos/{telefone} · escopo contatos

Devolve nome, telefone, e-mail, etiquetas e as 5 conversas mais recentes (situação, setor, última atualização).

Abrir chamado — POST /chamados · escopo chamados

O chamado cai na triagem com o selo do seu sistema. Mandar o mesmo idExterno de novo devolve o mesmo chamado — não duplica.

CampoTipo
idExternotexto, até 100obrigatório — a identificação no seu sistema
telefonetextoobrigatório — o cliente
descricaotexto, 3 a 500obrigatório
prioridadeBAIXA · NORMAL · ALTA · URGENTEpadrão NORMAL
equipamento{"serie", "apelido"}opcional — liga ao equipamento da ficha técnica
nome, origemtextoopcionais — origem vira o selo
avisarClientesim/nãopadrã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 }

Consultar chamado — GET /chamados/{idExterno} · escopo chamados

Mesma resposta acima: situação, prazo e o link de acompanhamento do cliente.

WEBHOOKS

Avisos que o FappZap manda ao seu sistema

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.

EventoQuandoDados
mensagem.recebidachega mensagem do clienteconversationId, messageId, tipo, texto, telefone, linha
conversa.encerradaa conversa é encerradaconversationId, encerradaPor, setorId
conversa.tabuladaum fluxo tabula a conversaconversationId, tabulacao, tabulationId
fluxo.concluidoum fluxo terminarunId, conversationId
csat.respondidoo cliente dá a nota do atendimentoconversationId, contactId, nota, comentario, operadorId
chamado.criadoum chamado é aberto — pelo cliente, pela equipe, pelo monitoramento ou por outro sistemanumero, idExterno, origem, canal, status, situacao, descricao, prioridade, prazo, contactId, conversationId
chamado.atualizadoo chamado é aceito, recusado ou muda de situaçãonumero, 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": { … } }
  • Assinatura: 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).
  • Responda 2xx em até 10 segundos. Sem resposta ou com 5xx, o FappZap tenta de novo mais 2 vezes (depois de 2 s e de 8 s). Com 4xx, não repete: o erro é de quem recebe.
  • O último erro de entrega aparece na tela do webhook, no painel.
// 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

O que perguntam antes de integrar

Em qual plano está a API?

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.

O FappZap também chama a API do meu sistema?

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.

A API manda mensagem fora da janela de 24 horas da Meta?

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.

Como integro um sistema de monitoramento ou helpdesk?

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

PRÓXIMO PASSO

Pergunte o que a sua área de TI ou o seu jurídico quer saber

Respondemos pelo WhatsApp, e mostramos na demonstração onde cada coisa fica no painel.