Sintoma: mensagens não entregues, webhook retorna erro, clínica sem atendimento. Alerta automático via e-mail quando ban_state != FLAGGED.
- Acessar WhatsApp Manager → verificar status do número afetado.
- Se FLAGGED (aviso): revisar últimas mensagens enviadas. Não enviar templates em volume. Aguardar 24h — Meta remove automaticamente se não houver reincidência.
- Se RESTRICTED: abrir ticket de suporte Meta via Business Center. Tempo de resposta: 24–72h. Enquanto aguarda, ativar modo manual no painel da clínica afetada (painel gestor → Configurações → IA desativada).
- Se BANNED: solicitar revisão ("Request Review") dentro do WhatsApp Manager. Se negado: será necessário criar novo número de telefone e novo WABA para a clínica. Contatar a clínica afetada imediatamente para informar.
- Após restauração: testar envio de mensagem de texto simples antes de reativar templates.
- Registrar incidente no log: data, clínica, motivo suspeito, resolução.
Sintoma: vertica.app.br retorna erro 5xx ou timeout. Mensagens WhatsApp sem resposta. Nenhum cron disparado.
- Verificar vercel-status.com. Se incidente global: aguardar — nada a fazer no código.
- Se incidente local (só o projeto): checar último deploy em Dashboard Vercel → aba "Deployments".
- Se último deploy com erro: rolar para o deploy anterior funcionando → clicar "Promote to Production".
- Se todos os deploys falhando: verificar se variável de ambiente foi removida acidentalmente (Settings → Environment Variables).
- Re-deploy forçado: vercel --prod na raiz do projeto.
- Informar clínicas ativas sobre indisponibilidade via WhatsApp pessoal (contato de suporte).
Sintoma: API retorna erros, conversas não salvas, leads não criados. Logs Vercel mostram falhas em chamadas SUPABASE_URL.
- Verificar status.supabase.com. Se incidente global: aguardar. Supabase Pro tem SLA 99.9%.
- Se apenas o projeto: acessar app.supabase.com → verificar se o projeto está "paused" (Pro não pausa, mas verificar).
- Testar conexão direta: curl SUPABASE_URL/rest/v1/clinicas?limit=1 com o header apikey.
- Se projeto pausado indevidamente: "Restore project" no dashboard.
- Verificar logs de banco em Supabase → Database → Logs.
- Abrir ticket de suporte via app.supabase.com/support com logs dos erros.
- Durante a indisponibilidade: mensagens WhatsApp recebidas serão perdidas (sem retry automático). Após restauração, verificar se há leads que precisam de follow-up manual.
Sintoma: PIX não gerado para pacientes, cobranças mensais não disparadas. Não afeta atendimento — apenas pagamentos.
- Verificar status.asaas.com para incidentes conhecidos.
- Se PIX de paciente falhou: informar a clínica afetada para cobrar manualmente até restauração.
- Se cobrança mensal automática falhou (dia 1–5 de cada mês): após restauração, executar manualmente via painel admin → Cobranças → "Gerar cobranças do mês".
- Verificar chave API Asaas não expirou: admin.html → Clínicas → ver chave.
- Contato Asaas: suporte@asaas.com ou chat no painel Asaas.
Sintoma: webhook aceita mas mensagens não são enviadas (WA_TOKEN inválido). Monitor diário alerta via e-mail às 8h BRT.
- Acessar Meta Business → Usuários do Sistema.
- Selecionar usuário "VERTICA API" → Gerar novo token → selecionar "Nunca expira" → permissões whatsapp_business_messaging e whatsapp_business_management.
- Copiar o token gerado (ele só aparece uma vez).
- Acessar Vercel → Environment Variables → atualizar WHATSAPP_TOKEN.
- Re-deploy: vercel --prod ou trigger via dashboard.
- Testar: enviar mensagem de teste via painel gestor → Iniciar conversa.
Sintoma: clínica reporta que bot ficou em silêncio ou repetindo a mesma mensagem. Pode ser timeout Anthropic, erro de lógica ou mensagem do paciente que dispara edge case.
- Verificar logs Vercel → Functions → api/whatsapp → buscar por [ERRO] ou anthropic_empty_response.
- Verificar status Anthropic: status.anthropic.com.
- Se loop: o deduplicador wa_queue previne reprocessamento. Verificar se a entrada da mensagem está travada com status = 'processing' no Supabase → Tabela wa_queue. Atualizar para status = 'done' para desbloquear.
- Se a IA não responde e o paciente precisa de atendimento urgente: no painel gestor, alterar o lead para modo_manual = true e a secretaria assume.
- Se o problema for recorrente para uma mensagem específica: registrar o conteúdo da mensagem e abrir issue.
- Confirmar que o serviço está restaurado e estável por pelo menos 15 minutos.
- Verificar se há leads que ficaram sem resposta durante o incidente — reativação manual se necessário.
- Verificar se cobranças, follow-ups ou agendamentos foram perdidos durante o incidente.
- Informar as clínicas afetadas sobre o incidente e o tempo de indisponibilidade.
- Registrar o incidente: data, duração, causa raiz, resolução adotada, lição aprendida.
- Se o incidente revelou gap de monitoramento: criar alerta preventivo para detectar antes dos clientes.