Erros comuns da API do Flash SMS e como resolver
A API do Flash SMS responde com códigos curtos em texto, no padrão sms-activate. Quando algo dá errado, a resposta diz o motivo: chave inválida, saldo insuficiente, falta de estoque ou status pedido na hora errada. Esta lista cobre todas as respostas de erro que a documentação descreve.
- BAD_KEY, BAD_ACTION e BAD_SERVICE são erros na requisição: corrija a chave, a ação ou o código do serviço.
- NO_BALANCE e NO_NUMBERS não cobram nada: recarregue ou tente outro servidor.
- EARLY_CANCEL_DENIED e BAD_STATUS são de tempo: espere 2 minutos ou o código chegar.
- ERROR_SQL é temporário: tente de novo em instantes.
Erros de requisição
- BAD_KEY: a chave está errada, faltando ou foi trocada. Se você gerou uma nova em Minha conta, a anterior parou de funcionar na hora. Atualize a variável de ambiente do seu servidor.
- BAD_ACTION: a ação não existe. Confira a grafia exata, com maiúsculas: getNumber, getStatus, setStatus. No server=2, DDD ou operadora inválidos também devolvem BAD_ACTION.
- BAD_SERVICE: o código do serviço não existe. Use os códigos de getServicesList, como wa, tg e go, e não o nome do aplicativo.
Erros de saldo e de estoque
- NO_BALANCE: o saldo da sua conta não cobre o número. Recarregue no painel; acompanhe com getBalance para não chegar a zero.
- NO_NUMBERS: não há número agora para aquele serviço, país, servidor ou filtro de DDD e operadora. Nada foi cobrado. Tente de novo depois ou mude o server.
Erros de ativação
- NO_ACTIVATION: o id não foi encontrado na sua conta. Confira se você está usando o id da resposta ACCESS_NUMBER e a mesma chave da compra.
- EARLY_CANCEL_DENIED: o cancelamento foi pedido antes de 2 minutos da compra. Espere e tente de novo.
- BAD_STATUS: status inválido, ou status=6 pedido antes de o SMS chegar. Também aparece no status=3 quando a operadora não libera outro SMS. Para encerrar sem código, use status=8.
Falha temporária
ERROR_SQL indica uma falha temporária do lado do servidor. Espere alguns segundos e repita a chamada. Em compras, antes de repetir getNumber, verifique se a primeira tentativa não gerou uma ativação, para não comprar dois números sem querer.
Se um erro persistir sem motivo aparente, abra um ticket no painel com o motivo API / revenda, informando a ação, o horário e a resposta recebida, nunca a sua chave.
Dúvidas
Perguntas frequentes
ACCESS_ACTIVATION no cancelamento é erro?
Não. Ao pedir status=8 depois que o SMS já chegou, o número é encerrado sem estorno e a resposta é ACCESS_ACTIVATION, porque a compra foi concluída.
NO_NUMBERS cobra alguma coisa?
Não. Quando não sai número, nada é descontado do saldo.
Perdi a chave e agora recebo BAD_KEY. E agora?
A chave não pode ser exibida de novo. Gere outra em Minha conta, API de revenda, e atualize o seu sistema.
Como evito BAD_SERVICE?
Busque os códigos em getServicesList e guarde no seu sistema. Os mais usados estão na página da API, como wa para WhatsApp.
API e integrações
Continue lendo
API de SMS em Python: comprar número e ler o código
Um script curto com requests, do getNumber ao código na tela.
API de SMS em Node.js: exemplo com fetch
fetch nativo, URLSearchParams e um laço com await.
API de SMS em PHP: comprar número e receber o código
http_build_query, file_get_contents e um laço com sleep.
Saldo para revendedores: como funciona o saldo usado pela API
Um saldo só para painel e API, debitado por número comprado.
Número virtual para agências de marketing: como organizar as contas dos clientes
Verificação sem o chip da equipe, contas em nome do cliente e acesso documentado.
Google Play Console: como verificar o telefone da conta de desenvolvedor
O número de contato do desenvolvedor é confirmado por código e precisa continuar seu.
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