Reenviar, cancelar e substituir um código de verificação: o que acontece ao anterior

WhatsApp e APIs·· 10 visualizações· 3 min de leitura

A resposta curta: para mandar outro código ao cliente, use POST /v1/sms/otp/{id}/resend: sai um código novo, com o mesmo id, e a validade volta a contar. Para fazer um código deixar de valer, use POST /v1/sms/otp/{id}/cancel. E lembre-se de que um código novo para o mesmo número, pedido com POST /v1/sms/otp, anula sempre o anterior.

Reenviar, cancelar ou pedir outro

Operação O que faz Quando usar
/resend Envia um código novo com o mesmo id; a validade recomeça; as tentativas já gastas continuam gastas O cliente diz que não recebeu, ou o código expirou
/cancel Um código pendente deixa de valer; o SMS já enviado não é devolvido O cliente desistiu, mudou de número ou a operação foi anulada
POST /v1/sms/otp Cria um código novo, com id novo e tentativas do zero; o anterior para o mesmo número fica cancelled O código falhou por tentativas, ou quer mudar as regras (tamanho, validade)

O que acontece ao código antigo

Do código antigo só existia o hash, por isso não há maneira de o «enviar outra vez». Cada reenvio gera algarismos diferentes, e o anterior deixa de valer. Se o cliente receber dois SMS seguidos (por exemplo, um que se atrasou e o reenviado), só o mais recente funciona. Diga-o no ecrã: «Use o código do SMS mais recente.»

O botão «Reenviar código» no seu ecrã

1 Não o mostre logo. Dê tempo ao primeiro SMS para chegar antes de deixar pedir outro. Se definir uma espera entre reenvios nas regras da conta, a API faz cumprir essa espera.
2 Mostre-o como contagem: «Pode pedir outro código daqui a 45 segundos.» O cliente sabe que não tem de carregar mais vezes.
3 Chame /resend só para códigos pending ou expired. Com um código verificado, falhado ou cancelado, a API recusa: peça um código novo.
4 Actualize a contagem decrescente com o expires_at que a resposta do reenvio traz, e as tentativas com attempts_left.
Por omissão não há limite de reenvios. Cada reenvio é um SMS novo e gasta créditos. Sem uma espera definida, um cliente impaciente ou um robô pode carregar em «Reenviar» dezenas de vezes. Defina a espera e o máximo por número e por hora: veja os limites contra o abuso.
Com uma chave Sandbox, a resposta do reenvio também traz o código, como a do envio. Pode testar o fluxo «não recebi, reenviar, conferir» sem gastar créditos.

Quer reenviar e cancelar códigos sem perder o controlo? Veja o SMS de Verificação.

Ver o SMS de Verificação

VEJA TAMBÉM

Estados de um código de verificação: pending, verified, expired, failed e cancelled

Limites contra o abuso: códigos por número e por hora e a espera entre reenvios

O ecrã do código: o campo, a contagem decrescente, as tentativas que restam e mensagens claras

O código de verificação por SMS não chegou: o que conferir, do seu lado e do lado do cliente

Tamanho, validade e tentativas do código: como escolher length, expires_in e max_attempts

API de verificação por SMS: geramos, enviamos e conferimos o código, e o seu sistema guarda só o id

PRODUTO RECOMENDADO

Hospedagem de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 396,00 MT/mês (plano de 3 anos, com cupão)

Ver planos
Esta resposta foi útil? A sua resposta ajuda-nos a melhorar este artigo.