
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
|
|
|
|
|
| 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 |
PRODUTO RECOMENDADO Hospedagem de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde $6.60/mês (plano de 3 anos, com cupão) Ver planos |











