Bot do Telegram para vender números virtuais: como estruturar
Um bot do Telegram que vende números é uma revenda com interface de conversa: o cliente escolhe o serviço por botões, o bot compra o número pela API do Flash SMS e manda o código no chat quando ele chega. A parte importante não é o chat, é o servidor que guarda a chave, o saldo dos clientes e cada ativação.
- O bot conversa com o Telegram; o seu servidor conversa com a API do Flash SMS.
- Cada cliente tem saldo próprio no seu banco de dados.
- Uma rotina em segundo plano consulta getStatus e envia o código no chat.
- A chave da API nunca aparece em mensagens, logs públicos ou no código do bot compartilhado.
As peças da arquitetura
- O bot, criado no BotFather do Telegram, que recebe comandos e cliques em botões.
- Um servidor (pode ser um VPS ou uma função na nuvem) com o código do bot e a chave da API em variável de ambiente.
- Um banco de dados com usuários do Telegram, saldo de cada um, recargas e ativações.
- Uma rotina que consulta getStatus das ativações abertas e avisa o cliente.
- A sua forma de receber pagamento dos clientes, que é independente do Flash SMS.
O fluxo de uma venda no chat
O cliente toca em Comprar, escolhe o serviço e o país. O bot mostra o preço, calculado a partir do cost de getPrices com a sua margem. Ao confirmar, o servidor verifica o saldo do cliente, chama getNumber, guarda o id e responde com o número e um aviso de que ele tem 20 minutos.
Enquanto isso, a rotina consulta getStatus daquele id a cada 5 a 10 segundos. Ao receber STATUS_OK, edita a mensagem com o código e chama setStatus status=6. Ao receber STATUS_CANCEL, devolve o valor ao saldo do cliente e avisa no chat.
Botões que valem a pena ter
- Cancelar: liberado só depois de 2 minutos; antes disso a API responde EARLY_CANCEL_DENIED.
- Outro código: chama setStatus status=3 depois do primeiro código, sem custo, dentro dos 20 minutos.
- Meu saldo e Recarregar.
- Histórico com os últimos números e códigos do cliente.
Cuidados de segurança e de uso
Bots recebem muitas mensagens automáticas. Limite quantas compras simultâneas cada usuário pode ter, para que ninguém esvazie o seu saldo com um erro ou de propósito. Registre quem comprou o quê.
Deixe as regras visíveis no comando de início: números para verificar contas próprias, sem contas em massa, sem fraude. Uso abusivo pela sua revenda pode levar ao bloqueio da sua chave.
Dúvidas
Perguntas frequentes
Preciso de um servidor ligado o tempo todo?
Precisa de algo que rode a consulta de status enquanto há números abertos. Pode ser um servidor simples ou uma função agendada, desde que guarde a chave em segredo.
A API avisa o bot quando o SMS chega?
A documentação descreve a consulta com getStatus a cada 5 a 10 segundos. É essa rotina que descobre o código e manda para o chat.
Posso usar uma biblioteca feita para o sms-activate?
Sim. As ações e respostas seguem o mesmo padrão; normalmente basta trocar o endereço e a chave.
E se o meu servidor cair com números abertos?
Os números sem SMS expiram e o valor volta para o seu saldo. Ao voltar, revise as ativações abertas no banco com getStatus e acerte o saldo dos clientes.
API e integrações
Continue lendo
Como testar o envio de OTP por SMS em homologação
Números reais de operadoras brasileiras para validar o SMS do seu produto.
Como automatizar o recebimento do código SMS pela API
Consulta periódica com getStatus, os estados possíveis e quando parar.
Erros comuns da API do Flash SMS e como resolver
Cada resposta de erro da documentação, com a causa e a correção.
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.
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