Embedded Signup: a clínica conecta o próprio WhatsApp
A conexão usa o Embedded Signup oficial da Meta — o mesmo fluxo que grandes provedores de tecnologia usam pra conectar contas de clientes sem nunca ver a senha deles. Um administrador da clínica clica em “Conectar WhatsApp” no painel, autoriza pelo próprio fluxo da Meta, e a API descobre automaticamente qual WhatsApp Business Account (WABA) e qual número de telefone foram autorizados — nada disso é digitado manualmente, o que evita erro de configuração.
Assim que a conexão é confirmada, a API já assina os webhooks daquele número junto à Meta — é isso que garante que mensagens novas cheguem em tempo real. Se essa etapa falhar por qualquer motivo, a conexão inteira é abortada em vez de ficar marcada como “conectada” sem realmente funcionar.
O caminho de uma mensagem
Quando um paciente manda mensagem pro WhatsApp da clínica, a Meta entrega isso por webhook. A API confirma a assinatura do webhook (prova de que veio mesmo da Meta), identifica a clínica dona daquele número, e grava a mensagem associada ao cliente certo — criando o cadastro automaticamente se for a primeira mensagem dessa pessoa.
Dali em diante, duas coisas podem acontecer, dependendo do que a clínica configurou:
- Menu determinístico, sem IA — um fluxo fixo (agendar, tirar dúvida, falar com atendente) que responde na hora, sem depender de nenhum modelo de linguagem. É o padrão quando a automação de IA está desligada, e garante que o paciente nunca fica sem resposta nenhuma.
- Atendimento assistido por IA — quando a clínica ativa esse modo, a IA prepara respostas dentro de limites estritos (nunca diagnostica, nunca promete resultado clínico) e qualquer assunto sensível é encaminhado pra um humano da equipe, que pode assumir a conversa a qualquer momento.
Templates aprovados e a janela de atendimento
A Meta só permite mensagem de texto livre dentro de uma janela de 24h depois da última mensagem do paciente. Fora dessa janela (por exemplo, um lembrete de consulta enviado pela clínica, sem o paciente ter escrito antes), é obrigatório usar um template pré-aprovado pela Meta — texto padronizado que passou por revisão antes de poder ser usado. Isso é regra da própria Meta, não uma limitação nossa, e existe justamente para evitar spam.
Status de entrega
Cada mensagem enviada pela clínica recebe atualizações de status pelo mesmo canal de webhook: enviada, entregue, lida, ou falhou. Isso aparece na inbox do painel sem que ninguém precise atualizar a página — e evita reenvios desnecessários de uma mensagem que na verdade já chegou.
Quando a Meta limita o envio ou a rede falha
Assim como no Instagram, a Graph API do WhatsApp tem limite de uso. Quando isso acontece, a mensagem não é descartada como falha definitiva — fica esperando e tenta de novo automaticamente, com espera crescente (de minutos até uma hora, dependendo de quanto tempo o limite já persiste). Uma instabilidade real de rede ao falar com a Meta (não um erro de limite) recebe o mesmo tratamento tolerante, só que numa escala mais curta (segundos a minutos). Já um erro de negócio — um número inválido, por exemplo — não fica insistindo por muito tempo: tenta de novo só algumas vezes, em segundos, e desiste.
Segurança da integração
- Webhooks validados por assinatura (HMAC) antes de qualquer processamento.
- Token de acesso cifrado em repouso, nunca exposto ao navegador em texto claro.
- Isolamento por empresa (RLS) — uma clínica nunca alcança mensagem, contato ou credencial de outra, em nenhuma camada da plataforma.
- Campanhas de marketing só são enviadas para contatos com consentimento registrado para aquele canal — a Novixis não decide, por conta própria, quem recebe mensagem comercial.
O que a integração não faz: não inicia conversa comercial sem consentimento, não usa template fora do que a Meta aprovou, e não mistura contato ou histórico de uma clínica com o de outra.
Detalhamento formal de permissões e tratamento de dados: Como usamos o WhatsApp e o Instagram. Prazos de retenção e como solicitar exclusão: Política de Privacidade.
