Integração oficial com WhatsApp Business API.
Três caminhos em produção — Baileys (QR code, minutos), Gupshup ou Zenvia (BSP oficial aprovado pelo Meta, 48h). Templates HSM sincronizados com o Meta, webhooks normalizados, portabilidade entre BSPs sem perder conversa. Você escolhe o caminho; se mudar de ideia, o número vem junto.
- Baileys: QR code em 5 min
- BSP oficial: go-live 2–5 dias úteis
- Portabilidade sem re-onboarding
BSP oficial (Meta)
Gupshup + Zenvia
Webhook normalizado
payload canonical
Portabilidade suportada
troca BSP sem re-onboarding
Como funciona a integração WhatsApp Business + Interaflow, na prática
A Interaflow não é um BSP (Business Solution Provider do WhatsApp). A gente é uma plataforma de contact center que se conecta ao seu número de WhatsApp Business por três caminhos em produção simultaneamente, cada um com trade-off diferente de custo, tempo de go-live e nível de "oficialidade" perante o Meta.
Caminho 1 — Baileys (via MyPhone, QR code). Conexão não-oficial via bridge Node.js, equivalente a escanear o QR code do WhatsApp Web. Vai ao ar em minutos, serve pra PME, teste ou canal secundário. Não é o caminho oficial do Meta — o número pode ser desabilitado pelo Meta se detectado uso em volume anormal. Tempo médio de setup: 5 minutos. Custo: incluso no plano.
Caminho 2 — Gupshup (BSP oficial). Conexão via API oficial da Gupshup, um Business Solution Provider aprovado pelo Meta. Sua WABA (WhatsApp Business Account) é criada via Gupshup, o número é verificado (Business Verification do Meta) e o Interaflow consome a API da Gupshup pra enviar/receber mensagens. Tempo médio de setup: 2–5 dias úteis.
Caminho 3 — Zenvia (BSP oficial). Mesma arquitetura do caminho 2 trocando Gupshup por Zenvia. Útil quando você já tem contrato com a Zenvia (SMS, Voice) e quer consolidar billing. Tempo e custo equivalentes.
O que a integração padroniza, independente do caminho. Webhook de entrada com payload canonical (mesmo formato em Baileys, Gupshup ou Zenvia) — seu código não precisa saber qual caminho está ativo. Templates HSM gerenciados no painel (criar, editar, submeter pra aprovação do Meta via BSP), interpolação de variáveis via API no envio, gravação de conversa com retenção configurável, transcrição (quando áudio), status de entrega em tempo real. Se troca de caminho amanhã, só o backend muda — UI, API e relatórios ficam idênticos.
O que o Meta decide, independente do Interaflow. Business Verification (1–5 dias), aprovação de template HSM (2–72h por template), tier de volume (250 conversas/dia → 1.000 → 10.000 → 100k, escalonado conforme qualidade do número) e janela de sessão (resposta orgânica de 24h após mensagem do cliente; fora dessa janela, só HSM). Isso não é plataforma — é protocolo do WhatsApp Business. A gente expõe cada um no painel sem esconder. Mais contexto no pillar /whatsapp e no hub /integracoes.
Ficha técnica
Ficha técnica da integração
Os três caminhos lado a lado, com tempos honestos e limites repassados do Meta sem filtro. Se depois disso faltar resposta, a gente abre uma call com engenharia.
Caminhos de conexão disponíveis
| Oficialidade | Setup típico | Quando escolher | Observação | |
|---|---|---|---|---|
| Baileys (MyPhone) | Não-oficial (bridge Node.js com QR code) | ~5 min | PME, teste, canal secundário, volume baixo | Meta pode desabilitar o número por detecção de uso anômalo |
| Gupshup (BSP oficial) | Oficial (BSP aprovado pelo Meta) | 2–5 dias úteis | Operação em escala, HSM, tier alto | Tarifa por mensagem HSM repassada |
| Zenvia (BSP oficial) | Oficial (BSP aprovado pelo Meta) | 2–5 dias úteis | Quem já tem contrato Zenvia (SMS, Voice) | Mesma arquitetura do Gupshup, billing consolidado |
| Meta Cloud API direto | Oficial (sem BSP intermediário) | em rollout | Quem quer pular o BSP e cobrar direto do Meta | Em rollout — ver Decisão pendente 1 |
Baileys (MyPhone)
- Oficialidade
- Não-oficial (bridge Node.js com QR code)
- Setup típico
- ~5 min
- Quando escolher
- PME, teste, canal secundário, volume baixo
- Observação
- Meta pode desabilitar o número por detecção de uso anômalo
Gupshup (BSP oficial)
- Oficialidade
- Oficial (BSP aprovado pelo Meta)
- Setup típico
- 2–5 dias úteis
- Quando escolher
- Operação em escala, HSM, tier alto
- Observação
- Tarifa por mensagem HSM repassada
Zenvia (BSP oficial)
- Oficialidade
- Oficial (BSP aprovado pelo Meta)
- Setup típico
- 2–5 dias úteis
- Quando escolher
- Quem já tem contrato Zenvia (SMS, Voice)
- Observação
- Mesma arquitetura do Gupshup, billing consolidado
Meta Cloud API direto
- Oficialidade
- Oficial (sem BSP intermediário)
- Setup típico
- em rollout
- Quando escolher
- Quem quer pular o BSP e cobrar direto do Meta
- Observação
- Em rollout — ver Decisão pendente 1
Meta Cloud API direto em rollout — promover pra caminho principal quando GA.
Autenticação (por caminho)
Baileys
pareamento via QR code; credenciais criptografadas (Fernet) em storage isolado por tenant; renovação automática da sessão.
Gupshup
API key oficial do Gupshup (armazenada criptografada) + ID de aplicação; rotação via painel.
Zenvia
token OAuth2 Zenvia + integration-id; refresh automático.
Meta Cloud API direto
(rollout) token permanente de System User + WABA ID + Phone Number ID; rotação via painel.
Eventos publicados (payload canonical)
message.inbound
< 200ms
message.outbound
instantâneo
message.status
tempo real
template.status_changed
2–72h (Meta)
session.window_expiring
1h antes
contact.profile_updated
em rollout
Payload canonical no webhook
POST https://<tenant>.interaflow.com.br/webhooks/whatsapp
Content-Type: application/json
X-Interaflow-Signature: sha256=...
X-Interaflow-Channel-Source: gupshup # ou baileys, zenvia, cloud-api
{
"event": "message.inbound",
"channel": "whatsapp",
"tenant_id": "tn_x9k",
"conversation_id": "conv_5f3b2a",
"from": { "phone": "+5511998877665", "name": "Ana" },
"to": { "phone": "+5511999990001", "waba_id": "1098..." },
"message": {
"type": "text",
"text": "preciso trocar o horário",
"timestamp": 1745070600
},
"session": { "window_expires_at": 1745157000 }
}Templates HSM, janela e resiliência
- Templates HSM: criar, editar e submeter via painel; sync automático pra aprovação do Meta via BSP. Categorias: Marketing, Utility, Authentication. Versionamento por edição. Interpolação via API no envio. CRUD via API Interaflow em rollout.
- Janela de sessão (24h): resposta orgânica livre por 24h após mensagem inbound; fora da janela, só HSM. Evento
session.window_expiringavisa 1h antes de fechar. - Idempotency key por mensagem outbound; retry exponencial (1s → 4s → 16s → 1min → 5min → 30min); DLQ com replay manual.
- Rate limit do Meta exposto: tier do número visível no painel (250 / 1.000 / 10.000 / 100k conversas/dia).
- Observabilidade: dashboard por canal, log por mensagem com payload canonical + raw do BSP (30 dias), alertas Slack/email/webhook, tier health (high/medium/low).
6
RETRIES ANTES DE DLQ
100k
TIER MÁX (META) / DIA
24h
JANELA DE SESSÃO (META)
30d
RETENÇÃO DE LOG
Fonte dos prazos 2–72h HSM e tiers de volume: documentação oficial do Meta. Arquitetura de retry e DLQ descrita também em /integracoes (outbox pattern compartilhado).
Como funciona
O fluxo de uma mensagem, do cliente ao painel do agente
Um diagrama resolve mais que cem bullets. Mostra onde cada mensagem nasce, por onde passa e onde aterrissa — sem esconder o BSP no caminho.
INBOUND — cliente → agente
- Cliente WhatsApp
- Meta (WABA)
- Baileys · Gupshup · Zenvia · Cloud API (rollout)
- Normalizador canonical
- Event bus Interaflow
- Flow engine · Fila · Painel agente
OUTBOUND — agente → cliente
- Painel · Flow · Campanha
- Outbox queue (idempotency + retry)
- Adapter por canal
- Baileys · Gupshup · Zenvia · Cloud API (rollout)
- Meta (WABA)
- Cliente WhatsApp
Diagrama em low-fi — SVG final marcado como needs-asset.
Linha do tempo de uma mensagem inbound típica
00:000s
Cliente envia mensagem no WhatsApp
00:150s
Meta entrega ao BSP (Gupshup, no exemplo)
00:300s
Gupshup dispara webhook pro Interaflow
00:450s
Normalizador converte payload pra canonical
00:550s
Event bus publica message.inbound
00:900s
Flow engine classifica intenção, aloca na fila Suporte
01:800s
Painel do agente notifica (pop-up + som)
Latências típicas — refinar com medição real no ambiente.
Portabilidade entre BSPs. O mesmo número pode ser desligado de um BSP e religado em outro via processo oficial do Meta (migration token). Durante a janela de migração (tipicamente 24–72h), a gente mantém dupla escuta — webhook dos dois BSPs — pra nenhuma mensagem inbound se perder. Outbound é pausado por alguns minutos na virada.
Casos de uso
Três jeitos de usar WhatsApp Business + Interaflow
Operações diferentes usam WhatsApp de formas muito diferentes. Três recortes que cobrem o que a gente vê instalado em campo — com os limites de cada um.
Atendimento reativo (SAC) — janela de 24h é o seu amigo
Quem usa:Operação de suporte / SAC que recebe cliente no WhatsApp, atende em fila humana com apoio de IA, e fecha na janela de sessão (sem HSM) sempre que possível.
−18%vs. chat humano-sóTMA PÓS-COPILOTO
- Cliente manda mensagem no número oficial (WhatsApp Business API via BSP).
- Interaflow recebe via webhook, normaliza pro payload canonical, aloca na fila Suporte.
- Agente atende no painel unificado — histórico, últimas interações, deal/ticket do CRM.
- Conversa fecha dentro das 24h → zero custo de HSM, só tarifa de sessão do BSP.
- Reabertura D+2 pelo flow builder usa HSM Utility aprovado, quando precisa.
Mix de mensagens numa conversa típica
- Sessão (24h) 85%
- HSM Utility (reabertura) 12%
- Transferência p/ outro canal 3%
Outbound transacional — HSM Utility dentro do flow builder
Quem usa:Operação que precisa avisar cliente (pedido enviado, boleto vencendo, consulta confirmada) — caso de uso Utility do Meta, não Marketing.
72%+48pp vs. SMSTAXA DE LEITURA HSM UTILITY
- Evento externo (ERP, agendamento, cobrança) chega via webhook ou API no Interaflow.
- Flow builder dispara template HSM Utility aprovado (ex: pedido_enviado + variáveis).
- Cliente responde em até 24h → abre janela de sessão, bot ou humano resolve sem novo HSM.
- Se não responder, régua de D+2 e D+5 com HSM Utility diferentes (reforço, lembrete).
- Dashboard de canal mostra taxa de entrega, leitura e resposta por template.
Distribuição por categoria HSM
- Utility 78%
- Authentication (2FA, OTP) 18%
- Marketing 4%
Outbound marketing — campanha HSM com opt-in explícito
Quem usa:Marketing / growth que roda campanha promocional (lançamento, reativação) em lista opt-in.
12%vs. 2–3% e-mailCTR MÉDIO HSM MARKETING
- Lista opt-in (vinda do CRM via integração) importada como mailing de campanha.
- Template HSM Marketing aprovado pelo Meta com botões CTA (Quero / Mais tarde / Não quero).
- Campanha respeita rate limit do tier; "Não quero" entra em supressão automática.
- Respostas orgânicas (dentro da janela de 24h) caem em fila específica — atendente vende.
- Relatório cruza template × tier × horário × CTR × conversão.
Mix de resposta da campanha
- Clicou CTA positivo 55%
- Respondeu orgânico 18%
- Não interagiu 25%
- Opt-out 2%
Números ilustrativos baseados em benchmark de mercado (Meta Business + relatórios públicos de BSP). Serão substituídos por case Interaflow real com cliente autorizado.
How-to
5 passos pra conectar um número de WhatsApp Business
Baileys (QR code): ~5 minutos. BSP oficial (Gupshup/Zenvia): 2 a 5 dias úteis — a maior parte esperando o Meta aprovar Business Verification e templates.
Roadmap de setup · caminho BSP oficial
- 5%1. Escolher o caminho
- 20%2. Criar ou portar a WhatsApp Business Account (WABA)
- 70%3. Business Verification no Meta
- 90%4. Aprovar templates HSM iniciais
- 100%5. Test run + produção
Tempo médio BSP oficial: 2–5 dias úteis (maior parte esperando Meta). Via Baileys (QR code): ~5 minutos, pula pro passo 5.
Escolher o caminho
No painel do Interaflow, em Configurações → Canais → Novo canal WhatsApp, escolhe o caminho: Baileys (QR code — rápido, não-oficial), Gupshup (BSP oficial), Zenvia (BSP oficial) ou Meta Cloud API direto (em rollout). Pra Baileys, escaneia o QR code e pula pro passo 5.
Criar ou portar a WhatsApp Business Account (WABA)
Se for número novo: você cria a WABA no painel do BSP escolhido via wizard guiado. Precisa de um número que não esteja ativo no WhatsApp comum. Portabilidade: gera um migration token no BSP de origem, ativa no destino, e o Meta migra. Janela típica: 24–72h — a gente mantém dupla escuta via webhook dos dois BSPs pra não perder inbound.
Business Verification no Meta
O Meta exige Business Verification pra liberar tier alto (acima de 250 conversas/dia) e algumas categorias de template. Você sobe documento da empresa no Meta Business Manager. Prazo típico: 1 a 5 dias úteis. Esse prazo não é nosso — é do Meta. O painel só expõe o status pra você não sair do Interaflow pra acompanhar.
Aprovar templates HSM iniciais
No painel do Interaflow, em Canais → WhatsApp → Templates, você cria os primeiros HSMs: 1 Utility de boas-vindas, 1 Marketing opcional, 1 Authentication se usar 2FA. A submissão vai pro Meta via BSP. Prazo de aprovação: 2 a 72h por template.
Test run + produção
Com Business Verification aprovada + 1 template Utility aprovado, o painel libera Test run. Verificamos que o BSP aceitou, o Meta entregou, e sua resposta volta como message.inbound no payload canonical. Se 3 passes, liga o switch Habilitar em produção.
Exemplo · test run do número $ interaflow-cli whatsapp test-run --to +5511998877665 → POST https://api.gupshup.io/wa/api/v1/msg (tenant: tn_x9k) ← 202 Accepted (msg_id: gs-f3b7a1) ✓ message.sent (150ms) ✓ message.delivered (890ms via Meta) ✓ message.read (2.4s, cliente abriu) ✓ Payload canonical recebido no webhook.
Comparação
Interaflow vs. BSP standalone vs. middleware genérico
Quem já integrou WhatsApp Business sabe que existem três caminhos — contratar BSP direto, usar middleware genérico em cima do BSP, ou plataforma especialista em contact center (nós). A gente compara os três sem maquiar.
| Middleware (Zapier/Make) + BSP | BSP standalone | Interaflow + BSP | |
|---|---|---|---|
| Quem entrega a conexão oficial | Você (via API do BSP) | BSP | BSP (Interaflow é plataforma em cima) |
| Flow builder visual | Limitado ao que o middleware dá | Básico (cada BSP tem o seu) | Nativo, com IA, 11+ tipos de nó |
| Webhook normalizado | Você normaliza | Formato do BSP (troca = refactor) | Canonical, indiferente ao BSP |
| Templates HSM — UI de gestão | Depende do BSP | UI do BSP | UI Interaflow + sync pro Meta |
| Portabilidade entre BSPs | Você refaz tudo | Vendor lock-in clássico | Suportada (24–72h com dupla escuta) |
| Fila humana + roteamento | Rudimentar | Nativo (fila, SLA, transferência) | |
| Copiloto do agente (IA) | Nativo (plano Plus+) | ||
| Gravação + transcrição de áudio | Você monta | Parcial | Nativa, mesma base do voz |
| Volume suportado | Limitado pelo middleware | Alto (mas só o canal) | Alto (BSP) + resto da operação |
| Custo mensal | Mensalidade middleware + BSP | Só BSP + o que você constrói em cima | Plano Interaflow (inclui tudo) + tarifa BSP |
| Tempo de go-live | 1 dia + N semanas (montando CC) | 2–5 dias + meses (montando UI) | 2–5 dias (BSP + Interaflow juntos) |
Quem entrega a conexão oficial
- Middleware (Zapier/Make) + BSP
- Você (via API do BSP)
- BSP standalone
- BSP
- Interaflow + BSP
- BSP (Interaflow é plataforma em cima)
Flow builder visual
- Middleware (Zapier/Make) + BSP
- Limitado ao que o middleware dá
- BSP standalone
- Básico (cada BSP tem o seu)
- Interaflow + BSP
- Nativo, com IA, 11+ tipos de nó
Webhook normalizado
- Middleware (Zapier/Make) + BSP
- Você normaliza
- BSP standalone
- Formato do BSP (troca = refactor)
- Interaflow + BSP
- Canonical, indiferente ao BSP
Templates HSM — UI de gestão
- Middleware (Zapier/Make) + BSP
- Depende do BSP
- BSP standalone
- UI do BSP
- Interaflow + BSP
- UI Interaflow + sync pro Meta
Portabilidade entre BSPs
- Middleware (Zapier/Make) + BSP
- Você refaz tudo
- BSP standalone
- Vendor lock-in clássico
- Interaflow + BSP
- Suportada (24–72h com dupla escuta)
Fila humana + roteamento
- Middleware (Zapier/Make) + BSP
- BSP standalone
- Rudimentar
- Interaflow + BSP
- Nativo (fila, SLA, transferência)
Copiloto do agente (IA)
- Middleware (Zapier/Make) + BSP
- BSP standalone
- Interaflow + BSP
- Nativo (plano Plus+)
Gravação + transcrição de áudio
- Middleware (Zapier/Make) + BSP
- Você monta
- BSP standalone
- Parcial
- Interaflow + BSP
- Nativa, mesma base do voz
Volume suportado
- Middleware (Zapier/Make) + BSP
- Limitado pelo middleware
- BSP standalone
- Alto (mas só o canal)
- Interaflow + BSP
- Alto (BSP) + resto da operação
Custo mensal
- Middleware (Zapier/Make) + BSP
- Mensalidade middleware + BSP
- BSP standalone
- Só BSP + o que você constrói em cima
- Interaflow + BSP
- Plano Interaflow (inclui tudo) + tarifa BSP
Tempo de go-live
- Middleware (Zapier/Make) + BSP
- 1 dia + N semanas (montando CC)
- BSP standalone
- 2–5 dias + meses (montando UI)
- Interaflow + BSP
- 2–5 dias (BSP + Interaflow juntos)
Interaflow não substitui BSP — contrata BSP por dentro. A comparação é sobre o que vem junto no pacote (contact center, flow, copiloto, IA), não sobre quem conecta no Meta.
FAQ
Perguntas frequentes — Interaflow + WhatsApp Business
Seu número de WhatsApp Business, plugado em 48h — sem ninguém comendo margem escondido.
Escolhe o caminho (Baileys pra testar, BSP oficial pra escala), a gente guia o Business Verification do Meta, aprova os primeiros templates com você, e deixa o número no ar.
- BSP oficial (Meta) · Gupshup + Zenvia
- Webhook normalizado · payload canonical
- Portabilidade suportada · troca BSP sem re-onboarding
Demo real é assim: você traz um número WhatsApp Business (novo ou pra portar), a gente liga, manda um HSM de teste pro seu celular, e mostra o payload canonical chegando no webhook. Sem slide.