InícioCasos de uso › API de WhatsApp para integrações

API de WhatsApp para integrações: conecte qualquer sistema

Se o seu sistema fala HTTP, ele fala com o zapon. Uma API REST para enviar mensagens de WhatsApp a partir dos seus eventos e webhooks para receber as respostas em tempo real — a base de qualquer integração, em qualquer linguagem, sem SDK obrigatório e sem manter sessão.

Integrar o WhatsApp a um sistema significa, na prática, conectar dois mundos que normalmente não se falam: o seu software — um ERP, um CRM, uma loja, um app interno — e o aplicativo de mensagens onde os seus clientes realmente respondem. Essa ponte tem sempre duas direções. De um lado, o seu sistema precisa enviar mensagens disparadas por eventos: um pedido pago, um chamado aberto, um cadastro novo, um vencimento próximo. Do outro, ele precisa receber de volta o que o cliente respondeu, para registrar, decidir e reagir. O zapon entrega as duas pontas com uma API REST simples para o envio e Webhooks para o recebimento — sem SDK obrigatório, sem você ter de manter a sessão do WhatsApp por conta própria.

Esta é uma página guarda-chuva: ela cobre o conceito de integração de WhatsApp via API de forma genérica, sem amarrar você a uma plataforma específica. Tudo o que está aqui vale igual se você programa em Python, Node, PHP, Go, Java ou C#, e vale igual se você usa uma ferramenta no-code como n8n ou Make. A ideia é mostrar o caminho completo — do número conectado até um fluxo de duas vias funcionando — usando os endpoints, headers e payloads reais da plataforma.

O que você vai construir

O que significa integrar o WhatsApp a um sistema?

Significa montar uma integração de duas vias: o seu sistema envia mensagens de WhatsApp por uma chamada HTTP à API do zapon e recebe cada mensagem ou evento do número conectado por um webhook. Com isso você cria notificações, confirmações, lembretes, chatbots e atendimento sem precisar de SDK e sem manter a sessão do WhatsApp você mesmo.

Ao final deste guia você terá em mente — e poderá implementar em qualquer linguagem — os dois blocos que formam praticamente toda integração de WhatsApp:

Tudo isso roda sobre um número de WhatsApp comum — não há fila de aprovação da Meta, não há templates obrigatórios, não há custo por mensagem. O número se conecta por QR Code, exatamente como o WhatsApp Web, e passa a ser pilotado pela API. O seu sistema nunca precisa saber como o WhatsApp funciona por baixo: ele só faz requisições HTTP e recebe POSTs de volta.

O que dá para integrar

O que eu consigo conectar à API de WhatsApp do zapon?

Qualquer software que faça requisições HTTP. Sistemas próprios em qualquer linguagem (Python, Node, PHP, Go, Java, C#), plataformas no-code como n8n e Make, planilhas, formulários, backends de e-commerce, CRMs, ERPs e chatbots. Como é uma API REST padrão, não existe um sistema "incompatível" — se ele consegue chamar uma URL, ele integra.

A beleza de uma API REST é a universalidade: não há um conector proprietário que precise existir para cada ferramenta. Se o seu sistema consegue abrir uma conexão HTTP, ele consegue conversar com o zapon. Na prática, isso cobre praticamente tudo:

Não importa se o seu stack é antigo ou moderno, monolítico ou serverless: a integração se resume a montar um JSON e fazer um POST. Esse é o motivo de uma API REST ser a base mais segura para construir sobre — ela envelhece bem e não te prende a um fornecedor de conector.

Passo 1 — Conecte um número e pegue o token

Como conectar um número de WhatsApp e obter o token?

No painel do zapon, crie uma conexão e leia o QR Code com o WhatsApp do número (ou use o código de pareamento). Assim que a conexão ficar online, copie o token dela — é esse token que autentica todas as chamadas de API que o seu sistema fará. Cada número tem o seu próprio token.

Antes de qualquer linha de código, o número precisa estar conectado e a conexão precisa ter um token. Esse token é a chave que o seu sistema vai usar para falar com a API — pense nele como a credencial daquele número específico.

Crie a conexão e copie o token

Dentro do painel do zapon, crie uma nova conexão. Cada conexão representa um número de WhatsApp e tem o seu próprio token — uma string única que autentica as requisições daquele número. Copie esse token e guarde-o com cuidado: nas chamadas HTTP ele entra como um header chamado token (não é Authorization, não é Bearer). Trate-o como uma senha, porque quem tem o token consegue enviar mensagens em nome do seu número.

Se você vai automatizar vários números, crie uma conexão para cada um. Cada token corresponde a um número específico, então o seu sistema escolhe de qual número a mensagem sai simplesmente trocando o valor do header — voltaremos a isso na seção de multi-número.

Conecte por QR Code ou código

Com a conexão criada, falta colocá-la online. Há dois caminhos:

Assim que o WhatsApp confirma, a conexão muda para o status online no painel. A partir daí, o zapon mantém a sessão por você: você não precisa armazenar credenciais do WhatsApp, gerenciar reconexões ou lidar com a complexidade do protocolo. O seu sistema só consome a API.

Passo 2 — Enviar por HTTP

Como enviar uma mensagem de WhatsApp pela API?

Faça um POST para https://api.zapon.dev/chat/send/text com o header token da sua conexão e um body JSON contendo Phone (o número de destino) e Body (o texto). A API entrega a mensagem e devolve um JSON com success: true e o id da mensagem.

Este é o coração de qualquer fluxo de saída — e é deliberadamente simples. Não há SDK obrigatório, não há ritual de autenticação em duas etapas: uma única chamada HTTP envia a mensagem.

O endpoint de envio de texto

Para mandar uma mensagem de texto, você faz um POST para https://api.zapon.dev/chat/send/text. A autenticação é um único header chamado token, cujo valor é o token da conexão que você copiou no Passo 1. O corpo da requisição é um JSON com dois campos: Phone, o número de destino no formato internacional (só dígitos, com DDI e DDD, por exemplo 5511999999999), e Body, o texto da mensagem.

Veja a chamada completa em curl — é o jeito mais rápido de testar a integração direto do terminal, antes mesmo de escrever uma linha no seu sistema:

enviar texto — curl
curl -X POST https://api.zapon.dev/chat/send/text \
  -H "token: SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "Phone": "5511999999999",
    "Body": "Olá! Mensagem da integração."
  }'

Ao executar, a API responde com um JSON confirmando o envio e trazendo o identificador da mensagem:

resposta da API
{
  "success": true,
  "data": {
    "id": "3EB0…"
  }
}

Esse id é útil: salve-o no seu banco ou log para rastrear cada envio e implementar idempotência — isto é, evitar mandar a mesma mensagem duas vezes se a sua rotina rodar de novo. Pronto: com essa única requisição, o fluxo de saída está completo. Daqui para a frente, o que muda entre um curl de teste e a sua aplicação é só a linguagem que monta o mesmo POST.

Passo 3 — Receber eventos por webhook

Como receber mensagens de WhatsApp no meu sistema?

Crie um endpoint HTTP público no seu sistema, copie a URL dele e cadastre-a no painel do zapon, na seção Webhook da sua conexão, marcando os eventos desejados. A partir daí, cada mensagem ou evento do número chega ao seu endpoint como um POST em tempo real — sem você precisar ficar consultando a API.

Para o fluxo de entrada, a lógica se inverte: agora é o WhatsApp que avisa o seu sistema. Isso é feito por webhook — o zapon entrega cada evento (mensagem recebida, status de entrega, etc.) via POST na URL que você indicar. A grande vantagem é que você recebe em tempo real, sem polling: nada de um loop perguntando "chegou mensagem nova?" a cada poucos segundos.

Exponha um endpoint no seu sistema

No seu back-end, crie uma rota que aceite requisições POST — por exemplo, /webhooks/zapon. Essa rota precisa estar acessível pela internet para que o zapon consiga entregar os eventos. Em produção, é a URL pública do seu servidor; em desenvolvimento, um túnel (como ngrok) resolve. O importante é que o endpoint responda rápido: registre o evento, devolva um 200 e processe o resto de forma assíncrona se houver trabalho pesado.

Logo na entrada, é comum filtrar apenas os eventos que interessam — por exemplo, processar somente mensagens recebidas de outras pessoas e ignorar as que o próprio número enviou. O payload do evento traz os dados da mensagem (remetente, texto, tipo) para o seu sistema roteirizar o que fazer.

Configure o webhook no painel do zapon

De volta ao painel do zapon, abra a sua conexão e localize a seção Webhook. Lá você:

Feito isso, mande uma mensagem de teste para o número conectado: o seu endpoint é acionado na hora, com os dados da mensagem no corpo do POST. É assim que se recebe WhatsApp no seu sistema sem polling e sem gambiarra — o evento chega quando acontece.

Exemplos por linguagem

Em qual linguagem dá para usar a API?

Em qualquer uma. Como é HTTP/REST puro, Python, Node, PHP, Go, Java e C# fazem a mesma chamada com seus clientes HTTP nativos. Não há SDK obrigatório: o que muda de uma linguagem para outra é só a sintaxe de montar o POST com o header token e o body JSON.

O envio é sempre o mesmo POST que você já viu em curl — só muda a forma de escrevê-lo. Abaixo, o mesmo envio em Node e em Python, para você ver como a tradução é direta. Em qualquer outra linguagem (PHP, Go, Java, C#), o padrão é idêntico: cliente HTTP, header token, body JSON.

Node (fetch)

enviar texto — Node
await fetch("https://api.zapon.dev/chat/send/text", {
  method: "POST",
  headers: {
    "token": "SEU_TOKEN",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    Phone: "5511999999999",
    Body: "Olá! Mensagem da integração."
  })
});

Python (requests)

enviar texto — Python
import requests

requests.post(
    "https://api.zapon.dev/chat/send/text",
    headers={"token": "SEU_TOKEN"},
    json={
        "Phone": "5511999999999",
        "Body": "Olá! Mensagem da integração."
    }
)

Repare que nenhum dos dois exemplos importa um pacote do zapon — eles usam o cliente HTTP que a linguagem já oferece. Esse é o ponto da abordagem sem SDK obrigatório: você não fica refém de uma biblioteca específica nem de atualizações dela. Se amanhã você trocar de framework ou de linguagem, a integração continua sendo o mesmo POST.

Multi-número e tempo real

Como uso vários números e recebo eventos em tempo real?

Conecte vários números na mesma conta, cada um com seu próprio token, e escolha de qual número enviar trocando o header token na chamada. Para o recebimento, use webhooks: o zapon entrega cada evento por POST no instante em que ele acontece, sem você precisar consultar a API repetidamente (polling).

Dois recursos tornam a integração escalável de verdade: o suporte a múltiplos números e a entrega de eventos em tempo real.

Multi-número por token

Cada conexão tem o seu próprio token, e o token é o que determina de qual número a mensagem sai. Isso significa que, para operar vários números na mesma conta, o seu sistema só precisa guardar um token por número e escolher qual usar na hora do envio — trocando o valor do header token. Na prática, dá para direcionar a mensagem para sair do número do vendedor responsável, do setor de cobrança ou da central de suporte, tudo a partir do mesmo código. No recebimento, o webhook de cada conexão aponta para o seu endpoint, e o payload identifica de qual número o evento veio.

Tempo real sem polling

Sistemas mal projetados ficam perguntando à API, de tempos em tempos, se há algo novo — o famoso polling. Além de desperdiçar requisições, ele introduz atraso: a mensagem do cliente fica esperando o próximo ciclo de consulta. Com webhooks, isso desaparece. O zapon empurra o evento para o seu endpoint no instante em que a mensagem chega, então o seu sistema reage na hora. Para atendimento e chatbots, essa diferença entre "saber agora" e "saber daqui a 30 segundos" é o que separa uma conversa fluida de uma experiência travada.

Boas práticas e limites

Quais os cuidados e limites ao integrar o WhatsApp pela API?

O zapon não usa a API oficial da Meta: o número conectado é um WhatsApp comum, então a saúde dele depende de você. Evite disparos em massa para quem não espera mensagem, mantenha listas com opt-in e conteúdo relevante, proteja o token como senha e implemente idempotência. O preço é R$ 27 por número, com mensagens ilimitadas.

Alguns pontos para a integração durar e funcionar bem em produção:

Perguntas frequentes

Em qual linguagem consigo usar a API?

Qualquer uma. É HTTP/REST puro — Python, Node, PHP, Go, Java, C#, todas conseguem fazer a chamada com o cliente HTTP nativo. Não há SDK obrigatório: o que muda é só a sintaxe de montar o POST.

Preciso de algum SDK do zapon?

Não. Como a API é REST padrão, basta o cliente HTTP que a sua linguagem já oferece. Você não fica preso a uma biblioteca específica nem a atualizações dela.

Preciso manter a sessão do WhatsApp eu mesmo?

Não. A conexão e a sessão são mantidas pelo zapon. Você conecta o número uma vez por QR Code e depois só consome a API; não precisa armazenar credenciais do WhatsApp nem gerenciar reconexões.

Qual a URL e o corpo para enviar uma mensagem?

A URL é https://api.zapon.dev/chat/send/text, método POST, com o header token e um body JSON contendo Phone (número de destino, só dígitos, com DDI e DDD) e Body (o texto). A resposta traz success true e o id da mensagem.

Como faço para receber mensagens no meu sistema?

Exponha um endpoint HTTP público que aceite POST e cadastre a URL dele na seção Webhook da sua conexão, no painel do zapon, marcando os eventos desejados. Cada mensagem recebida vira um POST que chega ao seu endpoint em tempo real.

Dá para usar vários números na mesma conta?

Sim. Cada conexão é um número com seu próprio token. Para enviar de um número específico, basta usar o token correspondente no header; para receber, o webhook de cada conexão aponta para o seu endpoint e o payload identifica a origem.

Preciso da API oficial da Meta ou de uma conta WhatsApp Business?

Não. O zapon conecta um número de WhatsApp comum por QR Code ou código de pareamento. Não há fila de aprovação da Meta, templates obrigatórios nem custo por mensagem.

Tem como testar antes de pagar?

Sim, 14 dias grátis sem cartão, com acesso completo à API. Dá para conectar um número, fazer os primeiros envios e receber eventos por webhook antes de assinar. Depois, são R$ 27 por número por mês, com mensagens ilimitadas.

Outros casos de uso

Conecte seu WhatsApp e comece a integrar hoje.

14 dias grátis, sem cartão. Crie a conta, leia o QR Code e use a API no seu sistema.