Документация для разработчиков

Интеграция подписок V2Plus

Добавьте безопасный импорт по диплинку, передавайте лимиты и срок действия подписки, оформляйте карточку своим брендом через URL-параметры или HTTP-заголовки.

v2plus:// subscription-userinfo URL hash x-v2plus-*
02 · Брендинг

Параметры в hash-фрагменте URL

Добавьте #Name?param=value в конец URL подписки. Hash-фрагмент остаётся на устройстве пользователя и не отправляется на сервер.

projectId

Получите projectId в кабинете разработчика — он нужен для новостей, акций и статусов инцидентов в приложении.

ПараметрНазначение
title

Имя подписки до 30 символов. Алиасы: profileTitle, profile-title, name. Также берётся из части hash до ?.

projectId

Уникальный ID проекта из кабинета разработчика. Нужен для новостей, акций и статусов инцидентов внутри приложения.

serverDescription

Описание сервиса под названием карточки. Алиас: server_description.

image

URL баннера. Алиасы: bannerImage, banner-image, logo, logoUrl, logo-url.

icon

URL квадратной иконки. Алиасы: subscriptionIcon, subscription-icon, iconUrl, icon-url, appIcon, app-icon, x-v2plus-icon.

announce

Короткое объявление. Алиасы: banner, bannerText, banner-text.

announceUrl

Ссылка для объявления. Алиасы: announce-url, bannerUrl, banner-url.

supportUrl

Ссылка на поддержку. Алиасы: support-url, support_url.

website

Сайт сервиса. Алиасы: websiteUrl, website-url, web, site.

telegram

Telegram-канал или чат. Алиасы: telegramUrl, telegram-url, tg.

https://panel.example.com/sub/abc123#My%20VPN?projectId=vp_xxxxx&serverDescription=Premium%20servers&image=https%3A%2F%2Fcdn.example.com%2Fbanner.png&icon=https%3A%2F%2Fcdn.example.com%2Ficon.png&telegram=https%3A%2F%2Ft.me%2Fmyvpn
03 · Заголовки

HTTP response headers подписки

Если вы контролируете backend, отдавайте метаданные в ответе на GET подписки. Hash-параметры имеют приоритет над заголовками.

Приоритет

Если одно и то же поле передано и в hash, и в заголовке — клиент использует значение из hash.

ЗаголовокНазначение
subscription-userinfo

Трафик и срок действия: upload, download, total, expire. Expire - Unix timestamp в секундах.

profile-title

Имя подписки. Алиасы: x-subscription-title, content-title, filename из content-disposition. Поддерживается base64:.

x-v2plus-project-id

Уникальный ID проекта из кабинета разработчика. Альтернативный заголовок: project-id.

x-v2plus-server-description

Описание провайдера. Алиасы: server-description, serverdescription, x-server-description.

x-v2plus-banner-image

URL баннера. Алиасы: banner-image, banner-image-url, subscription-banner, subscription-banner-url, image-url, logo-url.

x-v2plus-subscription-icon

URL иконки. Алиасы: subscription-icon, subscription-icon-url, profile-icon, profile-icon-url, app-icon, app-icon-url.

announce

Текст объявления. Алиас: subscription-announce. Поддерживается base64:.

announce-url

Ссылка объявления. Алиас: announceurl.

support-url

Ссылка поддержки. Алиасы: supporturl, profile-web-page-url.

x-v2plus-website

Сайт сервиса. Алиасы: website-url, website, web-url.

x-v2plus-telegram

Telegram. Алиасы: telegram-url, telegram, tg-url.

profile-title: base64:8J+agCBNeVZQTg==
subscription-userinfo: upload=0; download=100000; total=2000000; expire=1749954800
x-v2plus-project-id: vp_xxxxx
x-v2plus-server-description: Premium servers
x-v2plus-banner-image: https://cdn.example.com/banner.png
x-v2plus-subscription-icon: https://cdn.example.com/icon.png
support-url: https://t.me/myvpn_support
04 · Изображения

Баннер и иконка подписки

Используйте публичные HTTPS-ссылки без авторизации. Клиент подтянет изображения при обновлении подписки.

Баннер

3 : 1
Рекомендуемо
1200 x 400 px
Минимум
600 x 200 px
Форматы
PNG, JPG, WebP
Размер
до 200 KB

Иконка

1 : 1
Рекомендуемо
256 x 256 px
Минимум
128 x 128 px
Форматы
PNG, JPG, WebP
Размер
до 80 KB
05 · Безопасность

Что важно учесть при интеграции

Внешний импорт подтверждаетсяПользователь видит предупреждение перед добавлением подписки или конфигурации.
Hash не уходит на серверПараметры после # остаются на устройстве и нужны только для отображения.
Локальные данные защищеныПодписки и локальное хранилище защищены на устройстве пользователя.

Готовы интегрировать V2Plus?

Начните с диплинка, затем добавьте branding-параметры и response headers из вашей панели.