Быстрый старт
Пять шагов от ключа до первой выданной подписки.
Быстрый старт
- В кабинете, в разделе «Ключ и вебхук», выпустите ключ и пополните депозит.
GET /plansпокажет тарифы и цены в USD.POST /subscriptionsсplan_uuid, вашимexternal_user_idи новымcustom_idвернёт подписку, а в нейsubscription_url.- Отдайте ссылку пользователю: он вставляет её в VPN-клиент (INCY, Happ, v2rayTun, Hiddify, Streisand).
- Укажите адрес вебхука (в кабинете или
PUT /webhook) и получайтеsubscription.expires_in_24h, чтобы вовремя предложить продление.
Первый запрос, чтобы проверить ключ:
cURL
curl https://api.relayhub.surf/api/v1/vpn/plans \
-H "Authorization: Bearer $VPN_API_KEY"Ответ 200 со списком plans значит, что ключ работает. 401 unauthorized значит, что ключ не тот или в заголовке опечатка. Все вызовы по шагам, с телами запросов и полями ответов, собраны в главе «Сценарии».
Готовые файлы для импорта: спецификация OpenAPI (Postman, Insomnia, Bruno, генераторы клиентов) и коллекция Postman с переменными base_url и api_key.
Термины
- Подписка на срок: обычная подписка на 14, 30, 90, 180 или 365 дней. Её можно продлевать, замораживать и менять тариф.
- «Навсегда»: бессрочная подписка. Она продаётся отдельным блоком
lifetimeвGET /plans, а её докупки идут через/addons. - Лимитные серверы: серверы обхода белых списков. На обычных серверах трафик безлимитный, на лимитных действует лимит
traffic_limit_bytes. «Купить белые списки» значит «докупить трафик». - Депозит: ваш предоплаченный счёт. Покупки через API списываются с него по закупочной цене.
- `external_user_id`: идентификатор человека в вашей системе.
- `custom_id`: ключ операции, который придумываете вы. По нему повтор запроса не списывает деньги второй раз.
- `subscription_url`: ссылка, которую человек вставляет в VPN-клиент.
- `bot_id`: UUID вашего бота. Нужен только если пользователь должен увидеть подписку в мини-приложении бота.