API REST para o WhatsApp · Cloud API oficial

WhatsApp oficial, sem a complexidade da Meta.

Uma API REST simples para integrar o WhatsApp ao seu sistema pela Cloud API da Meta.

Conecte o número pela janela da Meta, crie uma chave e envie com POST /v1/messages. A Chasque cuida da conexão, das novas tentativas, dos logs e dos erros. Você cuida da regra de negócio.

Estamos em beta fechado: a entrada é por convite. Entrar na lista de espera →

  • Cloud API oficial, sem App Review próprio
  • Número novo ou o do app, com Coexistence
  • Webhooks assinados, com novas tentativas por 7 dias
  • Campanhas com opt-in declarado
  • Docs em português, preço em reais
POST /v1/messages
curl -X POST https://api.chasque.com.br/v1/messages \
  -H "Authorization: Bearer chq_live_…" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "from": "pn_01J…",
    "to": "+5511900000000",
    "type": "template",
    "template": {
      "name": "pedido_enviado",
      "language": "pt_BR",
      "variables": ["Ana", "#1234"]
    }
  }'
201 Created "id": "msg_01J…", "status": "accepted"
  1. Na fila
  2. Enviado
  3. Entregue
  4. Lido

Cada mudança chega no seu webhook, assinada, ou em GET /v1/messages/{id}.

Para quem

Os recados que o seu sistema já precisa mandar

Para quem desenvolve ou mantém um sistema que fala com cliente: loja, agenda, cobrança, login. Cada caso usa um recurso da API que já existe hoje.

Pedidos e entregas

"Pedido confirmado", "saiu para entrega" e a nota fiscal em PDF, por URL. Quando o cliente responde "chegou?", a mensagem cai no seu webhook.

template pedido_enviado → message.received

Agendamentos e lembretes

Lembrete de consulta ou serviço com botões de resposta rápida. "Confirmar" e "Remarcar" voltam como mensagem no webhook, prontos para a sua regra.

quick_reply "Confirmar" → message.received

Códigos de verificação

Template de autenticação com botão de copiar o código e validade definida por você. O texto é o padrão da Meta, aprovado mais rápido.

template codigo_verificacao · "482913"

Cobrança e documentos

"Sua fatura de outubro está disponível", com o boleto anexado por URL pública e nome de arquivo. Sem upload prévio na Meta.

type: "document" · boleto-outubro.pdf

Precisa falar com muita gente de uma vez? Campanhas disparam um template aprovado para uma lista com opt-in, no ritmo do número.

Meta × Chasque

A Meta entrega o WhatsApp. A Chasque entrega a integração.

Você pode integrar direto na Cloud API da Meta. A Chasque existe para tirar do seu time a infraestrutura e a operação que vêm junto, usando a mesma API oficial.

Direto na Metafica com o seu time

  • App na Meta, Business Verification, tokens e permissões
  • Graph API e as mudanças de versão
  • Recepção e validação dos webhooks
  • Novas tentativas quando o seu endpoint cai, sem histórico
  • Códigos de erro numéricos: 131047 e o fórum para descobrir que a janela de 24 h fechou
  • Templates e o que a Meta recusa
  • Logs, métricas e painel para a operação

Com a Chasquejá vem pronto

  • Conexão do número pela janela da Meta; o app e a verificação são da Chasque
  • Uma API REST enxuta, com uma chave e Idempotency-Key
  • Webhooks assinados, novas tentativas por 7 dias, histórico de cada entrega e reenvio manual
  • Erros traduzidos: window_closed e a frase "envie um template"
  • Templates pela API ou no painel, com prévia e checklist do que a Meta recusa
  • Painel com logs, métricas, cota do mês e qualidade do número
  • Documentação e atendimento em português

Você integra. A Chasque cuida da camada operacional.

Como funciona

Do zero à primeira mensagem entregue em quatro passos

Os mesmos passos do tutorial do painel, que acompanha a sua primeira mensagem ao vivo até "Lido".

  1. Conecte um número

    Número pela janela da Meta, novo ou o que já está no app, com Coexistence. Cada número conta no limite do plano.

    pn_01J… · ativo
  2. Crie uma chave de API

    No painel, em um clique. A chave aparece uma vez e fica guardada só como hash. Revogue quando quiser.

    chq_live_••••3f9a
  3. Envie com uma chamada

    Texto, template e mídia por URL. raw repassa o objeto da Meta e o wamid volta na hora.

    POST /v1/messages → 201
  4. Receba tudo no webhook

    Status, respostas dos clientes e mídia chegam assinados no seu endpoint. Ou consulte por GET /v1/messages/{id}.

    message.delivered
  1. seu sistema
  2. chasque
  3. WhatsApp
  4. webhook de volta

A Meta conecta você ao WhatsApp. A Chasque conecta o WhatsApp ao seu software.

O produto

Veja funcionando antes de criar a conta

Requisição, resposta, evento de webhook, erros e painel, como aparecem na integração.

Uma chamada, um id, a cota na resposta

Payload enxuto: from, to e o conteúdo. O header Idempotency-Key garante que um retry não envia duas vezes, e a resposta diz quantos envios restam no mês.

  • Aceita telefone (E.164) ou o user_id de quem ocultou o número
  • Imagem, documento, áudio e vídeo por URL pública, sem upload prévio
  • type: "raw" repassa qualquer objeto da Meta (interativo, localização, reação)
jsonrequisição
{
  "from": "pn_01J…",
  "to": "+5511900000000",
  "type": "text",
  "text": { "body": "Pedido #1234 saiu para entrega." }
}
201 createdresposta
Chasque-Quota-Remaining: 9871

{
  "id": "msg_01J…",
  "wamid": "wamid.HBg…",
  "status": "accepted"
}

Cada status chega assinado no seu webhook

Um evento por mudança depois do aceite: enviado, entregue, lido, falhou. Mensagens recebidas, mídia e respostas também. Tudo com Chasque-Signature (HMAC-SHA256 com carimbo de tempo) e Chasque-Event-Id para deduplicar.

Se o seu servidor não responder 2xx, tentamos de novo em

  1. 30 s
  2. 2 min
  3. 10 min
  4. 1 h
  5. 6 h
  6. 12 h
  7. 24 h

…e a cada 24 h, por 7 dias. Cada entrega fica no painel, com reenvio manual.

Eventos

  • message.received
  • message.sent
  • message.delivered
  • message.read
  • message.failed
  • template.status_updated
  • phone_number.quality_updated
  • campaign.completed
  • account.quota_warning
POST seu-webhookmessage.delivered
Chasque-Signature: t=1758900004,v1=9f2c…
Chasque-Event-Id: evt_01J…

{
  "id": "evt_01J…",
  "type": "message.delivered",
  "created_at": "2026-09-26T15:00:04Z",
  "data": {
    "phone_number_id": "pn_01J…",
    "message": {
      "id": "msg_01J…",
      "status": "delivered"
    },
    "raw": { … }
  }
}

Erros que dizem o que fazer

A Meta responde com números. A Chasque devolve um código legível, o status HTTP certo e a frase de ação, no retorno da API e no log do painel. O que não tem tradução chega como meta_error, com o código e a mensagem originais.

MetaChasqueO que fazer
131047window_closed 422Passaram 24 h desde a última mensagem do usuário. Envie um template.
131026recipient_unreachable 422O destinatário não pode receber: sem WhatsApp, versão antiga ou bloqueou.
131042meta_payment_required 402Cadastre um cartão na sua conta WhatsApp Business.
132000template_params_mismatch 422O número de variáveis não bate com o template.
130429throughput_exceeded 429Limite por segundo do número (a Meta aceita até 80, ou 20 no Coexistence). Tente de novo em instantes.

Painel com logs, templates, campanhas e uso do mês

Cada mensagem com status e erro traduzido, entregas do webhook com payload e resposta, editor de templates com prévia e checklist do que a Meta recusa, campanhas com o andamento, e a cota do mês com aviso aos 80%. Tema claro e escuro.

Painel · dados de exemplo
Campanhas

Um template para uma lista inteira, sem derrubar a qualidade do número

Para avisos em lote: recall de produto, mudança de horário, novidade para quem pediu para receber. O painel monta o disparo em três passos e a API faz o resto no ritmo que a Meta tolera.

  1. Mensagem

    Escolha o número e um template aprovado pela Meta. Variáveis fixas aqui; as que mudam por pessoa vêm da lista.

  2. Audiência

    CSV, Excel ou ODS, uma pessoa por linha, com telefone e as variáveis dela. Você declara que a lista tem opt-in; sem isso o disparo não existe.

  3. Revisão

    Quantos envios, qual template, agora ou em um horário marcado. Nada sai antes de confirmar.

PlanoCampanhas por vezDestinatários por campanha
Free1250
Starter1Limite do número na Meta
Pro3Limite do número na Meta
Business5Limite do número na Meta

A Meta define quantas pessoas cada número alcança em 24 horas: começa em 250 e sobe por níveis (1.000, 10.000, 100.000 e ilimitado). Uma campanha vai até esse limite, e no Free até 250. O nível de cada número aparece no painel.

  • Ritmo por número (menor no Coexistence), dentro da cota do mês
  • Cada envio aparece em Mensagens, com o status de sempre
  • campaign.started, campaign.paused e campaign.completed no webhook

Só com template aprovado e destinatários que aceitaram receber. É regra da Meta e da nossa política de uso aceitável; disparo em massa fora disso é proibido.

Por que a Chasque

Três promessas, todas no código

Nada aqui é roadmap. Cada item está no produto e na documentação.

01Uma chamada e pronto

POST /v1/messages e a mensagem sai.

  • API enxutaPayloads simples, Idempotency-Key e type: "raw" para qualquer formato da Meta.
  • Exemplos em sete linguagenscURL, PowerShell, Node.js, Python, PHP, Java e C#, gerados de uma única especificação, no painel e nos docs.
  • Templates pela API ou no painelEditor com prévia e checklist do que a Meta recusa, antes da análise.

02Você sabe onde está cada recado

Status por webhook assinado e por GET /v1/messages/{id}.

  • Status normalizadoNa fila, enviado, entregue, lido ou falhou, com o erro traduzido e o que fazer.
  • Webhooks com histórico e reenvioNovas tentativas por 7 dias se o seu servidor cair, cada entrega no painel, reenvio com um clique.
  • Cota e qualidade à vistaAviso aos 80% da cota, account.quota_warning no webhook e pausa automática quando a Meta marca a qualidade do número como vermelha.

03Feita aqui

Para quem integra no Brasil.

  • Docs e atendimento em portuguêsReferência da API, erros e regras da Meta explicadas, e uma equipe que responde pelo formulário de contato.
  • Preço em reais, Free permanenteAssinatura no Stripe, sem cartão para começar e sem trial que expira antes de a Meta aprovar o seu template.
  • LGPD e páginas legais publicadasRetenção definida por plano, exclusão de dados a pedido, termos, privacidade e uso aceitável no ar.
Comparação

Três maneiras de integrar o WhatsApp

Os caminhos para colocar o WhatsApp no seu sistema, comparados por categoria.

Critério WhatsApp não oficialautomação do WhatsApp Web Cloud API diretaapp próprio na Meta Chasqueoficial via Tech Provider
WhatsApp oficialNão, número sujeito a bloqueio sem avisoSimSim, pela Cloud API
Para começarLer um QR codeApp na Meta, Business Verification e App ReviewConta com GitHub e a janela da Meta
APIVariaGraph APIAPI REST simplificada, com idempotência
TemplatesNãoSimSim, com análise da Meta
Status de entregaLimitadoSimSim, normalizado
WebhooksVariaReenvio por até 7 dias, sem histórico nem reenvio manualNovas tentativas por 7 dias, histórico de cada entrega e reenvio manual
ErrosVariaCódigos numéricosTraduzidos, com o que fazer
CampanhasVaria, sem opt-inVocê constrói o disparo e o ritmoIncluídas, com opt-in declarado e ritmo por número
Painel operacionalVariaVocê constróiIncluído
DocumentaçãoVariaDocumentação da MetaDocs em português
CoexistenceNão se aplicaSó como Tech Provider, com Embedded SignupSim
Preço da plataformaPor instânciaR$ 0 (o custo é a engenharia)R$ 0 a R$ 399 por mês, com excedente por mil
Tarifa da MetaNão se aplicaPaga direto à MetaDireto à Meta, sem markup

A mesma Cloud API, com menos código e menos operação.

As tarifas por mensagem são definidas e cobradas pela Meta. Ver a tabela oficial →

Preços

A Chasque cobra pela infraestrutura. A Meta cobra as mensagens.

A mensalidade inclui uma cota de envios pela API. Nos planos pagos, você escolhe: limitar a cobrança à mensalidade ou autorizar o excedente por mil, com um limite de gasto que você define. Mensagens recebidas nunca são bloqueadas.

Free

Para testar a API e desenvolver a integração.

R$ 0 /mês
  • 1.000 mensagens/mês incluídas
  • Para na cota, sem excedente
  • 1 número
  • 1 campanha por vez, até 250 destinatários
  • Logs por 3 dias
  • Não expira
Começar no Free

Pro

Para mais volume ou vários números.

R$ 179 /mês
  • 50.000 mensagens/mês incluídas
  • Excedente R$ 6 por 1.000, com limite de gasto
  • 5 números
  • 3 campanhas por vez, até o limite do número na Meta
  • Logs por 30 dias
Assinar Pro

Business

Para sistemas que dependem do WhatsApp em escala.

R$ 399 /mês
  • 200.000 mensagens/mês incluídas
  • Excedente R$ 4 por 1.000, com limite de gasto
  • 15 números
  • 5 campanhas por vez, até o limite do número na Meta
  • Logs por 90 dias
Falar com a equipe

Excedente: você decide se os envios continuam depois da cota

Por padrão a cobrança fica limitada à mensalidade: ao fim das mensagens incluídas, os envios pausam até o dia 1. Se preferir, ative a cobrança por uso no painel e ligue "Permitir excedente" nos números que podem continuar: o que passar da cota é cobrado por mil na fatura seguinte, até um limite de gasto mensal que você define (o padrão é uma mensalidade). Mensagens recebidas continuam sempre.

PlanoIncluído por mêsExcedente
Free1.000não disponível
Starter10.000R$ 8 / 1.000
Pro50.000R$ 6 / 1.000
Business200.000R$ 4 / 1.000

As tarifas do WhatsApp (Meta) não estão incluídas

Você paga à Chasque a mensalidade pela infraestrutura e pelo acesso à API. As tarifas por mensagem da Meta são cobradas por ela, no cartão cadastrado na sua conta WhatsApp Business, sem markup nosso. Elas variam por categoria e, a partir de 1º de outubro de 2026, mensagens de serviço também passam a ser cobradas no Brasil. O plano Free é gratuito na Chasque, não no WhatsApp.

Segurança e conformidade

O que protege a sua conta e os seus dados

Sem promessas genéricas: o que está implementado.

  • Token cifradoO token da Meta fica em AES-GCM, com a chave mestra fora do banco.
  • Chaves de API só como hashExibidas uma vez, revogáveis a qualquer momento, com o último uso no painel.
  • Webhooks assinadosHMAC-SHA256 com carimbo de tempo, para você validar cada entrega.
  • Retenção definidaLogs de mensagens apagados após 3, 14, 30 ou 90 dias, conforme o plano.
  • LGPD e páginas legaisPrivacidade, termos, uso aceitável e exclusão de dados publicados.
  • Login com GitHub, sem senhaSem acesso aos seus repositórios. Todo o tráfego em HTTPS.
Perguntas frequentes

O que perguntam antes de criar a conta

As respostas curtas. A lista completa cobre preços, cobrança, janela de 24 h, templates, webhooks e dados.

Ver todas as perguntas →

O que é a Chasque?

A camada de infraestrutura que liga o WhatsApp ao seu software pela Cloud API da Meta. Você conecta o número, gera uma chave e envia com POST /v1/messages. Cada mudança de status depois do aceite (enviado, entregue, lido, falhou) chega no seu webhook, assinada.

A Chasque usa a API oficial do WhatsApp?

Sim. As mensagens passam pela Cloud API da Meta e a Chasque atua como provedora de tecnologia (Tech Provider). A Chasque não é afiliada ao WhatsApp ou à Meta.

Por que não integrar direto na Meta?

Pode, e a Chasque usa a mesma Cloud API oficial. A diferença é o que fica com o seu time: direto na Meta, você mantém o app e os tokens, recebe e valida os webhooks, trata novas tentativas e códigos de erro e monta logs e painel. Na Chasque, essa camada já está pronta: você integra uma API REST com uma chave e acompanha tudo pelo painel. As tarifas por mensagem continuam sendo cobradas pela Meta, sem markup.

Preciso criar um app na Meta ou passar por App Review?

Não. Você conecta o número pelo Embedded Signup do app da Chasque, numa janela da própria Meta. A verificação do app e as permissões ficam com a Chasque.

Posso usar o número que já uso no app WhatsApp Business?

Sim, com o Coexistence: a empresa continua atendendo pelo app e a sua integração usa a API. Ao conectar, isto muda no app:

  • Aparelhos conectados (WhatsApp Web, desktop) são desvinculados.
  • Mensagens temporárias, visualização única e localização em tempo real ficam desativadas nas conversas 1:1.
  • Listas de transmissão ficam somente leitura.
  • O app precisa ser aberto no celular pelo menos a cada 14 dias, senão a Meta desconecta o número.
  • Grupos, ligações e catálogo continuam só no app.
A Meta cobra à parte?

Sim. A Meta cobra por mensagem enviada pela Cloud API, direto no cartão cadastrado na sua conta WhatsApp Business. Essa tarifa não está no preço da Chasque e é repassada sem markup: ela varia por categoria e, a partir de 1º de outubro de 2026, mensagens de serviço também passam a ser cobradas no Brasil. O plano Free é gratuito na Chasque, não no WhatsApp. Mensagens enviadas pelo app, no Coexistence, continuam sem custo.

Como crio a conta?

Com a sua conta do GitHub. Não pedimos senha nem acesso aos seus repositórios. Durante o beta a entrada é por convite: entre na lista de espera com o seu usuário do GitHub e o aviso do convite chega por e-mail.

Como os dados são protegidos?

O token da Meta fica cifrado (AES-GCM), as chaves de API são guardadas só como hash e todo o tráfego usa HTTPS. Os logs de mensagens são apagados depois de 3, 14, 30 ou 90 dias, conforme o plano. Detalhes na Política de privacidade.

Comece hoje

Conecte o número oficial e veja a primeira mensagem chegar a "Lido".

Crie a conta com o GitHub, conecte o número pela janela da Meta e acompanhe o status ao vivo no tutorial do painel. Plano Free permanente, sem cartão.

Estamos em beta fechado: a entrada é por convite. Entrar na lista de espera →