Ваш сайт или программа сама выдаёт подписки из нашего VPN. Нужен разработчик.
/api/v1/vpn/clients/link/batchТо же, что POST /clients/link, до 1000 строк за раз: перенести базу бота одним
вызовом. Строки независимы: конфликт одной не отменяет остальные, ответ по каждой в
том же порядке (result или error_code с error). Повтор всего пакета безопасен.
successbooleantrue у любого успешного ответа.
totalintegerСколько всего записей под фильтром.
failedintegerСколько строк пакета не привязано (result: error).
itemsobject[]Записи страницы.
401unauthorized: Неверный или отсутствующий API-ключ403api_disabled: Доступ к API для этого аккаунта закрыт; ip_not_allowed: Адрес запроса не входит в список разрешённых422validation_error: Неверные параметры запроса429rate_limited: Слишком много запросов503upstream_unavailable: Поставщик VPN временно недоступенПодставится в примеры и в запрос. Хранится только в этом браузере.
curl -X POST https://api.relayhub.surf/api/v1/vpn/clients/link/batch \
-H "Authorization: Bearer <YOUR_API_KEY>"Запрос меняет данные или списывает деньги: выполняйте его из своего кода.
{
"success": true,
"total": 2,
"failed": 1,
"items": [
{
"external_user_id": "user-42",
"telegram_id": 123456789,
"result": "linked",
"client_id": "01a06310-8f2b-7c11-9a3e-2b5c7d9e1f00"
},
{
"external_user_id": "user-43",
"telegram_id": 987654321,
"result": "error",
"error_code": "external_user_conflict",
"error": "telegram_id или external_user_id уже привязан к другому пользователю",
"conflict": "telegram_taken",
"conflict_external_user_id": "user-17"
}
]
}successbooleantrue у любого успешного ответа.
totalintegerСколько всего записей под фильтром.
failedintegerСколько строк пакета не привязано (result: error).
itemsobject[]Записи страницы.