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

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

A resposta curta: cada código tem um estado, que vem no campo status de todas as respostas: pending (à espera), verified (confirmado), expired (fora de prazo), failed (sem tentativas) ou cancelled (cancelado ou substituído). Só um código pending pode ainda dar valid: true. O estado diz também o que o seu sistema deve oferecer a seguir.

Os cinco estados

Estado Quer dizer O que fazer a seguir
pending O código saiu e ainda vale Esperar que o cliente o escreva; pode reenviar ou cancelar
verified O cliente escreveu o código certo Continuar. O mesmo código não serve uma segunda vez
expired Passou o tempo de expires_in Reenviar com /resend ou pedir um código novo
failed Acabaram as tentativas Pedir um código novo com POST /v1/sms/otp
cancelled Saiu um código mais novo para o mesmo número, ou foi cancelado Usar o código mais recente, ou pedir um novo

O que cada operação aceita

Operação Funciona com Nos outros estados
/verify Qualquer estado; só pending pode dar valid: true Responde sempre valid: false
/resend pending e expired A API recusa: peça um código novo
/cancel pending Não há nada para cancelar
GET /v1/sms/otp/{id} Qualquer estado Mostra o estado, nunca o código

Os campos que acompanham o estado

1 attempts e attempts_left: as tentativas erradas gastas e as que restam. Mostre attempts_left ao cliente depois de cada erro.
2 expires_at: a hora a que o código deixa de valer, com o fuso horário. Serve para a contagem decrescente no ecrã.
3 verified_at: a hora da confirmação, ou vazio. Guarde-a como prova.
4 resends: quantas vezes o código foi reenviado.
5 mode: se o código nasceu na Sandbox ou em Produção.
valid: false não é um erro da API. A conferência responde 200 mesmo quando o código está errado; é o campo valid que decide. Um código já conferido, expirado ou falhado responde sempre valid: false, mesmo que o cliente escreva os algarismos certos. Os erros HTTP (409, 422, 429) estão em ler as respostas da API de verificação.
Para saber porque falhou, leia o status junto com o valid. valid: false com pending é um engano (ainda há tentativas); com expired é tarde demais; com failed acabaram as tentativas; com cancelled o cliente escreveu um código antigo.

Quer acompanhar cada código, do envio à confirmação? Veja o SMS de Verificação.

Ver o SMS de Verificação

VEJA TAMBÉM

Ler as respostas da API de verificação: valid false, 409, 422 e 429

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

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

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

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

Erros e estados das mensagens na API de SMS: o que significa cada um e o que fazer

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.