API de WhatsApp para software house e SaaS

Você está embutindo WhatsApp num produto que outras empresas usam. O problema não é enviar mensagem — é conectar dezenas de números que não são seus, isolar um cliente do outro e não virar o intermediário financeiro da Meta.

O problema que não é enviar mensagem

Enviar uma mensagem pela Cloud API é uma requisição HTTP. Qualquer pessoa resolve isso numa tarde. O que consome trimestre é o resto:

  • Conectar o número de cada cliente sem que ele precise entender a Meta.
  • Garantir que o cliente A nunca alcance o canal do cliente B, nem por engano, nem por id adivinhado.
  • Receber eventos com assinatura verificável, retentativa e replay — porque o seu endpoint vai cair um dia.
  • Não ficar no meio da conta da Meta, que é por mensagem e varia com o volume que o seu cliente faz, não com o que você cobra dele.
  • Ter registro auditável de quem fez o quê em qual número, quando um cliente perguntar.

Multitenancy que não foi improvisada

Organização é a unidade de isolamento, não um campo tenant_id filtrado na consulta. Chaves de API são escopadas por organização e por permissão, com papéis de owner a viewer. Um recurso de outra organização responde 404, e não 403 — a diferença não é estética: 403 confirmaria que o recurso existe.

Cada canal tem um token próprio (hub_ch_...) que autentica envio só por aquele canal. É a credencial certa para entregar a um serviço seu que cuida de um cliente só, sem dar a ele a chave da organização inteira.

Você chama POST /api/v1/channels/{id}/connect-link, recebe uma URL e a entrega ao cliente — por e-mail, dentro do seu produto, onde fizer sentido. Ele abre, percorre o Embedded Signup da Meta e autoriza o próprio número. Não precisa de conta no Hub, não vê o seu painel e não sabe que o Hub existe, se você não quiser.

Com coexistência, o número dele continua funcionando no celular. Essa é a diferença entre “preciso que você migre seu WhatsApp” e “clica aqui e autoriza” — e é o que decide quantos dos seus clientes de fato ativam.

Quem paga o quê

Quem cobraDe quemPelo quê
MetaDo seu cliente finalCada mensagem entregue, na conta dele
CRPRO HubDe vocêAssinatura mensal por pacote de números
VocêDo seu clienteO que o seu produto vale — sem repassar mensagem

Esse desenho tira você de uma operação que não é o seu produto: medir consumo de mensagem por cliente, adiantar custo e cobrar depois. Por que ele é assim, e o que muda quando não é, está em Tech Provider ou BSP.

O que você integra

  • Envio com Idempotency-Key obrigatório — retentativa depois de timeout não duplica mensagem.
  • Webhooks assinados com HMAC SHA-256, com retentativa, pausa automática e replay de entrega perdida.
  • Contrato OpenAPI 3.1 em /openapi.json, que gera cliente tipado e coleção do Postman.
  • Log de auditoria por organização, com x-request-id em toda resposta para correlacionar.

Perguntas frequentes

Dá para conectar o WhatsApp de vários clientes na mesma conta?

Sim — é para isso que o produto existe. Cada cliente é uma organização, com chaves de API escopadas, webhooks próprios e isolamento completo. Pedir um recurso de outra organização responde 404, não 403: a API não confirma nem que o recurso existe.

Quem é o dono da conta do WhatsApp: eu ou o meu cliente?

O seu cliente. A conta WhatsApp Business, o número, os templates e o histórico de qualidade são dele, e a Meta cobra as mensagens diretamente dele. Você não entra nessa cobrança, o que significa que não precisa medir, ratear nem repassar custo de mensagem.

O meu cliente precisa acessar o painel do Hub?

Não. Você gera um link de conexão e envia para ele. Ele autoriza o próprio número pelo Embedded Signup da Meta, sem credencial do painel e sem ver a sua operação. Você recebe a chave e o webhook do lado de cá.

Como faço para o meu produto escalar sem virar operação manual?

Tudo que o painel faz tem endpoint: criar canal, gerar link de conexão, registrar webhook, criar chave escopada, consultar uso e ler o log de auditoria. O painel é conveniência, não o caminho obrigatório.

E se eu quiser sair do CRPRO Hub depois?

A conta WhatsApp Business é do seu cliente, então ela não vai embora com o Hub. O número, os templates e o histórico de qualidade continuam com ele. Isso é uma consequência do modelo Tech Provider, não uma política nossa.

O caminho mais curto para avaliar é técnico: o início rápido leva da chave à primeira mensagem, e os guias por linguagem mostram o código de verdade, inclusive a verificação de assinatura de webhook.