Uso diário e suporte (playbook)
Níveis de suporte
| Nível | Quem atende | Exemplos |
|---|---|---|
| N1 | Você / CS | “Como confirmar consulta?”, senha, link público |
| N2 | Você / tech | Meta, templates, webhook, bugs |
| N3 | Dev | Prisma, deploy, bugs de código |
Encaminhe a clínica primeiro para /ajuda (manual usuário).
Rotina sugerida (clínica) — reforçar no treino
Manhã: Agenda do dia → confirmar pendentes → checar fila Mensagens.
Durante: Ficha + evolução após cada paciente.
Fim do dia: Concluir consultas → campanha só se planejada.
Rotina admin (seu lado)
| Frequência | Ação |
|---|---|
| Diário | Ver se cron rodou (logs / resposta JSON) |
| Semanal | Clientes Meta: falhas na fila |
| No onboarding | Homologação do checklist de implantação |
Reset de senha
Hoje: gerar hash bcrypt e atualizar User.passwordHash no banco ou criar novo admin e invalidar o antigo.
(Produto futuro: “esqueci minha senha”.)
# Exemplo conceitual — rode com cuidado no tenant certo
npx tsx -e "
import bcrypt from 'bcryptjs';
import { PrismaClient } from '@prisma/client';
const db = new PrismaClient();
const hash = await bcrypt.hash('NovaSenha123', 10);
await db.user.updateMany({
where: { email: 'admin@clinica.com' },
data: { passwordHash: hash },
});
"
Trocar número WhatsApp Meta
- Novo Phone number ID / token no painel Canais
- Revalidar webhook se mudou de app
- Templates no mesmo WABA ou recriar
Desativar automático (voltar ao manual)
Canais → Ativar Fila + wa.me.
Fila continua; envio volta a ser clique humano.
Logs úteis
- Status
FAILEDemMessageJob.error - Resposta Graph API (mensagem de erro Meta)
- Webhook: se inbox não atualiza, verify token / HTTPS
Escalação para o cliente
Tom: calmo, passos numerados, sem jargão.
Se for Meta: “Isso é cobrança/regra do WhatsApp Business, não do eDevs” — evita atrito.