API REST + webhooks
API de WhatsApp para o seu sistema
Conecte um número de WhatsApp lendo um QR Code e envie texto, mídia, enquetes, listas e cobranças Pix com uma requisição HTTP. Receba mensagens e status de entrega no seu webhook.
7 dias com recursos PRO, sem cartão de crédito. Planos a partir de R$ 24,90 por instância/mês.
API não oficial. Sem vínculo com o WhatsApp ou a Meta. Spam e disparo em massa são proibidos e podem levar ao bloqueio do número.
# TOKEN=wai_... (token da instância, exibido uma única vez no painel)
curl -X POST "https://api.zapinapi.duckdns.org/v1/instances/$INSTANCE_ID/messages/text" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"to": "5511999999999", "text": "Olá! Seu pedido saiu para entrega."}'Para quem
Feita para quem integra WhatsApp no próprio sistema
Sistemas e SaaS
ERPs, CRMs e plataformas que querem avisar clientes pelo WhatsApp sem montar infraestrutura própria.
E-commerce
Confirmação de pedido, código de rastreio, carrinho abandonado e cobrança via Pix.
Atendimento e chatbots
Receba mensagens por webhook, responda pelo seu bot e passe para um atendente quando precisar.
Agências e integradores
Uma instância por cliente, cada uma com token e webhook próprios, cobrança por instância.
Como funciona
Do cadastro à primeira mensagem em 3 passos
Passo 1: Crie uma instância
No painel ou pela API. Cada instância é um número de WhatsApp com token próprio.
Passo 2: Leia o QR Code
Abra o WhatsApp no celular, em Dispositivos conectados, e leia o QR Code. Pronto: está conectado.
Passo 3: Chame a API
Envie mensagens com uma requisição HTTP e receba eventos no seu webhook.
Código
Enviar uma mensagem de texto
Autentique com o token da instância (Bearer wai_…) e envie um POST para /v1/instances/{id}/messages/text. O cabeçalho Idempotency-Key evita envio duplicado se você repetir a chamada.
# TOKEN=wai_... (token da instância, exibido uma única vez no painel)
curl -X POST "https://api.zapinapi.duckdns.org/v1/instances/$INSTANCE_ID/messages/text" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"to": "5511999999999", "text": "Olá! Seu pedido saiu para entrega."}'// Node 18+ (fetch nativo). WHATSAPP_TOKEN=wai_...
const instanceId = process.env.INSTANCE_ID;
const resposta = await fetch(
`https://api.zapinapi.duckdns.org/v1/instances/${instanceId}/messages/text`,
{
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WHATSAPP_TOKEN}`,
"Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID(),
},
body: JSON.stringify({
to: "5511999999999",
text: "Olá! Seu pedido saiu para entrega.",
}),
},
);
if (!resposta.ok) throw new Error(`Falha no envio: ${resposta.status}`);
console.log(await resposta.json());Recursos
LITE para o essencial, PRO para mensagens interativas
LITE · R$ 24,90/instância/mês
- Mensagens de texto ilimitadas
- Imagem, áudio, vídeo, documento e figurinha
- Localização e contato (vCard)
- Responder citando, reagir e apagar
- Webhooks com assinatura HMAC
- Contatos e grupos
PRO · R$ 39,90/instância/mês
Tudo do LITE, mais:
- Enquetes
- Listas (menu)
- Botões de ação
- Botões de resposta
- Cobrança via Pix
Se o WhatsApp recusar um formato interativo, a mensagem é enviada como texto e a resposta da API indica o fallback — nunca há falha silenciosa.
Quem usa
O que dizem os clientes
“Integramos o envio de confirmações de pedido em uma tarde.”
Nome do cliente — Cargo, Empresa (exemplo) (depoimento ilustrativo) “O webhook com assinatura facilitou muito validar o que chega no nosso sistema.”
Nome do cliente — Cargo, Empresa (exemplo) (depoimento ilustrativo) “Cobrança por instância deixou simples repassar o custo para cada cliente.”
Nome do cliente — Cargo, Empresa (exemplo) (depoimento ilustrativo)
Dúvidas
Perguntas frequentes
É a API oficial do WhatsApp?
Não. O ZapinApi é uma API não oficial, sem vínculo com o WhatsApp ou a Meta. Ela conecta o seu número como um dispositivo vinculado, como o WhatsApp Web. Para casos que exigem a API oficial (WhatsApp Business Platform), procure um provedor oficial da Meta.
Meu número pode ser bloqueado?
Pode. O WhatsApp pode bloquear números que violem as regras dele, sobretudo por spam, disparo em massa ou mensagens para quem não pediu. Use a API para conversas que o seu cliente espera receber; spam e disparo em massa são proibidos nos nossos termos.
Preciso deixar o celular ligado?
Não depois de vincular. Você lê o QR Code uma vez com o WhatsApp do celular e a instância continua conectada no servidor. O celular precisa entrar na internet de vez em quando para manter o vínculo ativo.
Como recebo as mensagens?
Por webhook. Você cadastra uma URL HTTPS e recebe cada evento (mensagem recebida, status de entrega, votos em enquete, respostas de botão) com assinatura HMAC e identificador estável para tratar duplicidades.
O que é uma instância?
É um número de WhatsApp conectado à API. Cada instância tem o próprio token e o próprio webhook, e a cobrança é feita por instância.
O teste grátis pede cartão?
Não. São 7 dias com 1 instância e todos os recursos PRO, sem cartão. Basta confirmar o e-mail.
Conecte seu primeiro número hoje
7 dias grátis, 1 instância, todos os recursos PRO. Sem cartão.