GET/api/v1/me
Dados da conta, plano e cliques do mês.
Integre o Link Zap Pro com seu CRM, automações (n8n, Make) ou sistema próprio.
Gere sua chave em Painel → Integrações → API e envie em todas as chamadas no cabeçalho Authorization. Endereço base:
https://chatwhats.online/api/v1
curl https://chatwhats.online/api/v1/me \ -H "Authorization: Bearer lzp_sua_chave"
As respostas são sempre JSON. Sucesso: {"data": ...} (listas paginadas trazem também meta). Erro: {"error": {"code": "...", "message": "..."}}.
| Status | Significado |
|---|---|
| 401 | Chave ausente, inválida ou revogada |
| 402 | Limite do plano atingido |
| 403 | Plano sem acesso à API ou vencido |
| 404 | Registro não encontrado |
| 422 | Dados inválidos |
| 429 | Muitas chamadas por minuto (aguarde o tempo do cabeçalho Retry-After) |
GET/api/v1/me
Dados da conta, plano e cliques do mês.
GET/api/v1/numbers
Lista os números de WhatsApp.
POST/api/v1/numbers
Cadastra um número.
{"label": "Ana — Vendas", "phone": "5541999990000", "attendant_name": "Ana", "daily_limit": 50} POST/api/v1/numbers/{id}/status
Liga ou pausa um número.
{"active": false} GET/api/v1/chat-links
Lista os links de conversa com os números de cada um.
GET/api/v1/group-links
Lista os links de grupos com a ocupação de cada grupo.
POST/api/v1/groups/{id}/members
Informa quantas pessoas o grupo tem agora. O sistema continua contando a partir desse número.
{"members": 812} GET/api/v1/clicks
Cliques registrados (mais recentes primeiro).
Parâmetros na URL: from, to (AAAA-MM-DD), link_type (chat|group), link_id, page, per_page (máx. 200)
GET/api/v1/leads
Contatos da lista de espera.
Parâmetros na URL: page, per_page
GET/api/v1/stats
Total de cliques por dia no período.
Parâmetros na URL: from, to (AAAA-MM-DD)
Cadastre um endereço em Painel → Integrações → Webhooks. A cada evento enviamos um POST em JSON:
{
"event": "click.created",
"created_at": "2026-01-15T14:32:10-03:00",
"data": { ... }
}
| Evento | Quando acontece |
|---|---|
| click.created | Clique registrado |
| lead.created | Contato deixado na lista de espera |
| group.full | Um grupo lotou |
| all_groups.full | Todos os grupos de um link lotaram |
| number.limit_reached | Um número atingiu o limite diário |
Cada envio leva o cabeçalho X-LinkZap-Signature: sha256=…, que é o HMAC-SHA256 do corpo recebido usando o segredo do seu webhook. Exemplo em PHP:
$corpo = file_get_contents('php://input');
$esperada = 'sha256=' . hash_hmac('sha256', $corpo, 'whsec_seu_segredo');
if (!hash_equals($esperada, $_SERVER['HTTP_X_LINKZAP_SIGNATURE'] ?? '')) {
http_response_code(401);
exit;
}
$evento = json_decode($corpo, true);
Responda com status 2xx em até 8 segundos. Se falhar, tentamos de novo após 1 min, 5 min, 30 min, 2 h e 6 h.