api.painelsms.tech • UPTIME 99.98% • REST API v1/v2/v3
API de SMS Virtual & Ativações Ultra Rápida
Integre compra automatizada de números temporários, verificação SMS e Voice OTP em seu sistema. Três motores independentes com alta taxa de entrega e estorno 100% automático.
# Compra de número no padrão REST modernocurl -X POST https://api.painelsms.tech/v1/api/buy \
-H "Content-Type: application/json" \
-d '{
"token": "SUA_CHAVE_API",
"service": "go",
"version": "v2",
"operator": "vivo"
}'
# Resposta instantânea na raiz do JSON:
{
"status": "success",
"aid": "24722162",
"number": "5519976210608",
"price": 0.60,
"saldo_restante": 150.15,
"provider": "diamond"
}
Duas Formas Oficiais de Integração
Escolha o padrão ideal para o seu ecossistema. Ambas as conexões operam com saldo unificado.
Multi-Protocolo Ativo
Forma 1 (Recomendada)JSON / REST
API REST Moderna (v1)
Respostas diretas na raiz do JSON, 4 variantes de motores (Gold, Diamond, Voice OTP e Operadoras) e suporte nativo a Long-Polling em tempo real (/wait) via push push instantâneo.
POST /v1/api/buy: Compra com fallback automático
POST /v1/api/wait: Long-Polling com latência < 5ms
POST /v1/api/cancel: Cancelamento seguro com estorno
Compatibilidade plug-and-play estrita com softwares prontos, bots comerciais, extensões e ferramentas que utilizam o protocolo padrão de mercado (SMS-Activate / 5SIM / SMSHub).
Escolha a rota ideal para a sua aplicação via parâmetro version. Máxima flexibilidade de custo, estabilidade e formato de recebimento.
version: "v2"
Phantom Diamond
Motor SmsCode Premium
A rota mais estável e recomendada para serviços de alta exigência como WhatsApp, Telegram, bancos e aplicativos financeiros.
Números físicos e virtuais de alta qualidade
Suporte a reenvio de novo SMS (/resend)
Filtragem por Operadoras reais do Brasil
Webhook em tempo real e entrega imediata
Parâmetro na API: "version": "v2"
version: "v1"
Phantom GOLD
Motor Phantom GOLD Volume
O campeão de volume com o melhor custo-benefício do mercado. Ideal para criação de contas em massa e automações contínuas.
Menor preço por ativação da plataforma
4 tiers de estoque (Platinum, Gold, Silver, Bronze)
Enorme disponibilidade global em +180 países
Estorno automático garantido se não receber SMS
Parâmetro na API: "version": "v1"
version: "v3"
Phantom Voice OTP
Motor Hero SMS Voice
Ativação por ligação de voz com encaminhamento e gravação de código. A solução definitiva para quando o SMS tradicional é bloqueado.
Recebimento do código OTP por chamada de voz
Transcrição e extração automática dos dígitos
Desbloqueia serviços onde SMS não chega
Alta taxa de aprovação em apps restritos
Parâmetro na API: "version": "v3"
version: "v4"
Phantom Operadoras
Filtragem por Operadora
Seleção granular de chips reais das principais operadoras nacionais (Vivo, TIM, Claro, Surf, Arqia, Links Field e Correios).
Escolha exata da operadora no momento da compra
Preços e estoque discriminados por operadora
Ideal para contornar bloqueios regionais ou por carrier
Estorno automático garantido se não receber SMS
Parâmetro na API: "version": "v4"
Phantom Operadoras Brasileiras
Precisa de uma operadora de telefonia específica no Brasil para passar nos filtros do seu app? Nosso motor Diamond permite selecionar diretamente o chip desejado:
Vivo S.A. Claro Americas TIM Brasil Surf Telecom Correios Celular Arqia Links Field
Retorna todos os serviços disponíveis com seus nomes traduzidos, código de identificação, código do país e sempre o menor preço (mais barato) encontrado em estoque no momento.
GET/v1/catalog/servicesCatálogo Completo com Preço Mais Barato
Endpoints equivalentes: /api/v1/services ou /api/v1?action=getServicesList
Parâmetro
Tipo
Descrição
countryOpcional
string | int
Código numérico do país (padrão: 73 Brasil).
serviceOpcional
string
Filtrar por serviço específico (ex: wa WhatsApp, tg Telegram). Retorna o serviço e suas 10 opções de preços.
versionOpcional
string
Motor: v2 (Diamond), v1 (Gold), v4 (Operadoras) ou v3 (Voice).
Para dar controle total aos seus scripts, este endpoint lista as 10 opções mais baratas em tempo real para o serviço solicitado, organizadas e numeradas de 1 a 10 por ordem crescente de preço:
Provedor Gold (V1): Exibe os números originais de identificação dos provedores (ex: 2953, 3182) e índice 1..10.
Provedor Diamond (V2): Numerado de forma limpa como Opção 1, Opção 2, Opção 3, Opção 4, Opção 5... para configuração facilitada em robôs.
Estruturada para máxima performance, respostas diretas na raiz do JSON e suporte nativo a Long-Polling em tempo real (< 5ms).
v1Phantom Gold
Volume global, menor preço (+180 países).
v2Phantom Diamond
Padrão
Alta entrega, suporte a reenvio (/retry).
v3Phantom Voice OTP
Ligação de voz com transcrição de áudio.
v4Phantom Operadoras
Filtro granular (Vivo, Claro, TIM, etc.).
Comprar Número — POST /v1/api/buy
Aloca imediatamente um número virtual ativo. Roteia internamente entre os provedores parceiros (Opção 1 e Opção 2), selecionando dinamicamente o menor custo e a maior taxa de entrega, com fallback automático instantâneo se um dos provedores estiver sem estoque.
POST/v1/api/buyComprar Número Virtual
Campo JSON
Tipo
Descrição
tokenObrigatório
string
Sua chave de API (ou passe no header Authorization: Bearer <TOKEN>).
serviceObrigatório
string
Código do serviço desejado (ex: go Google, wa WhatsApp, tg Telegram).
versionOpcional
string
Motor: v1, v2 (padrão se omitido), v3 ou v4.
operatorOpcional
string
Operadora desejada (ex: vivo, claro, tim - usado com version v4).
Aguardar SMS em Tempo Real (Long-Polling) — POST /v1/api/wait
Conexão assíncrona persistente (recomendado): Mantém a requisição HTTP aberta e utiliza PostgreSQL LISTEN/NOTIFY para disparar o código OTP no exato milissegundo em que for detectado, sem necessidade de fazer requisições repetidas.
POST/v1/api/waitLong-Polling em Tempo Real
Campo JSON
Tipo
Descrição
tokenObrigatório
string
Sua chave de API.
aidObrigatório
string
Identificador da ativação.
timeoutOpcional
int
Tempo máximo em segundos para manter a conexão aberta (padrão: 90).
Exemplo de Resposta de Sucesso (200 OK)
{
"status": "received",
"sms": ["480594"]
}
// Se atingir o timeout de 90s sem código:
{
"timeout": true,
"status": "waiting",
"sms": []
}
Cancelar Número & Estorno — POST /v1/api/cancel
Cancela a ativação e estorna 100% do valor de volta para o saldo da conta de forma atômica.
Regra de Segurança Estrita: Para proteção do estoque de chips, o cancelamento possui uma trava de segurança de 2 minutos (120 segundos) após a compra. Tentativas antes desse prazo retornam HTTP 400. Ativações que já receberam SMS não podem ser canceladas.
POST/v1/api/cancelCancelamento e Devolução
Resposta de Sucesso (200 OK)
{
"status": "canceled",
"saldo": 150.00
}
Pedir Reenvio de SMS — POST /v1/api/retry
Solicita um novo código SMS para o mesmo número de telefone. Disponível exclusivamente no motor v2 (Phantom Diamond). Limpa a captura de SMS anterior para reativação imediata do Long-Polling.
POST/v1/api/retryReenvio de SMS
Resposta de Sucesso (200 OK)
{
"status": "waiting",
"message": "Reenvio solicitado com sucesso"
}
Comprar / Gerar Número Virtual
Aloca imediatamente um novo número temporário para recebimento de SMS ou Voice OTP. O saldo correspondente é debitado da sua conta.
POST/v1/order/createCompra de Número
Campo JSON
Tipo
Descrição
serviceObrigatório
string
Código do serviço (ex: wa WhatsApp, tg Telegram, go Google).
Consulte periodicamente (polling a cada 3~5 segundos) até que o status mude para received com o código OTP detectado.
GET/v1/order/{id}Polling de SMS
Exemplo com SMS Recebido (200 OK)
{
"success": true,
"order_id": "24722162",
"status": "received",
"code": "849201",
"full_sms": "Seu codigo de confirmacao do WhatsApp e 849-201",
"received_at": "2026-10-29T23:42:15Z"
}
Cancelar Pedido e Estornar Saldo
Cancela a ativação pendente. Se nenhum SMS tiver sido recebido, o valor cobrado é estornado imediatamente 100% para o seu saldo.
POST/v1/order/{id}/cancelCancelamento e Estorno
Solicitar Reenvio de SMS (Resend)
Disponível no provedor Diamond (v2): permite aguardar um segundo código SMS no mesmo número de telefone sem custo adicional.
POST/v1/order/{id}/resendSegundo Código
Notificações Webhook (Opcional)
Em vez de realizar polling contínuo, configure uma URL de webhook no seu painel. Assim que o SMS chegar, nosso servidor enviará um HTTP POST com o código OTP.
Sem números ativos no momento para aquele serviço. Tente outra versão (v1 ou v2).
API Padrão Universal (handler_api.php)
100% Compatível com Softwares & Bots
Nossa API disponibiliza compatibilidade nativa com o protocolo consagrado no mercado internacional de números virtuais (compatível com os principais bots e softwares de automação de SMS). Você pode plugar qualquer bot, script ou biblioteca sem modificar uma linha de código.
Endereço Base Universal: O endpoint aceita requisições GET e POST (form-urlencoded ou JSON) através do arquivo /stubs/handler_api.php ou seus aliases diretos: /handler_api.php, /api/v1 e /api.
GET / POSThttps://api.painelsms.tech/stubs/handler_api.phpURL Base do Protocolo Padrão
Parâmetro
Tipo
Descrição
api_keyObrigatório
string
Sua chave de API do Painel SMS. Também aceita no parâmetro key ou no cabeçalho Authorization: Bearer.
actionObrigatório
string
Ação a ser executada (ex: getBalance, getNumber, getStatus, setStatus, etc.).
formatOpcional
string
Por padrão, as respostas são em Texto Puro (como exige o padrão). Envie format=json para obter JSON estruturado.
1. Consultar Saldo (action=getBalance)
Retorna o saldo disponível na sua conta em formato de texto simples ACCESS_BALANCE:$valor ou JSON.
O número está ativo e aguardando a chegada da mensagem. Continue o polling.
STATUS_WAIT_RESEND
Aguardando Reenvio
Você solicitou reenvio de SMS (status=3). Aguardando o novo código.
STATUS_OK:$codigo
SMS Recebido com Sucesso!
Código OTP extraído (ex: STATUS_OK:849201). Pode finalizar com status=6.
STATUS_CANCEL
Ativação Cancelada
O pedido foi cancelado e o saldo estornado para a conta.
4. Alterar Status & Lógica Cronológica (action=setStatus)
Para a integração ser perfeita e respeitar as regras do mercado internacional, o seu script deve seguir a ordem cronológica exata descrita abaixo:
GET / POST/stubs/handler_api.php?api_key=SUA_KEY&action=setStatus&status=$status&id=$id
Status
Ação Cronológica
Retorno
Regras & Limites
status=1
Informar envio de SMS (Opcional)
ACCESS_READY
Notifica o gateway que o SMS foi disparado pelo app e o número está pronto.
status=3
Solicitar Reenvio de SMS (Gratuito)
ACCESS_RETRY_GET
Se o primeiro código falhou ou você precisa de um segundo SMS no mesmo número.
status=6
Confirmar & Finalizar Ativação
ACCESS_ACTIVATION
Execute após receber o código e concluir o cadastro no serviço com êxito.
status=8
Cancelar & Estornar Saldo
ACCESS_CANCEL
Cancela o número e estorna 100% do saldo. Regra de 2 minutos: se o número acabou de ser comprado, aguarde a janela mínima de tentativa antes de cancelar. Se já tiver recebido SMS, o cancelamento é bloqueado.
Aviso sobre status=8 (Cancelamento Prematuro): Cancelar imediatamente após comprar sem aguardar o envio do SMS gera a resposta EARLY_CANCEL_DENIED. Respeite sempre a janela de carência para que a operadora conclua a entrega.
5. Lista de Serviços (action=getServicesList)
Retorna a listagem completa dos serviços com códigos universais e nomes oficiais formatados em JSON estruturado no padrão internacional de alta performance.
6. Códigos de Países Multilíngue (action=getCountries)
Cada país possui um ID numérico universal fixo. O endpoint action=getCountries retorna a lista completa em padrão multi-idioma (Russo, Inglês, Chinês e Português):
Carteira Estática / Recarga: Obtenha o endereço fixo de recarga e chave Pix chamando action=getActualWalletAddress.
Webhooks Automáticos: O Painel SMS envia um POST JSON instantâneo para o endereço cadastrado nas configurações da sua conta assim que a mensagem for recebida pela operadora, com até 5 retentativas exponenciais em caso de timeout.
Payload Enviado pelo Webhook (POST JSON)
{
"event": "sms_received",
"activationId": "24722162",
"phone": "5519976210608",
"code": "849201",
"fullSms": "Seu codigo de confirmacao do WhatsApp e 849-201",
"timestamp": "2026-10-31T03:00:00Z"
}
10. Tabela de Erros do Protocolo Universal
Código de Erro
Causa
Ação Corretiva
BAD_KEY
Chave de API inválida ou expirada
Verifique o parâmetro api_key gerado no site.
BAD_ACTION
Ação solicitada não reconhecida
Verifique o parâmetro action (ex: getBalance, getNumber).
BAD_SERVICE
Código de serviço inválido
Consulte a tabela oficial de serviços (ex: wa, tg, go).
BAD_COUNTRY
Código de país inválido
Utilize o ID numérico correto (ex: 73 para Brasil).
NO_NUMBERS
Sem estoque no momento
Tente outra versão de provedor (v1, v2) ou tente novamente em alguns segundos.
NO_BALANCE
Saldo insuficiente na conta
Efetue recarga via Pix ou criptomoeda no painel.
EARLY_CANCEL_DENIED
Tentativa de cancelamento precoce
Aguarde a janela mínima de 2 minutos para cancelamento de número recém-gerado.
Pronto para Copiar e Colar
Exemplos de Integração em Múltiplas Linguagens
Exemplos funcionais completos para você conectar a API no seu script em poucos minutos.
# Exemplo de Compra e Polling de SMS em Pythonimport time, requests
API_KEY = "SUA_CHAVE_API"
BASE_URL = "https://api.painelsms.tech/v1"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
# 1. Comprar número (versão v2 Diamond)
payload = {"service": "wa", "country": "73", "version": "v2"}
res = requests.post(f"{BASE_URL}/order/create", json=payload, headers=headers).json()
if res.get("success"):
order_id = res["order_id"]
print(f"Número alocado: +{res['number']} (Pedido: {order_id})")
# 2. Aguardar SMS com pollingfor _ in range(60):
time.sleep(3)
check = requests.get(f"{BASE_URL}/order/{order_id}", headers=headers).json()
if check.get("status") == "received":
print(f"Código OTP recebido: {check['code']}")
break
Dúvidas Frequentes
Perguntas Frequentes sobre a API
Qual é a URL oficial da API do Painel SMS?
A URL oficial para chamadas da API é https://api.painelsms.tech. O portal administrativo e painel web para usuários e recargas Pix fica em https://painelsms.tech.
Como gero e onde vejo meu Token de API?
Basta entrar com sua conta em painelsms.tech e acessar a seção "API / Chaves". Lá você pode criar, copiar ou rotacionar seu Token Bearer com 1 clique.
O que acontece se o código SMS não chegar?
Você não paga nada por números que não recebem SMS! Se o número expirar ou você solicitar o cancelamento via POST /v1/order/{id}/cancel, o valor integral pago é estornado de volta ao seu saldo instantaneamente.
Como escolho entre os provedores Diamond, GOLD e Voice OTP?
Basta passar o parâmetro version no corpo da requisição POST /v1/order/create:
"version": "v2": Phantom Diamond (SmsCode - alta estabilidade, reenvio e operadoras).
"version": "v1": Phantom GOLD (alto volume e menor preço).
"version": "v3": Phantom Voice OTP (Hero SMS - código via chamada de voz gravada).