Guia técnico
Como otimizar o onboarding da API oficial usando Embedded Signup
Senha incorreta.
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údoComo 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.
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ão | Para quê serve | Necessita App Review? |
|---|---|---|
whatsapp_business_management | Gerenciar WABA, números e templates | Sim |
whatsapp_business_messaging | Enviar e receber mensagens | Sim |
business_management | Acesso à Business Manager do cliente | Sim |
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
Pontos críticos de abandono
- 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.
- Seleção/criação da BM: clientes com múltiplas BMs se confundem. Se possível, pré-selecione a BM correta.
- 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.
- Erros de permissão: se o usuário não é admin da BM, o fluxo falha silenciosamente. Detecte isso verificando o campo
response.authResponsee 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:
- Registrar o número:
POST /{phone-number-id}/register - Criar um template: submeta para aprovação da Meta (leva de minutos a 24h)
- 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
| Item | Status | Observação |
|---|---|---|
| App aprovado no App Review | Obrigatório | Submeta com screenshots e vídeo do fluxo |
| Webhook recebendo eventos | Obrigatório | Teste com a ferramenta de debug da Meta |
| Token de sistema configurado | Obrigatório | Use System User token, nunca User token |
| Template de boas-vindas aprovado | Recomendado | Crie antes do primeiro onboarding |
| Error handling implementado | Recomendado | Trate pelo menos os 5 erros mais comuns |
| Analytics no funil de signup | Recomendado | Meça cada etapa para otimizar |
| Fluxo testado com conta real | Obrigatório | Teste com um número que não está na API |