# Лимитированные ссылки

<figure><img src="https://2249226147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpCCfn32zsHHBJZqih6C0%2Fuploads%2FJWfkSDtKT5VPOtKIqyit%2F3245.png?alt=media&#x26;token=1f64b54e-6441-4107-bff9-e39c84b71469" alt="" width="188"><figcaption></figcaption></figure>

Лимитированные ссылки — это функция, которая позволяет ограничить количество устройств, способных добавить подписку (ссылку) в приложение.\
В личном кабинете на сайте `happ-proxy.com`вы указываете URL вашей подписки, задаёте максимальное количество устройств и нажимаете "Сгенерировать ссылку".\
Полученную ссылку можно передать пользователю, при этом вы можете быть уверены: подписку смогут установить только указанное количество устройств — превышение лимита невозможно.

Создавать лимитированные ссылки можно как через веб‑интерфейс, так и с помощью API.

### **Создание через сайт**

1. На странице создания укажите **незашифрованный URL** вашей подписки.
2. Задайте **лимит установок** (максимальное число устройств).
3. После генерации:
   * К URL автоматически добавляется параметр **InstallID**.
   * Домен ссылки сохраняется в базе в виде **SHA‑256‑хеша** (сырые домены не хранятся для повышения безопасности).

Вы получите **зашифрованную ссылку** с параметром InstallID.

***

### **Создание через API**

Отправьте GET‑запрос на адрес:

```
https://api.happ-proxy.com/api/add-install?
  provider_code={provider_code}&
  auth_key={auth_key}&
  install_limit={install_limit}
```

* **{provider\_code}** — ваш код провайдера (в профиле)
* **{auth\_key}** — ключ авторизации (в профиле)
* **{install\_limit}** — максимальное число устройств

**Ответ API**

* **Успех**

  ```json
  {
    "rc": 1,
    "msg": "Ok",
    "install_code": "6P0hVao1fG5e"
  }
  ```
* **Ошибка**

  ```json
  {
    "rc": 0,
    "msg": "Описание ошибки"
  }
  ```

Добавьте полученный **install\_code** в ссылку как параметр **InstallID**.

***

### **Пример**

* Исходный URL:

  ```
  https://url.com/sub
  ```
* Итоговая ссылка:

  ```
  https://url.com/sub#Your_TITLE?installid=Abcd1234
  ```

> **Совет:** Зашифруйте ссылку, чтобы пользователи не могли удалить параметр InstallID.

***

### **Принцип работы**

При добавлении ссылки приложение вычисляет SHA‑256-хеш домена и отправляет запрос на:

```
https://check.happ-proxy.com/install?id={domain_hash}&installid={InstallID}
```

В ответ возвращаются `ProviderID` и статус ссылки.

Если запрос не удаётся передать (например, из-за блокировки сайта), приложение автоматически повторит попытку после установки VPN-соединения.

Сервер `happ-proxy.com` получает `HWID` устройства и отвечает положительно, если лимит установок по ссылке не превышен. В случае превышения лимита сервер возвращает отказ, и приложение выводит сообщение:\
\&#xNAN;**«Администратор подписки ограничил доступ. Пожалуйста, свяжитесь с технической поддержкой.»**
