WhatsApp B2B Platform
Uma arquitetura para operar WhatsApp com parceiros, clientes e governança.
A Procedural está preparada para evoluir sua plataforma para um modelo multiempresa: Procedural, parceiros/revendedores, clientes finais, usuários, WABAs, números, API keys, webhooks, auditoria e consumo sob controle central.
ProceduralControle administrativo, limites, auditoria, chaves, suspensão e credenciais Meta protegidas.
ParceirosPortal e API para cadastrar clientes, acompanhar uso, configurar webhooks e operar com isolamento.
ClientesAmbiente próprio para conectar WhatsApp, acompanhar conversas, usuários, templates e integrações.
Hierarquia
Procedural → parceiro → cliente → usuário → WABA/número/conversa.
A arquitetura técnica do módulo preservado no projeto foi desenhada para impedir acesso cruzado entre parceiros e clientes. O tenant deve ser derivado da sessão ou API key, e não de IDs enviados livremente no corpo das requisições.
Credenciais
Duas classes de API key com funções separadas.
- MANAGEMENT: provisionamento e administração permitida do parceiro, sem envio de mensagens.
- CLIENT_RUNTIME: chave vinculada a um único cliente final, usada para operações runtime permitidas.
- Segredos não devem ser salvos em texto puro e devem aparecer uma única vez na criação.
Meta
O token da Meta fica na Procedural.
O parceiro integra com a API Procedural. Ele não recebe App Secret, system user token, access token permanente, token de WABA ou credenciais internas. O fluxo desejado é Meta → Procedural → tenant → API Procedural → sistema do parceiro.
Webhooks
Eventos assinados, fila e retry.
Eventos recebidos da Meta devem ser normalizados, persistidos, associados ao tenant correto e então entregues ao parceiro/cliente por webhook HTTPS com HMAC SHA-256, timestamp, event ID, tentativas, logs e proteção contra SSRF.
Status de implantação
Site HostGator pronto; backend SaaS exige ambiente Node.
Esta página pública registra a arquitetura e o posicionamento. O módulo operacional completo recebido está preservado no projeto como base Next.js/Prisma e deve ser implantado em ambiente com Node.js, banco compatível, migrations, workers, variáveis de ambiente e App Review da Meta. Ele não deve ser simplesmente enviado para o public_html como se fosse uma página PHP.