Pular para o conteúdo
Link Zap Pro

Documentação da API

Integre o Link Zap Pro com seu CRM, automações (n8n, Make) ou sistema próprio.

Autenticação

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

StatusSignificado
401Chave ausente, inválida ou revogada
402Limite do plano atingido
403Plano sem acesso à API ou vencido
404Registro não encontrado
422Dados inválidos
429Muitas chamadas por minuto (aguarde o tempo do cabeçalho Retry-After)

Rotas

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)

Webhooks

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": { ... }
}
EventoQuando acontece
click.createdClique registrado
lead.createdContato deixado na lista de espera
group.fullUm grupo lotou
all_groups.fullTodos os grupos de um link lotaram
number.limit_reachedUm número atingiu o limite diário

Conferindo a assinatura

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.