Pular para o conteúdo
ZapinApi

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.

INTEGRE AO SEU SISTEMAAPI REST
POST /v1/instances/{id}/messages/textcurl
# 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."}'
01 / Conecte02 / Integre03 / Envie

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

  1. Passo 1: Crie uma instância

    No painel ou pela API. Cada instância é um número de WhatsApp com token próprio.

  2. Passo 2: Leia o QR Code

    Abra o WhatsApp no celular, em Dispositivos conectados, e leia o QR Code. Pronto: está conectado.

  3. 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.

Terminalcurl
# 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.jsjavascript
// 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.

Comparar planos e preços →

Quem usa

O que dizem os clientes

Exemplo ilustrativo — substituir antes do lançamento
  • “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.

Teste 7 dias grátis