Платные опции
Методы для управления платными опциями: покупка, управление устройствами, лимитами и настройками.
Обзор
Модуль для работы с платными опциями пользователя, такими как white_internet. Позволяет покупать опции, управлять устройствами и лимитами.
GET /paid-options
Получить активные платные опции пользователя.
Rate Limit: 20 req / 60 sec
Пример запроса
curl -X GET "https://api.stealthsurf.app/paid-options" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Ответ
{
status: true,
statusCode: 200,
data: Array<{
option_id: number // ID типа платной опции
expires_at: number // Unix timestamp
configs?: Array<{ // Для white_internet
index: number
original_title: string
custom_title: string | null
is_online: boolean
}>
auto_renewal: boolean
auto_renewal_days: number | null
}>
}GET /paid-options/tariffs
Получить тарифы платных опций.
Rate Limit: 20 req / 60 sec
Пример запроса
curl -X GET "https://api.stealthsurf.app/paid-options/tariffs" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Ответ
{
status: true,
statusCode: 200,
data: Array<{
id: number // ID платной опции
option_key: string // Ключ опции (white_internet, etc.)
title: string
caption: string
description: string
payment_methods: Array<{
id: number
display_name: string
currency: string
min_amount: number | null
tariffs: Array<{
id: number
days: number
price: number
old_price?: number // Старая цена (для отображения скидки)
}>
}>
}>
}POST /paid-options
Создать заказ на платную опцию.
Rate Limit: 1 req / 1 sec
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
paid_option_id | number | Да | ID платной опции |
payment_method_id | number | Нет | ID способа оплаты |
tariff_id | number | Нет | ID тарифа |
promocode | string | Нет | Промокод (4-32 символа) |
as_key | boolean | Нет | Купить как ключ активации |
enable_auto_renewal | boolean | Нет | Включить автопродление |
Пример запроса
curl -X POST "https://api.stealthsurf.app/paid-options" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
-H "Content-Type: application/json" \
-d '{
"paid_option_id": 1,
"payment_method_id": 1,
"tariff_id": 1
}'Ответ
{
status: true,
statusCode: 201,
data: {
link?: string // URL для оплаты
option_id?: number
}
}GET /paid-options/:id/devices
Получить устройства Remnawave.
Rate Limit: 20 req / 60 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции |
Пример запроса
curl -X GET "https://api.stealthsurf.app/paid-options/123/devices" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Ответ
{
status: true,
statusCode: 200,
data: {
total: number
devices: Array<{
hwid: string
platform: string
os_version: string
device_model: string
created_at: number
}>
}
}GET /paid-options/:id/subscription
Получить информацию о подписке платной опции.
Rate Limit: 20 req / 60 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции |
Пример запроса
curl -X GET "https://api.stealthsurf.app/paid-options/123/subscription" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Ответ
{
status: true,
statusCode: 200,
data: {
used_traffic_bytes: number
lifetime_used_traffic_bytes: number
device_limit: number | null // null = безлимит
traffic_limit_bytes: number // 0 = безлимит
status: string // active | disabled | limited | expired
}
}PATCH /paid-options/:id/limits
Обновить лимиты устройств и трафика.
Rate Limit: 1 req / 5 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
device_limit | number | Нет | Лимит устройств (0 = безлимит) |
traffic_limit | number | Нет | Лимит трафика в байтах (0 = безлимит) |
Пример запроса
curl -X PATCH "https://api.stealthsurf.app/paid-options/123/limits" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
-H "Content-Type: application/json" \
-d '{
"device_limit": 5,
"traffic_limit": 10737418240
}'Ответ
{
status: true,
statusCode: 200,
data: true
}PATCH /paid-options/:id/titles/:index
Установить пользовательское название для конфига white_internet.
Rate Limit: 5 req / 2 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции |
index | number | Да | Индекс конфига |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Да | Название (1-64 символа) |
Пример запроса
curl -X PATCH "https://api.stealthsurf.app/paid-options/123/titles/0" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
-H "Content-Type: application/json" \
-d '{
"title": "Мой конфиг"
}'Ответ
{
status: true,
statusCode: 200,
data: true
}DELETE /paid-options/:id/titles/:index
Удалить пользовательское название.
Rate Limit: 5 req / 2 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции |
index | number | Да | Индекс конфига |
Пример запроса
curl -X DELETE "https://api.stealthsurf.app/paid-options/123/titles/0" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Ответ
{
status: true,
statusCode: 200,
data: true
}GET /paid-options/:id/stats/:index
Получить статистику сервера для конфига white_internet.
Rate Limit: 3 req / 5 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции |
index | number | Да | Индекс конфига |
Пример запроса
curl -X GET "https://api.stealthsurf.app/paid-options/123/stats/0" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Ответ
{
status: true,
statusCode: 200,
data: {
host: string
status: string
uptime_days: number
cpu_model: string
stats: Array<{
date: string
cpu: number
ram: number
up: number
down: number
}>
}
}DELETE /paid-options/:id/devices/:device_id
Удалить устройство Remnawave.
Rate Limit: 10 req / 60 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции |
device_id | string | Да | ID устройства (hwid) |
Пример запроса
curl -X DELETE "https://api.stealthsurf.app/paid-options/123/devices/abc123" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Ответ
{
status: true,
statusCode: 200,
data: true
}DELETE /paid-options/:id/devices
Удалить все устройства Remnawave.
Rate Limit: 1 req / 5 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции |
Пример запроса
curl -X DELETE "https://api.stealthsurf.app/paid-options/123/devices" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Ответ
{
status: true,
statusCode: 200,
data: true
}PATCH /paid-options/:id/auto-renewal
Переключить автопродление платной опции.
Rate Limit: 1 req / 1 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
enabled | boolean | Да | Включить/выключить автопродление |
days | number | Нет | Дней для автопродления (обязательно при включении) |
Пример запроса
curl -X PATCH "https://api.stealthsurf.app/paid-options/123/auto-renewal" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"days": 30
}'Ответ
{
status: true,
statusCode: 200,
data: {
auto_renewal: boolean
auto_renewal_days: number | null
}
}Конфигурации платных опций
POST /paid-options/:id/configs
Создать VPN конфиг для платной опции.
Rate Limit: 1 req / 1 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции пользователя |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
protocol | string | Да | Протокол: vless, trojan, trojan-2901, outline, hysteria2, vless-2410, shadowsocks-2022 |
title | string | Нет | Название конфига (1-64 символа) |
use_extended_settings | boolean | Нет | Расширенные настройки |
use_warp | boolean | Нет | WARP |
disable_flow_reality | boolean | Нет | Отключить Flow Reality |
disable_reality | boolean | Нет | Отключить Reality |
change_sni | boolean | Нет | Изменить SNI |
block_local_network | boolean | Нет | Блокировать локальную сеть |
disable_sni | boolean | Нет | Отключить SNI |
enable_family_filter | boolean | Нет | Семейный фильтр |
pass_all_traffic_through_vpn | boolean | Нет | Весь трафик через VPN |
block_bittorrent | boolean | Нет | Блокировать BitTorrent |
use_xhttp | boolean | Нет | XHTTP |
use_grpc | boolean | Нет | gRPC |
Пример запроса
curl -X POST "https://api.stealthsurf.app/paid-options/123/configs" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
-H "Content-Type: application/json" \
-d '{
"protocol": "vless",
"title": "Мой конфиг"
}'Ответ
{
status: true,
statusCode: 200,
data: {
id: number
server_id: number
connection_url: string
title: string | null
protocol: string
created_at: number
is_extended_settings_enabled: boolean
is_online: boolean
}
}PATCH /paid-options/:id/configs/:configId/settings
Обновить настройки конфига платной опции.
Rate Limit: 1 req / 1 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции пользователя |
configId | number | Да | ID конфига |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
protocol | string | Да | Новый протокол |
use_extended_settings | boolean | Нет | Расширенные настройки |
use_warp | boolean | Нет | WARP |
| ... | Остальные настройки аналогичны POST |
Пример запроса
curl -X PATCH "https://api.stealthsurf.app/paid-options/123/configs/456/settings" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
-H "Content-Type: application/json" \
-d '{
"protocol": "hysteria2"
}'Ответ
{
status: true,
statusCode: 200,
data: {
connection_url: string
xray_config?: string
}
}PATCH /paid-options/:id/configs/:configId/xray
Обновить XRay конфиг для конфига платной опции.
Rate Limit: 1 req / 1 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции пользователя |
configId | number | Да | ID конфига |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
xray_config | string | Да | XRay конфигурация |
public_key | string | Да | Публичный ключ |
Пример запроса
curl -X PATCH "https://api.stealthsurf.app/paid-options/123/configs/456/xray" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
-H "Content-Type: application/json" \
-d '{
"xray_config": "{...}",
"public_key": "..."
}'Ответ
{
status: true,
statusCode: 200,
data: {
connection_url: string
xray_config?: string
}
}PATCH /paid-options/:id/configs/:configId/title
Обновить название конфига платной опции.
Rate Limit: 1 req / 1 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции пользователя |
configId | number | Да | ID конфига |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
title | string | null | Да | Новое название (1-64 символа) или null |
Пример запроса
curl -X PATCH "https://api.stealthsurf.app/paid-options/123/configs/456/title" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
-H "Content-Type: application/json" \
-d '{
"title": "Новое название"
}'Ответ
{
status: true,
statusCode: 200,
data: true
}GET /paid-options/:id/configs/:configId/stats
Получить статистику сервера для конфига платной опции.
Rate Limit: глобальный (200 req/min)
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции пользователя |
configId | number | Да | ID конфига |
Пример запроса
curl -X GET "https://api.stealthsurf.app/paid-options/123/configs/456/stats" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Ответ
{
status: true,
statusCode: 200,
data: {
host: string
status: string
uptime_days: number
cpu_model: string
stats: Array<{
date: string
cpu: number
ram: number
up: number
down: number
}>
}
}Субконфиги платных опций
GET /paid-options/:id/configs/:configId/subconfig
Получить субконфиг конфигурации платной опции.
Rate Limit: глобальный (200 req/min)
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции пользователя |
configId | number | Да | ID конфига |
Пример запроса
curl -X GET "https://api.stealthsurf.app/paid-options/123/configs/456/subconfig" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Ответ
{
status: true,
statusCode: 200,
data: {
id: number
protocol: string // http | socks5
connection_url: string // http://user:pass@server:8080
}
}POST /paid-options/:id/configs/:configId/subconfig
Создать субконфиг для конфигурации платной опции.
Rate Limit: 1 req / 1 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции пользователя |
configId | number | Да | ID конфига |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
protocol | string | Да | Протокол: http или socks5 |
Пример запроса
curl -X POST "https://api.stealthsurf.app/paid-options/123/configs/456/subconfig" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
-H "Content-Type: application/json" \
-d '{
"protocol": "http"
}'Ответ
{
status: true,
statusCode: 200,
data: {
id: number
protocol: string
connection_url: string
}
}PATCH /paid-options/:id/configs/:configId/subconfig
Сменить протокол субконфига платной опции.
Rate Limit: 1 req / 1 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции пользователя |
configId | number | Да | ID конфига |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
protocol | string | Да | Новый протокол: http или socks5 |
Пример запроса
curl -X PATCH "https://api.stealthsurf.app/paid-options/123/configs/456/subconfig" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
-H "Content-Type: application/json" \
-d '{
"protocol": "socks5"
}'Ответ
{
status: true,
statusCode: 200,
data: {
id: number
protocol: string
connection_url: string
}
}DELETE /paid-options/:id/configs/:configId/subconfig
Удалить субконфиг платной опции.
Rate Limit: 1 req / 1 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID платной опции пользователя |
configId | number | Да | ID конфига |
Пример запроса
curl -X DELETE "https://api.stealthsurf.app/paid-options/123/configs/456/subconfig" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Ответ
{
status: true,
statusCode: 200,
data: true
}Помогла ли вам эта статья?