Venda + implantação desta semana
Abra este doc antes de qualquer call comercial ou implantação assistida.
Detalhe técnico Meta: 02 — Meta WhatsApp · Preços: 05 — Preços.
A. O que o SaaS FAZ hoje (honesto)
Baseado no produto em odonto/ — não inventar features.
| Área | O que existe |
|---|---|
| Multi-tenant | Cada clínica = Tenant (slug, usuários, dados isolados) |
| Agenda | Por dentista; status Pendente / Confirmado / Concluído / Cancelado; confirmação com WhatsApp |
| Agendamento público | Link /p/{slug}/agendar — paciente marca sozinho |
| Pacientes | Cadastro, telefone, opt-ins reminderOptIn / marketingOptIn |
| Prontuário | Evoluções, anamnese, alergias na ficha |
| Odontograma | FDI + plano de tratamento com itens |
| WhatsApp — MANUAL | Fila de jobs + botão Abrir wa.me (Agenda e Mensagens → Fila). Padrão no registro |
| WhatsApp — Meta Cloud API | Quando configurado: disparo automático de templates; inbox (Conversas) via webhook |
| Wizard de conexão | WhatsApp → Conexão: Pré-requisitos → Credenciais → Verificar → Teste → Ativar |
| Templates no sistema | Seed / tenant: lembrete_consulta, aniversario_paciente, feliz_natal (pt_BR); pós-atendimento sem metaName |
| Cron | /api/cron/reminders — enfileira lembrete 24h + aniversários (precisa CRON_SECRET) |
| Opt-in | Lembrete = serviço; campanha/Natal/aniversário marketing só com marketingOptIn |
| Demo | /demo · admin@demo.com / demo1234 (após seed) |
| Preço público | R$ 197/mês · trial 30 dias · calculadora Meta em /pricing |
| Self-serve conta | /register cria clínica + admin (sem cobrança automática no produto) |
Canais WhatsApp no código
| Provider | Comportamento real |
|---|---|
MANUAL |
Fila + wa.me — caminho seguro e vendável day-1 |
META |
Cloud API oficial — automático após wizard + templates aprovados |
BAILEYS |
Existe no schema/UI; dispatch trata como manual (não automatiza). Não vender |
HTTP |
Provider genérico — uso interno/avançado, não pitch comercial |
B. O que o SaaS NÃO FAZ / limites
Diga isto na call antes do cliente perguntar.
| Limite | Realidade |
|---|---|
| Tech Provider day-1 | Não. Escala “várias clínicas sem colar token” exige App Meta eDevs + status Tech Provider. 1ª clínica = System User / colar credenciais (ou Embedded Signup se env estiver setado) |
| Embedded Signup | Código existe; botão Conectar com Meta só liga com NEXT_PUBLIC_FACEBOOK_APP_ID + FACEBOOK_APP_SECRET + FACEBOOK_CONFIG_ID. Sem isso → colar Phone Number ID + token |
| BSP | Não somos BSP. WABA e cartão são da clínica. Não conte história de “nós somos o provedor WhatsApp” |
| Baileys no número principal | Não recomendar / não prometer. Risco de ban. Pitch = Cloud API ou wa.me manual |
| Billing self-serve | Não há Stripe/assinatura automática no produto. Cobrança = contrato / boleto / Pix fora do app |
| Templates | Precisam ser criados e aprovados na Meta (nome + idioma = metaName + pt_BR). Até aprovar: teste com hello_world |
| Marketing vs utility | Lembrete/confirmação = UTILITY (mais barato). Aniversário/Natal/campanha = MARKETING (mais caro + opt-in) |
| Janela 24h | Texto livre só depois que o paciente falou. Fora disso = template |
| Quem paga a Meta | Clínica → Meta (cartão na WABA). eDevs não absorve mensagem “de graça” |
| Convite multi-usuário | Admin no register; usuário extra ainda assistido (eDevs cria no tenant) |
| “Esqueci senha” | Não self-serve — reset manual (ver 03) |
| Import CSV pacientes | Não productizado — no setup assistido você cadastra / importa à mão |
| Inbox wa.me | Chat do painel sincroniza Meta webhook. Manual não enche Conversas |
C. Fluxo Meta ponta a ponta (checklist vendável)
Pré-requisitos da clínica
- Portfólio Meta Business (business.facebook.com)
- Conta WhatsApp Business (WABA) + número na plataforma
- Método de pagamento na WhatsApp Business Platform
- Número que vai ser o oficial (ideal: não misturar com chip pessoal da recepção no day-1 automático)
- (Opcional) verificação do negócio — ajuda em volume/marketing
Config do app eDevs (seu lado, uma vez por ambiente)
| Variável | Para quê |
|---|---|
NEXT_PUBLIC_APP_URL |
Base HTTPS do webhook e links |
META_VERIFY_TOKEN |
Verify token do webhook (alias META_WEBHOOK_VERIFY_TOKEN) |
CRON_SECRET |
Autentica cron de lembretes |
DATABASE_URL / SESSION_SECRET |
App no ar |
NEXT_PUBLIC_FACEBOOK_APP_ID + FACEBOOK_APP_SECRET + FACEBOOK_CONFIG_ID |
Só se for oferecer Conectar com Meta |
Webhook na Meta:
- URL:
https://<dominio>/api/whatsapp/webhook - Verify token = valor do
.env - Evento:
messages - HTTPS obrigatório
Token produção (fluxo clássico): System User com whatsapp_business_messaging + whatsapp_business_management (permanente).
Templates pt_BR (nomes = seed)
| Uso | Categoria Meta | metaName no eDevs |
Variáveis |
|---|---|---|---|
| Confirmação / lembrete 24h | UTILITY | lembrete_consulta |
nome, procedimento, data |
| Aniversário | MARKETING | aniversario_paciente |
nome, clinica |
| Natal | MARKETING | feliz_natal |
nome, clinica |
| Pós-atendimento | — | (sem metaName) | texto livre / janela 24h |
Enquanto aprova: teste no wizard com hello_world (en_US).
Wizard no painel (WhatsApp → Conexão)
- Pré-requisitos — copiar URL webhook + verify token
- Credenciais — colar Phone Number ID + token ou Conectar com Meta (se env ok)
- Verificar — Graph confirma número
- Teste de envio — celular real (preferir hello_world frio)
- Ativar — só após verificação OK → canal META ativo
- Mensagens → Fila — Disparar canal ativo
- Cron rodando → primeiro lembrete 24h enfileirado automaticamente
Detalhe de erros Graph: 02.
D. Script de venda desta semana
Pitch curto (~30 s)
eDevs Odonto é a gestão da clínica: agenda por dentista, paciente marca pelo link, prontuário e odontograma. WhatsApp entra organizado — fila de lembretes e campanhas. Começa com envio pela recepção (wa.me); quando quiser automático, ligamos a Cloud API oficial da Meta na conta da clínica. Mensalidade R$ 197, 30 dias para testar. Mensagem WhatsApp a Meta cobra à parte no cartão de vocês.
O que PROMETER
- Agenda + link público + pacientes + prontuário + odontograma
- Fila WhatsApp e wa.me já no day-1
- Cloud API oficial com implantação assistida/completa (prazo realista abaixo)
- Opt-in e respeito a marketing vs lembrete
- Demo ao vivo (
/demo) - Suporte humano no onboarding (pacote pago)
O que NÃO PROMETER
- “Automático no número de vocês amanhã sem Meta”
- “Mensagens ilimitadas por nossa conta”
- “Baileys / API não oficial sem risco”
- “Somos BSP / Tech Provider já no ar para self-serve Meta”
- “Template aprova na hora” (Meta aprova — pode levar horas/dias)
- “Assinatura e boleto dentro do app”
- “Importa toda a base CSV sozinho”
Pacotes (de 05)
| Pacote | Valor | Quando fechar |
|---|---|---|
| Self-serve | R$ 0 setup + R$ 197/mês | Cliente técnico, só wa.me no início |
| Assistido | R$ 990 + mensal | Config + treino 1 h — mais comum esta semana |
| Completo + Meta | R$ 2.490 + mensal | Quer automático oficial: WABA, templates, webhook, wizard no ar |
Texto WhatsApp de proposta: copiar de 05.
Objeções
| Objeção | Resposta |
|---|---|
| “A Meta cobra?” | Sim. SaaS ≠ mensagem. Calculadora em /pricing. Lembrete é barato (utility); campanha é marketing. |
| “E se banirem o número?” | Por isso não usamos automação não oficial no chip principal. Cloud API é o caminho oficial. |
| “Tem que ser automático day 1” | Day 1 = produto + fila + wa.me. Automático Meta: conta Business + cartão + templates — pacote Completo, timeline abaixo. Não minta o prazo da Meta. |
| “LGPD / spam” | Lembrete de consulta com opt-in de serviço; marketing só com marketingOptIn marcado. Campanha sem opt-in não enfileira. |
| “Já tenho WhatsApp Business App” | App do celular ≠ Cloud API. Automático exige WABA + API; podemos manter wa.me até lá. |
Timeline realista (implantação assistida)
| Dia | Entrega |
|---|---|
| D0 (call) | Fechar pacote; coletar admin, slug, se quer Meta já |
| D0–1 | Conta no ar, Configurações, dentistas, procedimentos, link público testado |
| D1 | Treino 45–60 min (Agenda, ficha, fila, ajuda) |
| Meta — paralelo | Clínica cria/abre Business + pagamento; eDevs configura webhook no ambiente |
| Meta — +1 a 5 dias | System User / credenciais no wizard; templates submetidos |
| Meta — aprovação | Meta aprova templates (variável); teste hello_world enquanto isso |
| Go-live automático | Verificar → teste → Ativar → cron → 1º lembrete real |
Não prometa “Meta em 2 horas” salvo clínica que já tem WABA + pagamento + templates prontos.
E. Checklist do implementador eDevs (day-of)
Ordem sugerida — marque na call de implantação.
Antes (você)
- Produção HTTPS no ar (
NEXT_PUBLIC_APP_URL,META_VERIFY_TOKEN,CRON_SECRET) - Pacote e valor alinhados (Assistido vs Completo + Meta)
- Saber se o cliente começa MANUAL ou META nesta sessão
- (Meta) Webhook já cadastrado no App Meta eDevs / ambiente
Conta e base
- Tenant criado (
/registerou você cria) - Admin: e-mail, senha temporária, pedir troca
- Configurações: nome, slug, WhatsApp recepção, horários
- Dentistas + procedimentos (duração realista)
- Teste
/p/{slug}/agendarno celular → PENDING na agenda
- Só manual: canal MANUAL ativo; treinar Abrir wa.me + marcar enviado na Fila
- Meta: Business + WABA + cartão da clínica ok
- Templates pt_BR com nomes da tabela (ou hello_world para teste)
- WhatsApp → Conexão: credenciais → Verificar → Teste → Ativar
- Opt-ins: lembrar recepção (não marcar marketing sem autorização)
- Cron lembretes configurado (curl com
x-cron-secret)
Treino + entrega
- Confirmar consulta + WhatsApp
- Ficha + odontograma rápido
- Enfileirar aniversário / ver Fila (se fizer sentido)
- Link Ajuda no menu
- Enviar pacote de entrega:
Pronto ✅
Painel: https://…/login
Ajuda: https://…/ajuda
Link pacientes: https://…/p/SLUG/agendar
Suporte: (seu número)
- Homologação final: login, agendar público, wa.me ou Meta ok, campanha só com marketingOptIn
Atalhos internos
| Precisa de… | Doc |
|---|---|
| Só Meta técnico | 02-meta-whatsapp |
| Onboarding sem venda | 01-implantacao |
| Valores / texto proposta | 05-precos-cobranca |
| FAQ pronto | 04-faq-suporte |
| Playbook suporte | 03-uso-e-suporte |