Por que usar o WhatsApp para verificação?
Adicione outro canal de entrega junto ao SMS
O WhatsApp permite que os clientes recebam códigos pela internet quando a recepção de SMS não for confiável. Eles precisam do WhatsApp e de uma conexão ativa com a internet.Reduza as etapas de inserção do código
Botões de copiar código reduzem a transcrição manual. As experiências de um toque (one-tap) e zero toque (zero-tap) podem reduzir a troca de aplicativos em apps Android compatíveis e integrados.Otimize o custo de uma verificação concluída
Compare os custos totais do canal por verificação bem-sucedida por mercado, incluindo tarifas de autenticação, tarifas internacionais de autenticação aplicáveis, cobranças da YCloud e fallback para SMS. A Meta cobra por mensagens entregues; uma mensagem não entregue não gera a respectiva taxa de mensagem da Meta. Outras cobranças dependem do seu plano da YCloud. Consulte os preços do WhatsApp e os preços da Meta.Identifique o abandono no fluxo de verificação
Rastreie o aceite da API, a entrega da mensagem e a verificação bem-sucedida separadamente para localizar onde ocorre o abandono. Seu back-end deve rejeitar códigos expirados, reutilizados ou inválidos.Antes de começar
- Faça login na YCloud e conecte uma WABA e um remetente.
- Prepare a lógica de solicitação, geração, armazenamento e validação de códigos. Este guia utiliza a API de mensagens do WhatsApp; o seu sistema gerencia o ciclo de vida do código. Para o serviço de verificação da YCloud, consulte Verify.
- Prepare uma chave de API no servidor e um receptor de Webhook.
- Utilize um destinatário de teste que tenha solicitado o código. Uma solicitação de código não concede permissão para ações de marketing posteriores.
- Configure um canal de SMS e implemente as regras de fallback no seu back-end.
1. Escolha a experiência com o código
| Experiência e integração | Exemplo |
|---|---|
| Copiar código Copie no WhatsApp e cole no seu site ou app. Funciona em várias plataformas. Entrada de código e validação no back-end. | ![]() |
| Um toque / Preenchimento automático Toque em Preenchimento automático para enviar o código ao seu app Android. Integre o SDK Android de OTP da Meta e configure o nome do seu pacote e o hash da chave de assinatura do app. | ![]() |
| Zero toque Seu app Android recebe o código sem alternar para o WhatsApp ou tocar em um botão. Integre o SDK Android de OTP da Meta, configure o nome do seu pacote e o hash da chave de assinatura do app e aceite os termos do zero-tap. | ![]() Tela ilustrativa de entrada de código. O zero toque requer Android. |
2. Crie um modelo de autenticação
Selecione a WABA, o nome e o idioma
Abra Modelos para a WABA desejada na YCloud, selecione Add Template e escolha Authentication. Use letras minúsculas, dígitos e sublinhados para um nome comologin_verification. Escolha o idioma do seu cliente e registre o nome exato aprovado e o código de idioma para o envio. Consulte Criar modelo.
Configure o conteúdo e a ação do código
A autenticação usa texto de código predefinido, com avisos de segurança e expiração compatíveis. Não insira textos promocionais comuns, URLs, mídias ou emojis no corpo da mensagem. Escolha Copy code, Autofill ou Zero Tap. Para Autofill e Zero Tap, insira o nome real do pacote Android e o hash de assinatura e conclua a integração do aplicativo. O Zero Tap também exige o aceite dos termos aplicáveis. Para configuração da API, use o contrato atual desupported_apps em vez de exemplos mais antigos de nível superior com package_name e signature_hash. Siga os guias de integração de autenticação para obter detalhes sobre o SDK do Android e o handshake.
Configure três parâmetros de expiração separados
Recomendamos definir o TTL de entrega do OTP (
messageSendTtlSeconds) como 30 a 60 segundos no seu modelo de autenticação. Mantenha-o dentro do tempo de vida útil restante do código. A YCloud suporta 30 a 900 segundos, com um padrão de 10 minutos para novos modelos.
O aviso de expiração exibido suporta 1 a 90 minutos e não impõe a expiração no back-end. O TTL de entrega interrompe as tentativas de entrega pendentes; ele não recolhe mensagens que já foram entregues. Consulte o contrato da API da YCloud.
Envie e verifique a disponibilidade
Envie o modelo e verifique seu status real de análise. Envie apenas depois que ele estiver aprovado e utilizável. Se for rejeitado, verifique o motivo e siga a seção Análise e ciclo de vida do modelo. Não dependa de um tempo fixo de aprovação.3. Envie por meio da API
Envie imediatamente após o cliente solicitar um código. Escolha o comportamento de envio de que seu fluxo precisa:
Use um modelo de autenticação aprovado com qualquer um dos endpoints.
Prepare a solicitação
- Autentique no lado do servidor com
X-API-Key. - Use números no formato E.164, incluindo os códigos de país, para
frometo. - Defina
typecomotemplatee use o nome e idioma aprovados para a WABA selecionada. - Forneça o mesmo código no corpo e nos parâmetros do botão de OTP.
- Associe sua solicitação de verificação ao ID de mensagem da YCloud. O
externalIdajuda na reconciliação, mas não garante idempotência.
123456 é fictício e deve ser gerado pelo seu sistema de verificação em produção:
sub_type: url; não use uma estrutura comum de botão de código de cupom de marketing. Consulte Autenticação com cópia de código e Enviar uma mensagem de WhatsApp. Você também pode selecionar Mais → Copiar como cURL em um modelo aprovado e verificar os parâmetros gerados em relação à sua configuração.
Uma resposta de sucesso da API não confirma a entrega. Se uma solicitação expirar por tempo limite, verifique os registros de mensagens disponíveis e os retornos de chamada antes de tentar enviar novamente.
4. Receba atualizações de entrega
Em Desenvolvedores → Webhooks, crie um endpoint, insira sua URL de callback e assinewhatsapp.message.updated. Siga o Guia de Webhook para verificação de assinatura, confirmações de recebimento e novas tentativas.
Associe cada ID de mensagem à sua solicitação de verificação:
Marque a verificação como concluída apenas quando seu back-end validar o código. Trate retornos de chamada duplicados e atrasados sem permitir que um status anterior sobrescreva um posterior. Use os Logs de mensagens para investigação manual.
5. Projete a interface e o fallback por SMS
Deixe claro o canal de recebimento
Antes do envio, informe que o código chegará pelo WhatsApp. Após o envio, exiba o destino mascarado, uma mensagem de espera, a contagem regressiva para reenvio e as alternativas disponíveis. Permita que os clientes voltem e corrijam o número.| Estratégia e experiência | Exemplo de frontend |
|---|---|
| WhatsApp primeiro, fallback por SMS Comece com o WhatsApp e ofereça SMS caso a entrega falhe ou demore demais. | ![]() |
| O cliente escolhe Ofereça WhatsApp e SMS antes de enviar e, em seguida, mostre uma contagem regressiva para reenvio e a tela de inserção de código. | ![]() |
Configure o fallback por SMS
Defina o TTL de entrega do OTP como 30 a 60 segundos no seu modelo de autenticação do WhatsApp e alinhe o temporizador de fallback por SMS a esse intervalo.
A Meta cobra por mensagens do WhatsApp entregues. Uma mensagem que expira sem ser entregue não gera cobrança de mensagem da Meta; as tarifas de SMS ainda se aplicam. A ausência de um Webhook de entrega por si só não comprova a não entrega, portanto, ambos os canais podem ser cobrados se o WhatsApp tiver sido entregue antes de expirar. Consulte preços do WhatsApp.
Envie SMS no máximo uma vez por solicitação de verificação, mesmo se os callbacks forem duplicados ou chegarem atrasados. Reutilize o mesmo código não expirado ou invalide o código antigo ao emitir um novo. O fallback não deve estender o tempo de vida do código.
6. Testar antes do lançamento
Após o lançamento, compare taxa de entrega, latência de entrega, conclusão da verificação, proporção de fallback para SMS e custo por verificação bem-sucedida por mercado, canal e dispositivo. Use esses resultados para ajustar a prioridade dos canais e os limites de espera.
Cenário adicional: verificação iniciada pelo cliente
Em um fluxo de verificação iniciado pelo cliente, ele abre o WhatsApp a partir de um aplicativo, envia uma mensagem contendo informações para a verificação atual e retorna ao aplicativo. Essa abordagem exige um desafio de uso único, vinculação de sessão, expiração, proteção contra repetição e confirmação do usuário.Perguntas frequentes
Como posso verificar se o WhatsApp está instalado no Android ou iOS?
No Android, declarecom.whatsapp e com.whatsapp.w4b nas consultas de pacotes (package queries) do manifesto e, em seguida, use o método isWhatsAppInstalled(context) do OTP Android SDK da Meta em uma instância de WhatsAppOtpHandler.
No iOS, use UIApplication.shared.canOpenURL(URL(string: "whatsapp://otp")!) e configure as permissões de consulta de URL scheme exigidas pelo seu aplicativo.
As verificações de instalação ajudam a sugerir um canal no dispositivo atual. Elas não confirmam se o número de telefone inserido está cadastrado no WhatsApp. Permita que os clientes confirmem o número do WhatsApp e escolham outro canal. Consulte as verificações de instalação no Android e iOS da Meta.






