Перейти к основному содержанию
Базовый URL: https://panel.scamprojecttest.xyz/proxy/api/v1. Общие правила (авторизация, лимиты, ошибки, идемпотентность) — в обзоре.
В v1 доступны покупка статичных прокси (ISP/Datacenter), продление и все операции чтения. Покупка ротационных (residential/mobile) через API пока не выведена — она требует интерактивного подбора гео в боте.

Аккаунт

МетодПутьScopeОписание
GET/users/meproxy:readПрофиль ключа и пользователя
GET/users/{user_id}/balanceproxy:readБаланс
GET/transactionsproxy:readТранзакции (пагинация, ?user_id=)
GET/referralsproxy:readРеферальная статистика

Каталог и расчёт

Каталог

GET /proxy/catalog · scope proxy:read
{ "categories": [
  { "category":"isp","label":"ISP","unit":"IP","kind":"static","live":true,"sample_price_usd":"2.50" },
  { "category":"residential","label":"Резидентные","unit":"GB","kind":"rotating","live":true,"sample_price_usd":"2.00" }
] }
Цена тиражная (чем больше объём, тем дешевле за единицу); sample_price_usd — цена первого тира. Актуальные тиры считай через /proxy/quote.

Расчёт цены

POST /proxy/quote · scope proxy:read · тело { "category":"isp", "quantity":5 }
{ "category":"isp","quantity":5,"unit":"IP","price_usd":"12.50","available":true }

Подписки

МетодПутьScopeОписание
GET/proxy/subscriptionsproxy:readСписок (пагинация, ?user_id=)
GET/proxy/subscriptions/{id}proxy:readКарточка подписки
GET/proxy/subscriptions/{id}/credentialsproxy:readДоступы
Ответ credentials зависит от типа:
// статичные
{ "subscription_id": 9, "kind": "static",
  "static_proxies": [ { "ip":"1.2.3.4","port_http":8080,"port_socks":1080,"login":"u","password":"p" } ] }

// ротационные
{ "subscription_id": 9, "kind": "rotating",
  "upstream_login":"u","upstream_endpoint":"gw.example:7000","upstream_password":"p" }
Доступы возвращаются с Cache-Control: no-store — не кэшируй и не логируй их.

Покупка и продление (деньги)

Требуют API_MONEY_ENABLED, scope proxy:buy, заголовок Idempotency-Key и (если включена) подпись X-Signature.

Купить статичные прокси

POST /proxy/static · scope proxy:buy · деньги
ПолеТипОписание
categoryстрокаisp или datacenter
country_nameстрока (1–64)Страна (название или ISO-код)
quantityчисло 1–500Количество IP
auto_renewboolАвтопродление (по умолчанию false)
user_idчислоОбязателен для operator-ключа
curl -X POST "https://panel.scamprojecttest.xyz/proxy/api/v1/proxy/static" \
  -H "Authorization: Bearer $KEY" \
  -H "Idempotency-Key: prx-2026-06-09-001" \
  -H "Content-Type: application/json" \
  -d '{"category":"isp","country_name":"United States","quantity":5}'
{ "status":"ok","subscription_id":9,"order_id":120,"price_usd":"12.50","quantity":5,"country":"US" }
Поле status: ok (выдано), provisioning (выдаётся), insufficient (402, не хватает баланса), provider_misconfig (503), bad_request (400).

Продлить подписку

POST /proxy/subscriptions/{id}/renew · scope proxy:buy · деньги
{ "subscription_id":9,"status":"ok","price_usd":"12.50","new_expires_at":"2026-07-09T..." }

Управление (write)

Автопродление

POST /proxy/subscriptions/{id}/auto-renew · scope proxy:write · тело { "auto_renew": true }. Возвращает обновлённую карточку подписки.

Пополнение баланса (деньги)

POST /deposits · scope deposits:write · деньги201. Тело и поведение — как в доменах. Статус: GET /deposits/{provider}/{external_id}.

Операторские эндпоинты

Только operator (admin:*): /admin/users/{id}/balance, /admin/users/{id}/ban, /admin/deposits/{tx}/mark-completed, /admin/deposits/{tx}/mark-failed — см. домены.