API для приёма SMS

API BinOTP позволяет арендовать виртуальные номера, получать OTP-коды и отменять заказы прямо из вашего приложения или скрипта. Все методы возвращают JSON, авторизация — по API-ключу.

Быстрый старт

Базовый URL:
https://binotp.com/api/v1
Ваш ключ API:
Зарегистрируйтесь бесплатно чтобы получить API-ключ — он будет на странице аккаунта после входа.
Авторизация — рекомендуем передавать ключ API в заголовке:
X-API-Key: YOUR_API_KEY
Старый способ ?apikey=... по-прежнему работает, чтобы не сломать существующие интеграции, но он не рекомендуется: ключ в URL попадает в записи в логах сервера, истории браузера и заголовке Referer.

Ограничения и примечания

  • 60 запросов в минуту на один API-ключ, суммарно по всем методам. При превышении — ошибка 429.
  • Одновременно код могут ожидать не более 5 заказов.
  • Вызывайте get-sms примерно раз в 5 секунд — частые запросы не ускорят приход кода.
  • Если заказ истёк без кода, get-sms вернёт status "expired", а поле refunded покажет сумму, возвращённую на баланс.

Примеры кода

Арендуйте номер Google (opt4) в США и проверяйте код каждые 5 секунд, пока не будет результата.

# 1. Rent a Google (opt4) number in the US
curl -X POST "https://binotp.com/api/v1/rent-number" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"service": "opt4", "country": "US"}'

# 2. Check for the SMS code (repeat every 5 seconds until status is not "waiting_sms")
curl "https://binotp.com/api/v1/get-sms?orderId=ORDER_ID" \
  -H "X-API-Key: YOUR_API_KEY"

Методы API

8
GET/api/v1/me

Информация об аккаунте

Возвращает ваш баланс и данные аккаунта.

ПАРАМЕТРЫ:
ИмяТипОбязательныйОписание
apikeystringОбязательныйВаш ключ API
ОТВЕТ:
{ "success": true, "balance": 10.00, "email": "user@example.com", "username": "demo" }

Коды ошибок

При ошибке API возвращает один из HTTP-кодов ниже и JSON, где success = false, а поле error описывает проблему (всегда на английском):

{ "success": false, "error": "Insufficient balance" }
HTTPerror (пример)Значение
400Missing service or country codeНе указан или неверен обязательный параметр.
400Insufficient balanceНедостаточно средств — пополните баланс и повторите.
400Temporarily out of stock, please try againСейчас нет номеров для этого сервиса/страны — повторите позже или выберите другую страну.
400Price is $0.25 which exceeds your maxPrice of $0.20…Текущая цена выше вашего maxPrice — увеличьте maxPrice или проверьте /prices.
401Invalid or missing API keyAPI-ключ не передан или неверен, либо аккаунт заблокирован.
404Order not foundВ вашем аккаунте нет такого заказа.
409Cannot cancel: SMS code already received…По заказу уже пришёл код, отменить нельзя — вызовите get-sms, чтобы его получить.
409Cannot cancel yet: please wait about 2 minutes after purchase…Сразу после покупки отмена недоступна — повторите через несколько минут.
429Too many requests. Limit: 60/minБольше 60 запросов в минуту.
429You already have 5 active orders (max 5)…Слишком много заказов ожидают код — дождитесь кодов или истечения срока либо отмените часть.
429Cannot cancel yet: please wait … minute(s) after purchase…Сразу после покупки отмена недоступна — повторите через несколько минут.
503Service temporarily unavailableСервис временно недоступен — повторите позже.