API de verificação por SMS

Compra do número, checagem do código e cancelamento com uma única requisição HTTP. Segue o padrão handler_api, muito usado no setor de números virtuais, então basta colocar o endereço e a chave no seu programa de cadastro ou bot.

Obter chave de API

Depois de entrar, crie a chave no menu API da tela da conta. A chave aparece só uma vez ao ser criada, então salve-a na hora. A API usa o mesmo saldo e os mesmos preços do site.

Endereço base

https://010sms.com/stubs/handler_api.php?api_key=API_KEY&action=...

Principais requisições

actionO que fazemosExemplo de resposta
getBalanceVer saldoACCESS_BALANCE:12.50
getPrices&service=telegram&country=krPreços e números disponíveis por serviço{"kr":{"telegram":{"cost":3.2,"count":7922}}}
getNumber&service=telegram&country=krComprar númeroACCESS_NUMBER:ID:PHONE
getStatus&id=IDVerificar códigoSTATUS_WAIT_CODE / STATUS_OK:CODE
setStatus&id=ID&status=8Cancelar número (antes do código, reembolso total)ACCESS_CANCEL
setStatus&id=ID&status=3Receber outro código no mesmo númeroACCESS_RETRY_GET
setStatus&id=ID&status=6Finalizar usoACCESS_ACTIVATION

Parâmetros da requisição

NomeObrigatórioDescrição
api_keyTodosChave de API criada na tela da conta
actionTodosgetBalance, getPrices, getNumber, getStatus, setStatus
servicegetNumberCódigo do serviço (ex.: telegram, whatsapp, google). É o mesmo do endereço da página na lista de serviços
countrygetNumberkr (número coreano 010; se omitido, kr)
idgetStatus, setStatusID do número retornado por getNumber (começa com N-)
statussetStatus8 cancelar, 3 pedir outro código, 6 concluir, 1 pronto

Textos de resposta e significado

RespostaSignificadoDinheiro
ACCESS_NUMBER:ID:PHONENúmero recebidoO valor do número é descontado
STATUS_WAIT_CODEAguardando o códigoSem alteração
STATUS_OK:CODECódigo recebidoPagamento concluído
STATUS_WAIT_RETRY:CODEAguardando o próximo código (com os códigos anteriores)Sem custo extra
STATUS_CANCELCancelado ou tempo esgotadoReembolsado se não houve código
ACCESS_CANCELCanceladoReembolso total
ACCESS_RETRY_GETAguardar outro código no mesmo númeroSem custo extra
ACCESS_ACTIVATIONTerminei de usar o númeroSem alteração
NO_BALANCERecarregue o saldo e receba na horaNão descontado
NO_NUMBERSNo momento não há números desse paísNão descontado
NO_ACTIVATIONSVocê tem 20 números abertosNão descontado
EARLY_CANCEL_DENIEDNúmero com código: finalize (6) em vez de cancelarSem alteração
BAD_KEYChave de API inválidaNão descontado
BAD_SERVICE / BAD_COUNTRYCódigo de serviço ou de país inválidoNão descontado
NO_ACTIVATIONID do número não encontradoSem alteração
TOO_MANY_REQUESTSLimite de 300 requisições por minuto excedidoNão descontado

Exemplos por linguagem

import time, requests

BASE = "https://010sms.com/stubs/handler_api.php"
KEY = "API_KEY"

def call(**p):
    return requests.get(BASE, params={"api_key": KEY, **p}, timeout=30).text

r = call(action="getNumber", service="telegram", country="kr")
if not r.startswith("ACCESS_NUMBER"):
    raise SystemExit(r)
_, num_id, phone = r.split(":")
print("Number:", phone)

for _ in range(240):                      # 20 minutes
    s = call(action="getStatus", id=num_id)
    if s.startswith("STATUS_OK"):
        print("Code:", s.split(":")[1])
        call(action="setStatus", id=num_id, status=6)
        break
    time.sleep(5)

Veja como funciona

  • Pegue um número com getNumber, coloque-o no cadastro e chame getStatus a cada 5 segundos.
  • STATUS_OK: quando o código chegar, digite-o e finalize com setStatus 6.
  • Se o código não chegar em 20 minutos, o valor do número volta automaticamente ao saldo.
  • Envie até 300 requisições por minuto.
API de verificação por SMS | 010SMS