A resposta curta: com uma chave sandbox_, a API de verificação faz tudo menos enviar: confere os dados, cria o código e devolve-o no campo code da resposta. Nenhum SMS sai e nenhum crédito é gasto. Assim pode testar a conferência, os erros, a expiração e os reenvios do seu sistema sem um telemóvel na mão. Quando tudo funcionar, troque a chave por uma prod_: o endereço e os pedidos são os mesmos.
Antes de começar
| 1 |
Active o SMS na página SMS do My MozOut, se ainda não o fez. A API de verificação precisa do serviço de SMS activo.
|
|
| 2 |
Crie uma chave Sandbox na página API do My MozOut, com sms:write (enviar e conferir) e, se quiser ver estados e regras, sms:read. A chave só aparece uma vez.
|
|
| 3 |
Faça o primeiro envio e veja o código na resposta.
|
|
curl https://api.mozout.com/v1/sms/otp \
-H "Authorization: Bearer sandbox_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: signup-7f3a9c" \
-d '{"number": "841234567"}'
A resposta traz "simulated": true, "mode": "sandbox" e o code, e o cabeçalho X-API-Simulated: true. Agora confira:
curl https://api.mozout.com/v1/sms/otp/otp_3f9a1c.../verify \
-H "Authorization: Bearer sandbox_..." \
-H "Content-Type: application/json" \
-d '{"code": "482913"}'
Os testes que vale a pena fazer
| Teste |
Como |
O que deve ver |
| Código certo |
Mande o code que veio na resposta |
valid: true, estado verified |
| Código errado |
Mande outros algarismos |
valid: false e attempts_left a descer |
| Tentativas esgotadas |
Erre até ao fim, com max_attempts baixo |
Estado failed; o código certo já não vale |
| Código expirado |
Envie com expires_in a 1 e espere um minuto |
valid: false, estado expired |
| Reenvio |
POST /v1/sms/otp/{id}/resend |
Um code novo na resposta; o antigo deixa de valer |
| Código substituído |
Peça dois códigos seguidos para o mesmo número |
O primeiro fica cancelled |
| Duplo clique |
Repita o envio com a mesma Idempotency-Key |
A mesma resposta, sem código novo |
|
Nunca mostre o code ao navegador, nem na Sandbox. Leia-o nos registos do servidor ou no seu programa de testes. Um código que viaja até à página «só para testar» acaba esquecido em Produção, e aí qualquer pessoa confirma qualquer número. Em Produção, o campo code simplesmente não vem.
|
Passar para Produção sem surpresas
Crie uma chave prod_ com as mesmas permissões e troque-a no servidor. Para garantir que um programa nunca corre com a chave errada, envie o cabeçalho X-API-Mode com sandbox ou production: se não coincidir com o modo da chave, o pedido é recusado com invalid_request e o motivo mode_mismatch. Envie e confira cada código com a mesma chave.
|
Prefere experimentar sem escrever código? Cada operação da documentação da API tem o botão Playground: escolhe a operação, cola a chave Sandbox e vê a resposta no navegador. A chave fica só na memória da página.
|
|
Quer experimentar a verificação por SMS sem gastar créditos? Crie a sua chave Sandbox.
Ver a página da API
|
|
VEJA TAMBÉM
API de verificação por SMS: geramos, enviamos e conferimos o código, e o seu sistema guarda só o id
Pôr a verificação por SMS no seu site: exemplos em PHP, Node.js e Python
Estados de um código de verificação: pending, verified, expired, failed e cancelled
Ler as respostas da API de verificação: valid false, 409, 422 e 429
Enviar SMS pela API: chave, permissões, Sandbox e o primeiro pedido
Uma chave de API ou um token ficou exposto: o que fazer, pela ordem certa
|
PRODUTO RECOMENDADO Alojamento 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 |