WhatsApp Founders

Área de membros

Carregando guias que economizam semanas de tentativa e erro…

Guia técnico

Como otimizar o onboarding da API oficial usando Embedded Signup

Menos abandono no cadastro do cliente: o fluxo que engrena e os pontos em que a pessoa desiste, para você cortar fricção de verdade.

Tem a senha deste guia ou da comunidade? A da comunidade vale para todos os materiais.

Quero fazer parte e receber esse tipo de conteúdo

Como otimizar o onboarding da API oficial usando Embedded Signup

Reduza fricção no cadastro de clientes na Cloud API: Embedded Signup, permissões e primeiras mensagens em minutos.

Última atualização: 30 de março de 2026

Para a visão em um único diagrama com todos os passos da implantação (BM, verificação, coexistência, templates), abra o Mapa de implantação Meta.

Visão geral do fluxo

O Embedded Signup permite que o seu cliente conecte o número de WhatsApp à sua plataforma sem sair da sua interface. O fluxo completo, quando bem implementado, leva menos de 5 minutos.

flowchart LR A["CTA Conectar"] --> B["Facebook Login"] B --> C{"Tem BM?"} C -->|Sim| D["Escolhe BM"] C -->|Não| E["Cria BM"] D --> F["WABA"] E --> F F --> G["Número"] G --> H["SMS / voz"] H --> I["Callback + code"] I --> J["Backend grava token"]

1. Configurando o App no Meta for Developers

Antes de iniciar o Embedded Signup, o app precisa estar corretamente configurado no Meta for Developers.

Permissões obrigatórias

PermissãoPara quê serveNecessita App Review?
whatsapp_business_managementGerenciar WABA, números e templatesSim
whatsapp_business_messagingEnviar e receber mensagensSim
business_managementAcesso à Business Manager do clienteSim

Dica: Solicite todas as permissões de uma vez no App Review. Submissões separadas atrasam a aprovação e podem gerar inconsistências.

Configuração do Webhook

O webhook é essencial para receber eventos em tempo real. Configure-o antes de iniciar o fluxo de Embedded Signup.

  • URL do webhook deve ser HTTPS com certificado válido
  • O verify token deve ser uma string única e secreta
  • Inscreva-se nos campos: messages, message_template_status_update, account_update
  • Responda ao challenge de verificação com status 200

2. Implementando o Embedded Signup

Inicializando o Facebook Login

O fluxo começa com o Facebook Login Dialog. O SDK do Facebook JS precisa ser carregado na página.

Onde criar o config_id: No Meta App Dashboard, vá em Facebook Login > Settings e crie uma configuração. O config_id gerado é o que você usa no código abaixo.

FB.login(function(response) {
  if (response.authResponse) {
    const code = response.authResponse.code;
    // Envie o code para seu backend
    // para trocar por um System User Access Token
  } else {
    // Usuário cancelou ou erro no login
    console.error('Embedded Signup cancelado ou falhou');
  }
}, {
  config_id: 'SEU_CONFIG_ID',
  response_type: 'code',
  override_default_response_type: true,
  extras: {
    setup: {
      // Pré-preencha dados do cliente se tiver
      business: { name: 'Nome da Empresa' }
    },
    // Para clientes que já têm WABA e só querem conectar:
    // feature_type: 'only_waba_sharing'
  }
});

Importante: Use response_type: 'code' e troque o code por um token no backend. Nunca exponha tokens no frontend.

feature_type: 'only_waba_sharing': Use esta opção quando o cliente já tem uma WABA criada e só quer compartilhá-la com a sua plataforma. Pula a criação de BM e WABA, reduzindo fricção.

Trocando o code por token

No seu backend, faça a troca do authorization code por um access token de longa duração. Use sempre a versão mais recente da Graph API:

GET https://graph.facebook.com/v22.0/oauth/access_token
  ?client_id={app-id}
  &client_secret={app-secret}
  &code={code-received}

Versionamento: Substitua v22.0 pela versão mais recente da Graph API. Versões são depreciadas a cada ~2 anos. Consulte a documentação de versões.

3. Boas práticas para reduzir abandono

flowchart TD A["Abandono alto"] --> B{"Onde para?"} B -->|Login Meta| C["CTA claro + por quê"] B -->|BM| D["Pré-preencher empresa"] B -->|SMS| E["Formato E.164 + dicas"] B -->|Erro| F["Mensagens específicas"] C --> G(["Medir funil"]) D --> G E --> G F --> G

Pontos críticos de abandono

  1. Momento do login Facebook: muitos clientes hesitam. Explique que é necessário para conectar o WhatsApp oficialmente e que você não terá acesso ao Facebook pessoal.
  2. Seleção/criação da BM: clientes com múltiplas BMs se confundem. Se possível, pré-selecione a BM correta.
  3. Verificação do número: o código SMS pode atrasar. Ofereça a opção de verificação por ligação como fallback imediato.
  4. Erros de permissão: se o usuário não é admin da BM, o fluxo falha silenciosamente. Detecte isso verificando o campo response.authResponse e mostre mensagem clara: "Você precisa ser administrador do Business Manager para conectar o WhatsApp."

UX que funciona

  • Mostre um stepper visual com as etapas do processo
  • Adicione um vídeo curto (30s) mostrando o fluxo completo
  • Tenha um chat de suporte disponível durante o onboarding
  • Envie e-mail com instruções antes do cliente iniciar

4. Pós-conexão: primeiras mensagens

Após o Embedded Signup, o número está conectado mas ainda não pode enviar mensagens proativas. Você precisa:

  1. Registrar o número: POST /{phone-number-id}/register
  2. Criar um template: submeta para aprovação da Meta (leva de minutos a 24h)
  3. Enviar a primeira mensagem: use o template aprovado via POST /{phone-number-id}/messages

Dica de founder: Crie um template genérico de boas-vindas antes do onboarding e use-o imediatamente após a conexão. Isso dá ao cliente a sensação de que "já está funcionando".

5. Checklist de go-live

ItemStatusObservação
App aprovado no App ReviewObrigatórioSubmeta com screenshots e vídeo do fluxo
Webhook recebendo eventosObrigatórioTeste com a ferramenta de debug da Meta
Token de sistema configuradoObrigatórioUse System User token, nunca User token
Template de boas-vindas aprovadoRecomendadoCrie antes do primeiro onboarding
Error handling implementadoRecomendadoTrate pelo menos os 5 erros mais comuns
Analytics no funil de signupRecomendadoMeça cada etapa para otimizar
Fluxo testado com conta realObrigatórioTeste com um número que não está na API

Botões +/− ou roda do mouse: zoom · arrastar: mover · teclas + e − também ajustam o zoom · no telefone, use Compartilhar para enviar o link do material