StealthSurf VPNStealthSurf VPN
Доступные методыПрофиль

Профиль

Методы для получения данных профиля пользователя.

Обзор

Модуль для получения данных профиля текущего пользователя.


GET /profile

Получить данные профиля пользователя.

Rate Limit: глобальный (200 req/min)

Пример запроса

curl -X GET "https://api.stealthsurf.app/profile" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"

Ответ

{
  status: true,
  statusCode: 200,
  data: {
    id: number
    email: string | null
    uuid: string | null
    subscription_key: string | null
    sign_in_method: string          // google | telegram | vk | authCode | signIn
    referral_balance: number        // Реферальный баланс в рублях
    balance: number                 // Баланс аккаунта в рублях
    referrals_count: number
    is_telegram_connected: boolean
    referral_code: string
    onboarding_completed: boolean
    pricing_rules?: Array<{         // Персональные скидки/наценки (если есть)
      type: string                  // Тип продукта: all | config | configs | cloud_server | cloud_servers | paid_option | paid_options
      product_title: string         // Название продукта на русском
      percent: number               // Процент скидки/наценки (отрицательный = скидка, положительный = наценка)
      comment: string | null        // Комментарий к правилу
    }>
  }
}

Пример ответа

{
  "status": true,
  "statusCode": 200,
  "data": {
    "id": 12345,
    "email": "user@example.com",
    "uuid": "550e8400-e29b-41d4-a716-446655440000",
    "subscription_key": "abc123def456",
    "sign_in_method": "telegram",
    "referral_balance": 1590,
    "balance": 1000,
    "referrals_count": 5,
    "is_telegram_connected": true,
    "referral_code": "MYREF123",
    "onboarding_completed": true,
    "pricing_rules": [
      {
        "type": "all",
        "product_title": "Все услуги",
        "percent": -15,
        "comment": "VIP скидка"
      }
    ]
  }
}

Реферальный баланс указан в рублях. Поле pricing_rules присутствует только если у пользователя есть персональные скидки или наценки.


GET /profile/notification-settings

Получить настройки уведомлений.

Rate Limit: глобальный (200 req/min)

Пример запроса

curl -X GET "https://api.stealthsurf.app/profile/notification-settings" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"

Ответ

{
  status: true,
  statusCode: 200,
  data: {
    renewal_reminders: boolean        // Напоминания о продлении
    notification_start_hour: number   // Начало времени уведомлений (0-23)
    notification_end_hour: number     // Конец времени уведомлений (0-23)
    timezone_offset: number           // Смещение часового пояса в минутах
  }
}

PATCH /profile/notification-settings

Обновить настройки уведомлений.

Rate Limit: 5 req/min

Request Body

FieldTypeRequiredDescription
renewal_remindersbooleanНетНапоминания о продлении
notification_start_hournumberНетНачало времени уведомлений (0-23)
notification_end_hournumberНетКонец времени уведомлений (0-23)
timezone_offsetnumberНетСмещение часового пояса (-720 до 840)

Пример запроса

curl -X PATCH "https://api.stealthsurf.app/profile/notification-settings" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
  -H "Content-Type: application/json" \
  -d '{
    "renewal_reminders": true,
    "notification_start_hour": 10,
    "notification_end_hour": 22,
    "timezone_offset": 180
  }'

Ответ

Такой же как GET /profile/notification-settings.


Перегенерировать ссылку подписки.

Rate Limit: 2 req/min

Пример запроса

curl -X PATCH "https://api.stealthsurf.app/profile/subscriptionLink" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"

Ответ

{
  status: true,
  statusCode: 200,
  data: string  // Новый subscription_key
}

При перегенерации ссылки подписки все привязанные устройства будут удалены, а доступ Remnawave будет отозван.

Помогла ли вам эта статья?

Содержание