Artigo · API e integrações

Como automatizar o recebimento do código SMS pela API

Na API do Flash SMS, o código é recebido por consulta: o seu sistema chama getStatus com o id da ativação a cada 5 a 10 segundos até receber STATUS_OK com o código ou STATUS_CANCEL. A documentação não descreve aviso automático do servidor, então a automação é um laço de consulta bem feito.

Atualizado em 04/11/2026 · Leitura de 3 min

Em resumo
  • Intervalo recomendado: de 5 a 10 segundos entre consultas.
  • Pare ao receber STATUS_OK (código chegou) ou STATUS_CANCEL (acabou sem SMS).
  • O número dura 20 minutos; um laço de 240 consultas de 5 segundos cobre esse tempo.
  • Depois do código, finalize com setStatus status=6.

Os estados que getStatus devolve

  • STATUS_WAIT_CODE: ainda esperando o SMS. Continue consultando.
  • STATUS_OK:482913: o código chegou; o que vem depois dos dois-pontos é o código.
  • STATUS_WAIT_RETRY:482913: você pediu outro SMS com status=3; o número depois dos dois-pontos é o código anterior, e o novo ainda não chegou.
  • STATUS_CANCEL: a ativação acabou sem SMS e o valor já voltou para o seu saldo.
  • NO_ACTIVATION: o id não existe na sua conta, normalmente id errado ou de outra chave.

Como montar o laço

Depois de getNumber, guarde o id e a hora da compra. Em seguida, repita: espere 5 segundos, chame getStatus, olhe o começo da resposta. Se começar com STATUS_OK, separe o código pelo caractere de dois-pontos, entregue ao usuário e chame setStatus com status=6. Se for STATUS_CANCEL, encerre e devolva o crédito ao seu cliente, se for uma revenda.

Consultar mais rápido do que a cada 5 segundos não faz o SMS chegar antes. Só aumenta o número de chamadas.

Rodar em segundo plano

Em vez de prender a requisição do usuário enquanto espera, coloque cada ativação aberta numa fila ou tabela e deixe um processo em segundo plano fazer as consultas. A tela do usuário só lê do seu banco de dados. Assim, se a pessoa fechar a página, o código continua sendo buscado e fica salvo.

Esse processo também deve ter um limite: passados os 20 minutos, a ativação já foi encerrada pelo Flash SMS. Uma última consulta confirma o STATUS_CANCEL e fecha o registro.

Quando o usuário precisa de outro código

Se o aplicativo pedir um novo código, chame setStatus status=3. A resposta ACCESS_RETRY_GET confirma; volte ao laço até aparecer um STATUS_OK diferente do anterior. Isso só funciona depois do primeiro código e dentro dos 20 minutos. Se vier BAD_STATUS, a operadora não liberou.

Dúvidas

Perguntas frequentes

Existe webhook para receber o código?

A documentação da API descreve apenas a consulta com getStatus. Monte a automação com consultas a cada 5 a 10 segundos.

Posso finalizar antes de o código chegar?

Não. status=6 sem SMS devolve BAD_STATUS. Para encerrar sem código, use status=8 a partir de 2 minutos.

Se eu esquecer de finalizar, perco algo?

Não perde dinheiro: o número expira ao fim dos 20 minutos. Finalizar só encerra a ativação antes e mantém os registros organizados.

Quantos números posso acompanhar ao mesmo tempo?

A documentação não fixa um número. Na prática, cada ativação aberta é uma consulta a mais por ciclo, então use um processo que percorra todas em vez de um laço por número.

Receba seu primeiro código hoje

Cadastro em menos de um minuto, recarga por Pix, cartão ou cripto e o SMS no painel. Se não chegar, o valor volta.

Criar conta grátis