Saltar para o conteúdo principal
A sua aplicação cria um código de acesso único, envia-o para o WhatsApp do cliente com a API do Flowella e verifica o código que o cliente introduz. A mensagem usa um modelo de autenticação com um botão de copiar código. O papel do HubSpot é opcional: a sua aplicação pode registar o resultado no contacto.
Um workflow do HubSpot não consegue enviar códigos de acesso. A ação Send WhatsApp Template do Flowella não consegue dar a um botão OTP ou de copiar código um valor diferente para cada contacto, e o HubSpot não deve guardar os códigos. Em vez disso, envie os códigos a partir da sua aplicação com a API.

Resumo

Como funciona

O diagrama mostra uma tentativa de início de sessão, desde o pedido do código até ao início de sessão ou ao bloqueio.

Antes de começar

  • Crie uma chave de API. Consulte Chaves de API. Este endpoint aceita apenas chaves de API, não tokens de acesso OAuth.
  • Recolha o número WhatsApp de cada cliente em formato internacional, como +447700900123, e o seu consentimento para receber códigos no WhatsApp. Consulte as orientações sobre consentimento da Meta.
  • Leia a introdução à API para saber mais sobre autenticação, erros e limites de taxa.

Criar o modelo

Crie o modelo no WhatsApp Manager da Meta, com a categoria Authentication e um botão de copiar código. Só os modelos de autenticação podem conter um código de acesso único e precisam de um botão de copiar código ou de um toque. A Meta define o texto: “<code> is your verification code.” Pode adicionar um aviso para não partilhar o código e uma linha de validade de 1 a 90 minutos. Não são permitidos URLs, conteúdo multimédia nem emojis, e o código pode ter até 15 caracteres. Depois de a Meta aprovar o modelo, este aparece no Flowella. Consulte as diretrizes de categorização de modelos e os modelos de autenticação com copiar código da Meta. Se também enviar mensagens aos clientes sobre um bloqueio, use um modelo Utility separado, como Hi {{1}}, we have paused sign-in to your account after several incorrect codes. Try again in 30 minutes or contact our support team. Um alerta de segurança da conta sem promoções enquadra-se em Utility.

Enviar um código

1

Encontrar o modelo e o canal

Chame GET /v1/templates?status=APPROVED. Anote o id e o wabaId do seu modelo e o whatsappChannelId do número a partir do qual envia. Consulte Vários canais se tiver vários números.
2

Criar o código na sua aplicação

Gere um código aleatório com até 15 caracteres. Guarde um hash do código com uma validade curta e marque-o como de utilização única.
3

Enviar o pedido

Coloque o código duas vezes: uma como parâmetro do corpo e outra como valor do botão de copiar código. O formato de envio da Meta trata o botão de copiar código como um botão de URL, por isso use subType url, com index 0 para o primeiro botão.
Uma resposta 202 com "status": "accepted" significa que o Flowella colocou o envio em fila. Não confirma a entrega.
4

Verificar o código

Quando o cliente introduzir o código, compare-o com o hash guardado. Aceite-o uma única vez e apenas antes de expirar.
5

Tratar reenvios e bloqueios

Envie um novo código a cada tentativa e invalide o anterior. Espere pelo menos 15 segundos antes de um reenvio: o Flowella ignora um segundo envio do mesmo modelo para o mesmo número em menos de 15 segundos. Limite o número de tentativas e depois bloqueie o início de sessão durante um período definido e ofereça suporte.
6

Registar o resultado no HubSpot (opcional)

Faça com que a sua aplicação atualize o contacto HubSpot através da API do HubSpot, por exemplo Last WhatsApp verification (Date and time picker) e Last verification result (Dropdown select: Passed, Failed, Locked). Um workflow do HubSpot pode então criar uma tarefa quando o resultado for Locked. Nunca guarde códigos no HubSpot.
Use uma nova Idempotency-Key para cada código, como o seu próprio ID de verificação. Uma repetição com a mesma chave nos 7 dias seguintes devolve o id original e não envia nada.

Testar a integração

  1. Envie um código para o seu próprio número WhatsApp e confirme que o botão de copiar código o copia.
  2. Introduza um código errado, peça um reenvio depois da espera e confirme que o código antigo deixou de funcionar.
  3. Acompanhe a entrega com os eventos de webhook message.delivered e message.failed. Consulte Webhooks.

Resolução de problemas

Relacionado

Última modificação em 24 de outubro de 2026