API для SMS-верификации

Покупка номера, проверка кода и отмена одним HTTP-запросом. Протокол handler_api широко используется в сфере виртуальных номеров, поэтому достаточно указать адрес и ключ в вашей программе регистрации или боте.

Получить API-ключ

После входа создайте ключ в меню API на странице аккаунта. Ключ показывается только один раз при создании, сразу сохраните его. API использует тот же баланс и те же цены, что и сайт.

Базовый адрес

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

Основные запросы

actionЧто делаемПример ответа
getBalanceПроверить балансACCESS_BALANCE:12.50
getPrices&service=telegram&country=krЦены и наличие номеров по сервисам{"kr":{"telegram":{"cost":3.2,"count":7922}}}
getNumber&service=telegram&country=krКупить номерACCESS_NUMBER:ID:PHONE
getStatus&id=IDПроверить кодSTATUS_WAIT_CODE / STATUS_OK:CODE
setStatus&id=ID&status=8Отмена номера (до прихода кода, полный возврат)ACCESS_CANCEL
setStatus&id=ID&status=3Получить еще один код на тот же номерACCESS_RETRY_GET
setStatus&id=ID&status=6ЗавершитьACCESS_ACTIVATION

Параметры

ИмяОбязательноОписание
api_keyВсеAPI-ключ, созданный на странице аккаунта
actionВсеgetBalance, getPrices, getNumber, getStatus, setStatus
servicegetNumberКод сервиса (например: telegram, whatsapp, google). Совпадает с адресом страницы в списке сервисов
countrygetNumberkr (корейский номер 010, по умолчанию kr)
idgetStatus, setStatusID номера из getNumber (начинается с N-)
statussetStatus8 отмена, 3 еще один код, 6 завершить, 1 готов

Текст ответа и значение

ОтветЗначениеДеньги
ACCESS_NUMBER:ID:PHONEНомер полученСтоимость номера списывается
STATUS_WAIT_CODEОжидаем кодБез изменений
STATUS_OK:CODEКод пришелОплата завершена
STATUS_WAIT_RETRY:CODEЖдем следующий код (предыдущие коды сохранены)Без доплаты
STATUS_CANCELОтменено или время истеклоВозвращено, если кода не было
ACCESS_CANCELОтмененоПолный возврат
ACCESS_RETRY_GETЖдем следующий код на тот же номерБез доплаты
ACCESS_ACTIVATIONИспользование номера завершеноБез изменений
NO_BALANCEПополните баланс и получайте сразуНе списывается
NO_NUMBERSНомеров этой страны сейчас нетНе списывается
NO_ACTIVATIONSАктивных номеров уже 20Не списывается
EARLY_CANCEL_DENIEDНомер с полученным кодом завершается (6), а не отменяетсяБез изменений
BAD_KEYНеверный API-ключНе списывается
BAD_SERVICE / BAD_COUNTRYНеверный код сервиса или страныНе списывается
NO_ACTIVATIONID номера не найденБез изменений
TOO_MANY_REQUESTSПревышен лимит 300 запросов в минутуНе списывается

Примеры на разных языках

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)

Как это работает

  • Получите номер через getNumber, введите его в форме регистрации и вызывайте getStatus каждые 5 секунд.
  • STATUS_OK:код пришел, введите его и завершите через setStatus 6.
  • Если код не пришел за 20 минут, стоимость номера автоматически вернется на баланс.
  • До 300 запросов в минуту.
API для SMS-верификации | 010SMS