API Reference · v1

HTTP API

Программный доступ к проверкам через модемы реальных операторов РФ — тем же ключом bwl_live_… и с того же баланса, что и панель. Ручки: operators, account, probe (синхронно), scans /24, vless. Совместимо с bschek API.

Base URL /v1 Auth Bearer bwl_live_… JSON · UTF-8 · ISO-8601 UTC версия 1.1

Единица проверки

Проверка идёт через единицу = оператор × округ × Белый список. Ключ единицы op_key = "оператор|округ|бс", например mts|цфо|off. Округ — кириллицей в нижнем регистре (цфо, крым), латиницей только kgd. Готовые op_key берите из GET /v1/operators. Селектор поддерживает вайлдкарды: mts (все округа), mts|*|on, *|цфо|on.

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

  1. Выпустите ключ: Кабинет → API (тариф Bronze+). Показывается один раз.
  2. Посмотрите доступные единицы: GET /v1/operators.
  3. Запустите проверку — кредиты спишутся с баланса по факту.
# какие единицы доступны
curl /v1/operators -H "Authorization: Bearer $BWL"

# probe (синхронно) — TCP+SNI
curl -X POST /v1/probe -H "Authorization: Bearer $BWL" \
  -H "Content-Type: application/json" -H "Idempotency-Key: $(uuidgen)" \
  -d '{ "target":"example.com", "operators":["mts|цфо|off"],
        "probes":{"tcp":true,"sni":true}, "sni_hosts":["example.com"], "dpi":"any" }'

Операторы и аккаунт

МетодПутьОписание
GET /v1/operators Единицы проверки и состояние каналов. Фильтры ?dpi=on|off|any, ?operator=, ?region=, ?probeable=.
GET /v1/account Баланс, бонусы, тариф, активный скан, секрет вебхука.

Проверка синхронно

МетодПутьОписание
POST/v1/probe1..10 целей × единицы. Заголовок Idempotency-Key. Списание по факту.
POST/v1/probe/previewЦена без списания.
POST/v1/probe/cancelОстановить пробу (по Idempotency-Key той же пробы).

Сканы /24 асинхронно

МетодПутьОписание
POST/v1/scansРовно один /24. Возвращает scan_id, статус забирается GET-ом.
GET/v1/scans/{id}Статус + прогресс + результат.
POST/v1/scans/{id}/cancelОстановить скан.
POST/v1/scans/previewЦена скана без списания.

VLESS / VPN-тесты асинхронно

МетодПутьОписание
POST/v1/vlessТест конфигов vless/vmess/trojan/ss/hysteria2 через единицы.
GET/v1/vless/{id}Статус и результат теста.
POST/v1/vless/{id}/cancelОстановить тест.

Правила и лимиты

Деньги и идемпотентность
1 кредит = 1 копейка, списание по завершении. Idempotency-Key обязателен на платных POST (живёт 24 ч). Троттл 1 req/s на аккаунт — GET и */preview не троттлятся.
Ошибки
Единый конверт {"error":{code,message,details}} с заголовками X-Request-Id, X-API-Version, X-API-Updated, Retry-After. У 500 на платных ручках retryable:false. FULL GEO (/v1/geo/*) на этом стенде не поднят.