Cloud API, não o app verde
Automações oficiais: opt-in, janela de 24h, template aprovado. Sem CNPJ a Meta não verifica a empresa — o envio oficial espera o MEI. Lista de transmissão e app verde no mesmo número — fora.
Pessoa física
CPF na Meta
São três produtos. Só o app verde e os anúncios aceitam CPF. A API oficial espera o MEI.
WhatsApp Business (app)CPF ok
Chip no celular. Resposta rápida, saudação, catálogo. Você envia.
- Instala o app verde nesse número.
- Inbox: Abrir no app verde — rascunho colado.
- Não liga QR de painel nesse chip.
Meta Ads / Google AdsCPF ok
Conta no CPF. Destino /quero ou /venda. Sem Click-to-WhatsApp no frio.
- Faturamento no cartão / CPF.
- URL final: Copy → Tráfego.
- Mata se o opt-in ou o clique sair caro.
WhatsApp Cloud APICNPJ / MEI
WABA. Verificação de empresa. MEI serve. Token cola no Sinal.
- CCMEI em novembro.
- Business Manager com CNPJ.
- Ajustes → WhatsApp: token, Phone Number ID, webhook.
Modo CPF
O que o piloto faz
Tudo até a porta do Zap. O envio é um toque no app verde — você aperta enviar.
Anúncio → captura
Google Ads com CPF. URL de /quero ou /venda com UTM. O formulário autoriza sozinho.
Radar e copy
Sinal público classificado. Texto do piloto pronto. Sem disparo.
Inbox e rascunho
Quem optou entra na fila. O piloto escreve. Você cola no app verde (um toque).
Link /ir
Clique rastreado, ponte de checkout, Hotmart/Kiwify pagam a comissão.
Na mão
- Enviar no WhatsApp (app verde, você aperta enviar).
- Primeira mensagem para quem optou — sem lista, sem bot.
- Cloud API, template Graph, fila que posta sozinha.
Teto
Limites do modo CPF
O teto do CPF é o seu tempo no app verde e o custo por clique. FrontZap QR e lista estouram o número, não o teto.
WhatsApp
1 pessoa, ~30–50 conversas boas/dia
App verde, resposta rápida nativa, etiquetas, catálogo. Inbox: Abrir no app verde.
Para: Bot, Baileys, lista, 5 chips, Click-to-WhatsApp no frio.
Anúncios
CPF no boleto. Google R$ 20–40/dia de teste
Tráfego para /venda ou /quero. Mate se o custo estourar a calculadora.
Para: Público de número de Zap. BM verificado exige CNPJ.
Saque afiliado
Teto PF no painel da plataforma
Hotmart e Kiwify costumam pagar PF. Eduzz e Monetizze podem limitar o mês.
Para: Conta de terceiro. CPF irregular.
Imposto
Carnê-Leão no mês que receber
Guarda o extrato da plataforma. Contador no seu caso.
Para: Misturar CPF de outro. Omitir comissão.
Cloud API / WABA
Trava até o CCMEI
Webhook, HMAC, tokens já estão no Sinal. Cola depois do MEI.
Para: QR, Baileys, ‘API não oficial’ enquanto espera.
Quantos números
Um.
Uma marca, um número na Cloud API. O teto sobe com qualidade nesse número — não comprando chip. Dois números só se forem duas empresas (CNPJ / WABA diferentes).
- Pessoal + Business no mesmo chip: não. O app verde briga com a API.
- Rodízio de 5 chips para “não cair”: ban. A Meta lê isso.
- Escalar: anúncio → opt-in → fila neste número. Tiers 1k → 10k → 100k.
Qualidade do número
A Meta mede block + denúncia. Verde sobe o teto. Vermelho pausa o envio. Não tem atalho.
Só quem autorizou
Inbox recusa o resto. Block e denúncia caem.
Nunca: Lista comprada, comentário, grupo, CSV.
Cada recado serve
Critério, garantia ou resposta. Máximo 3 follow-ups.
Nunca: “Ainda tá aí???” e o mesmo pitch 8 vezes.
Responder na janela
Fila prioriza quem espera e janela < 2h. Qualidade mede atraso.
Nunca: Deixar 40 não lidas e disparar template de madrugada.
Um link, um número
Uma oferta por conversa. Um chip na API.
Nunca: Catálogo + 5 chips rodando.
Perfil de empresa
Nome da marca, foto, sobre, site. Display name aprovado.
Nunca: “João vendas” no número da API.
Template limpo
Utility com o que ela pediu. Marketing só com opt-in fresco.
Nunca: Modelo “oi, tudo bem?” recusado ou marcado como spam.
Digitação lenta
Um recado por vez, 3–9s digitando. Intervalo entre conversas.
Nunca: 10 respostas no mesmo segundo. Parece robô, vira block.
Sem ligação automática
Só mensagem. Chamada se ela pedir, operador humano.
Nunca: Discador, URA no Zap, distribuição de chamada em massa.
Ligar aqui
Calibrar
Recado típico: 7,4s digitando · 1 por ciclo · intervalo ~5,0s
Número amarelo ou vermelho: volte para Lenta. Verde estável: Média. Rápida só com block baixo.
Chamada de voz/vídeo automática: desligada. Ligar sem ela pedir derruba qualidade igual a disparo. Só mensagem, na janela, com opt-in.
Informe o nome aprovado na Meta. Sem isso, fora da janela não envia.
Sem modelo válido, fora da janela o piloto não dispara.
Webhook de validação
Callback: /webhook
A Meta valida com GET: hub.mode=subscribe · hub.verify_token · hub.challenge. Respondemos o challenge em texto puro.
POST: HMAC-SHA256 do corpo cru. Header X-Hub-Signature-256: sha256= + 64 hex. Comparação timing-safe.
SSL: TLS 1.2+ e certificado de CA pública. Self-signed a Meta recusa.
Meta App → WhatsApp → Configuration → Verify and save. Token em Ajustes.
Postman
O preview daqui já testa o mesmo caminho com Simular APPROVED. Postman serve quando o Sinal estiver no seu domínio HTTPS. Sem App Secret, o POST 3 falha — isso é certo.
- 1 GET handshake. Meta valida o callback com hub.mode=subscribe. A resposta tem que ser o challenge em texto puro, status 200.
- 2 GET amostra HMAC. /webhook?sample=approved devolve o JSON e o header X-Hub-Signature-256 já assinado.
- 3 POST com HMAC. Body cru + header sha256=…. Sem isso o Sinal devolve 401. Não pretty-print: muda o HMAC.
- 4 POST sem header. Tem que recusar. Se passar, o App Secret não está no servidor.
GET /webhook?hub.mode=subscribe&hub.verify_token=sinal-verify&hub.challenge=ok
POST /webhook
Cloud API
Graph v26.0 · um número · webhook + mensagens. Sem app verde no mesmo chip.
POST /{PHONE_NUMBER_ID}/messages · type text
Janela de 24h aberta. Texto livre, um recado.
Sinal: Inbox + cadência (digitando…).
Não: Texto livre fora da janela — a Graph recusa.
POST /{PHONE_NUMBER_ID}/messages · type template
Fora da janela. Modelo aprovado: utility ou marketing.
Sinal: Campo do modelo em WhatsApp.
Não: Template “oi tudo bem” e lista em massa.
POST seu /webhook · messages[]
Ela escreveu (ou veio do anúncio Click-to-WhatsApp).
Sinal: Abre a janela, entra na fila, opt-in.
Não: Tratar menção em grupo como opt-in.
POST seu /webhook · statuses[]
sent → delivered → read / failed.
Sinal: Ao vivo, quando a API estiver ligada.
Não: Reenviar em loop se failed por block.
POST /{PHONE_NUMBER_ID}/whatsapp_business_profile
Nome da marca, sobre, site, foto.
Sinal: Qualidade do número.
Não: Display name “João vendas”.
POST /{WABA_ID}/message_templates
Criar utility (retorno) e marketing (oferta).
Sinal: Nome salvo no ajuste. Aprovação na Meta.
Não: Autenticação OTP — não é venda.
- · Calling API — ligação automática.
- · Catálogo MPM com 8 SKUs no Zap — um checkout.
- · App verde (Business) no mesmo PHONE_NUMBER_ID.
- · On-premises antigo — Cloud API só.
Anúncio Meta
Click-to-WhatsApp
O anúncio abre o Zap já com opt-in. A primeira mensagem dela abre a janela de 24h.
No Sinal: Captura /quero + origem Click-to-WhatsApp.
Nunca: Comentar no post e chamar no privado.
Cloud API · inbound
Boas-vindas no opt-in
Assim que autorizar, um recado com critério. Depois, um link se estiver quente.
No Sinal: Ajustes → Boas-vindas no opt-in.
Nunca: Mensagem de saudação do app verde no mesmo número da API.
24h após a última mensagem dela
Resposta na janela
Texto livre. Fila responde quem espera, até 3 por ciclo.
No Sinal: Fila automática + Inbox.
Nunca: Texto livre fora da janela — a API recusa.
2h / 24h / 72h · ainda na janela
Follow-up
Cada recado um fato novo. Sem repetir o pitch.
No Sinal: Piloto agenda ao mandar a oferta.
Nunca: Lista de transmissão. Grupo. Encaminhar em massa.
Meta Business · modelos aprovados
Template fora da janela
Só utility/marketing aprovado. Nome do modelo no ajuste.
No Sinal: Campo do modelo. Envio real exige Cloud API no ar.
Nunca: Copiar o pitch do Zap num template “oi tudo bem”.
24h após a primeira compra
Upsell B2B
Um SKU do mesmo nicho, texto para o financeiro.
No Sinal: Contas B2B + conversão.
Nunca: Catálogo de 8 links no mesmo recado.