> For the complete documentation index, see [llms.txt](https://docs.iexexchanger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iexexchanger.com/guide/sait/ustanovka-plaginov.md).

# Установка плагинов

Раздел «Установка плагинов» позволяет подключать дополнительные модули к iEXExchanger через панель управления.

Сейчас основной рабочий сценарий раздела — установка плагинов курсов. Такой плагин добавляет новый внешний источник курсов и после установки может автоматически загрузить пары курсов в систему.

После установки источник появляется в штатном разделе «Курсы из источников» и дальше используется как обычный источник курса.

## Где находится раздел

В панели управления откройте: **«Утилиты» — «Установка плагинов»**

<figure><img src="/files/25QUZpEbsB2djNjM78V9" alt=""><figcaption></figcaption></figure>

Если раздел не отображается, у пользователя нет права на установку внешних модулей.

***

## Права доступа

Для работы с разделом у группы пользователя должно быть включено право:

```
Разрешить установку внешних модулей
```

<figure><img src="/files/L5x0ozNtNDtjgzufQ2E8" alt=""><figcaption></figcaption></figure>

Чтобы выдать доступ:

1. Откройте **«Пользователи» — «Группы пользователей».**
2. Выберите нужную группу.
3. Откройте блок **«Базовое управление».**
4. Включите право **«Разрешить установку внешних модулей».**
5. Сохраните изменения.

После этого пользователи выбранной группы смогут открывать раздел «Установка плагинов» и управлять внешними модулями.

## Для чего нужен раздел

Через этот раздел можно:

* загрузить ZIP-архив плагина из админки;
* установить плагин по ссылке на ZIP-архив;
* проверить пакет перед установкой;
* подключить плагин как источник курсов;
* загрузить пары курсов из плагина;
* включить или отключить установленный плагин;
* проверить состояние плагина;
* заполнить секреты и настройки плагина;
* запустить миграции, если они есть;
* откатиться на предыдущий релиз плагина;
* удалить плагин.

## Что можно устанавливать

На текущем этапе через админку используется установка плагинов типа:

```
Курсы
```

Такой плагин добавляет в систему внешний источник курсов.

После установки источник отображается в разделе: **«Парсер курсов» — «Курсы из источников»**

Если плагин содержит список пар или умеет получить их из внешнего источника, система может загрузить эти пары автоматически.

{% hint style="info" %}
Типы вроде «Мерчант», «Выплаты», «KYC», «AML» и «Внешний модуль» предусмотрены архитектурой, но если они отключены в вашей версии, в списке выбора они не отображаются.
{% endhint %}

## Перед установкой

Перед установкой убедитесь, что у вас есть:

* корректный ZIP-архив плагина;
* или прямая ссылка на ZIP-архив;
* доступ к разделу установки плагинов;
* понимание, откуда получен плагин.

Архив должен быть именно в формате: `.zip`

Максимальный размер ZIP-архива через админку: `50 MB`

{% hint style="warning" %}
Не загружайте плагины из неизвестных источников. Плагин может обращаться к внешним сервисам, использовать API-ключи и влиять на работу курсов.
{% endhint %}

***

## Способы установки

Доступно два способа установки.

<table><thead><tr><th width="230.96484375">Способ</th><th>Когда использовать</th></tr></thead><tbody><tr><td>ZIP из админки</td><td>Если архив плагина находится на вашем компьютере</td></tr><tr><td>Ссылка на ZIP</td><td>Если архив размещён по ссылке</td></tr></tbody></table>

{% stepper %}
{% step %}

### ZIP из админки

1. Откройте «Утилиты» — «Установка плагинов».
2. Нажмите «Установить».
3. В поле «Тип» выберите «Курсы».
4. В поле «Источник» выберите «ZIP из админки».
5. В блоке «Архив» выберите ZIP-файл или перетащите его в область загрузки.
6. Проверьте поле «Папка».
7. В поле «Версия» оставьте `latest` или укажите нужную версию.
8. В поле «Пары курсов» выберите подходящий режим.
9. Нажмите «Проверить пакет».
10. Если система показала «Пакет можно установить», нажмите «Установить».

После установки плагин появится в таблице установленных плагинов.

Если это плагин курсов, система создаст для него источник в разделе «Курсы из источников».
{% endstep %}

{% step %}

### Ссылка на ZIP

1. Откройте «Утилиты» — «Установка плагинов».
2. Нажмите «Установить».
3. В поле «Тип» выберите «Курсы».
4. В поле «Источник» выберите «Ссылка на ZIP».
5. В поле «Ссылка» укажите прямую ссылку на ZIP-архив.
6. Если архив закрытый, укажите «Токен».
7. Заполните «Папка» и «Версия», если требуется.
8. Выберите режим «Пары курсов».
9. Нажмите «Проверить пакет».
10. После успешной проверки нажмите «Установить».

Пример ссылки:

```
https://example.com/plugins/rapira-rates.zip
```

{% hint style="info" %}
Токен используется только для скачивания приватного архива. Он не является настройкой плагина и не используется как API-ключ самого модуля.
{% endhint %}
{% endstep %}
{% endstepper %}

***

## Поля при установке

{% stepper %}
{% step %}

### Тип

Определяет тип устанавливаемого плагина.

Для источников курсов выберите:

```
Курсы
```

{% endstep %}

{% step %}

### Источник

Определяет способ установки.

<table><thead><tr><th width="200.72265625">Источник</th><th>Что означает</th></tr></thead><tbody><tr><td>ZIP из админки</td><td>Архив загружается вручную с компьютера</td></tr><tr><td>Ссылка на ZIP</td><td>Система скачивает архив по указанной ссылке</td></tr></tbody></table>
{% endstep %}

{% step %}

### Архив

Поле отображается, если выбран источник «ZIP из админки».

Загрузите ZIP-файл плагина.
{% endstep %}

{% step %}

### Ссылка

Поле отображается, если выбран источник «Ссылка на ZIP».

Укажите прямую ссылку на ZIP-архив.

Пример:

```
https://example.com/plugin.zip
```

{% endstep %}

{% step %}

### Токен

Используется для скачивания приватного архива.

Например, если архив находится в закрытом репозитории или доступен только по защищённой ссылке.

Токен используется только на этапе скачивания и не сохраняется как настройка плагина.
{% endstep %}

{% step %}

### Папка

Это системное имя папки плагина.

Примеры:

```
test-rates
```

```
bestchange-parser
```

```
custom_rates
```

Используйте только:

* латинские буквы;
* цифры;
* дефис;
* нижнее подчёркивание.

Не используйте:

* пробелы;
* кириллицу;
* слэши;
* специальные символы.

Неправильно:

```
Test Rates
```

```
тест
```

```
plugins/test
```

Если вы загружаете ZIP-архив, система может автоматически предложить папку по названию архива.
{% endstep %}

{% step %}

### Версия

Используется для фиксации установленного релиза.

Если точная версия неизвестна, можно оставить:

```
latest
```

Если вы устанавливаете обновление плагина, лучше указывать версию, которую дал разработчик.

Примеры:

```
1.0.0
```

```
v1.2.3
```

Так проще понимать, какой релиз активен и на какой релиз можно откатиться.
{% endstep %}

{% step %}

### Пары курсов

Поле отображается для плагинов типа «Курсы».

<table><thead><tr><th width="257.08984375">Режим</th><th>Что делает</th></tr></thead><tbody><tr><td>По настройке плагина</td><td>Система использует режим, который задан внутри плагина</td></tr><tr><td>Проверить и загрузить пары</td><td>Плагин получает пары из источника и загружает их в систему</td></tr><tr><td>Не загружать при установке</td><td>Источник создаётся без первичной загрузки пар</td></tr></tbody></table>

Для большинства курсовых плагинов рекомендуется выбирать:

```
Проверить и загрузить пары
```

Этот режим удобен, если внешний источник доступен и должен сразу создать список пар.

Если плагин требует API-ключи, иногда лучше выбрать:

```
Не загружать при установке
```

После установки можно заполнить секреты, настройки и выполнить проверку состояния.
{% endstep %}
{% endstepper %}

***

## Предпросмотр пакета

Перед установкой система обязательно проверяет пакет.

Это безопасный этап: плагин ещё не устанавливается в систему.

<figure><img src="/files/3YH5jpOtah707gd5Nnna" alt="" width="563"><figcaption></figcaption></figure>

В блоке «Предпросмотр пакета» отображается:

* название плагина;
* тип плагина;
* версия;
* среда запуска — PHP или JS;
* стандарт совместимости;
* основной файл;
* количество пар курсов;
* количество файлов в архиве;
* план установки;
* ошибки и предупреждения, если они найдены.

Если отображается:

```
Пакет можно установить
```

установка разрешена.

Если отображается, что есть проблемы, откройте список ошибок и исправьте причину.

Частые причины:

* неверный архив;
* отсутствует файл описания плагина;
* неподдерживаемый стандарт;
* отсутствует основной файл;
* несовместимая версия системы;
* ошибка загрузки пар.

## Что происходит после установки

После установки система:

1. проверяет архив;
2. распаковывает файлы плагина в безопасное хранилище;
3. создаёт запись плагина в реестре;
4. создаёт активный релиз;
5. регистрирует функции плагина;
6. создаёт источник курсов, если это плагин курсов;
7. сохраняет настройки, секреты и миграции, если они описаны в плагине;
8. запускает импорт пар курсов, если выбран соответствующий режим.

Файлы плагинов хранятся в системном хранилище, а не в публичной папке сайта.

Это нужно, чтобы плагины не терялись при обновлении основного кода проекта.

## Загрузка данных плагина

Если плагин курсов загружает большой список пар, после установки может появиться блок **«Загрузка данных плагинов»**.

В нём отображается:

* статус загрузки;
* процент выполнения;
* сколько записей загружено;
* сколько создано;
* сколько обновлено;
* сколько пропущено.

Возможные статусы:

<table><thead><tr><th width="282.1484375">Статус</th><th>Что означает</th></tr></thead><tbody><tr><td>Ожидает загрузки</td><td>Задача создана и ждёт запуска</td></tr><tr><td>Загружаются данные</td><td>Импорт выполняется</td></tr><tr><td>Данные загружены</td><td>Импорт завершён</td></tr><tr><td>Ошибка загрузки</td><td>Импорт не смог завершиться</td></tr><tr><td>Заменен новым импортом</td><td>Запущен новый импорт, старый больше не актуален</td></tr></tbody></table>

Если импорт ещё выполняется, не устанавливайте тот же плагин повторно.

Дождитесь завершения или проверьте ошибку, если она появилась.

## Таблица установленных плагинов

После установки плагин появляется в таблице «Установленные плагины».

В таблице отображается:

<table><thead><tr><th width="307.4375">Поле</th><th>Что означает</th></tr></thead><tbody><tr><td>Название</td><td>Название плагина</td></tr><tr><td>Тип и группа</td><td>Тип плагина и связанная группа</td></tr><tr><td>Источник установки</td><td>ZIP или ссылка</td></tr><tr><td>Статус</td><td>Текущее состояние плагина</td></tr><tr><td>Совместимость</td><td>Результат проверки совместимости</td></tr><tr><td>Health-check</td><td>Последний результат проверки состояния</td></tr><tr><td>Хранение</td><td>Где находятся файлы плагина</td></tr><tr><td>Дата установки</td><td>Когда плагин был установлен</td></tr><tr><td>Кто загрузил</td><td>Пользователь, который установил плагин</td></tr><tr><td>Активный релиз</td><td>Текущая версия плагина</td></tr><tr><td>Действия</td><td>Доступные операции</td></tr></tbody></table>

## Статусы плагина

{% stepper %}
{% step %}

### Включен

Плагин активен и может использоваться системой.

Для плагина курсов это означает, что связанный источник курсов также включён.
{% endstep %}

{% step %}

### Отключен

Плагин установлен, но не используется.

Для плагина курсов связанный источник курсов также отключается.
{% endstep %}

{% step %}

### Ошибка

Система обнаружила проблему в работе плагина.

Откройте сообщение ошибки и выполните проверку состояния.
{% endstep %}

{% step %}

### Удален

Плагин удалён из активного списка.
{% endstep %}

{% step %}

### Откат

Плагин был возвращён на один из предыдущих релизов.
{% endstep %}
{% endstepper %}

***

## Действия с установленным плагином

{% stepper %}
{% step %}

### Включить или отключить

Переключатель статуса позволяет включить или отключить плагин.

Если отключить плагин курсов, связанный источник курсов станет неактивным и перестанет использоваться как активный источник.

Отключение удобно использовать, если внешний сервис временно недоступен или источник больше не должен участвовать в расчётах.
{% endstep %}

{% step %}

### Проверить состояние

Кнопка проверки состояния запускает health-check плагина.

Для плагинов курсов система проверяет, может ли плагин обратиться к источнику и получить данные.

После проверки отображается один из статусов:

```
Работает
```

```
Есть предупреждение
```

```
Ошибка health-check
```

Health-check полезен, если:

* источник перестал обновлять курсы;
* пары не загружаются;
* нужно проверить API-ключи;
* нужно проверить доступность внешнего сервиса;
* нужно убедиться, что плагин работает после обновления.
  {% endstep %}

{% step %}

### Секреты

Кнопка «Секреты» появляется, если плагину нужны скрытые данные.

Например:

* API-ключ;
* токен;
* пароль;
* секретный ключ.

Заполненные секреты хранятся отдельно от файлов плагина.

Если поле уже заполнено, система показывает, что секрет сохранён. При повторном открытии значение не раскрывается.

Если оставить поле пустым и сохранить форму, ранее сохранённый секрет не изменится.
{% endstep %}

{% step %}

### Настройки

Кнопка «Настройки» появляется, если плагин поддерживает пользовательские параметры.

Это могут быть:

* URL;
* режим работы;
* таймаут;
* числовые значения;
* переключатели;
* списки;
* JSON-параметры.

Эти значения не считаются секретами.

Не указывайте в обычных настройках пароли, токены и приватные ключи, если для этого есть отдельный раздел «Секреты».
{% endstep %}
{% endstepper %}

### Запустить миграции

Если плагин поставляется со своими миграциями, в действиях появляется кнопка запуска миграций.

Миграции не запускаются автоматически без явного действия администратора.

Запускайте их только если понимаете, что плагину нужны дополнительные таблицы или поля для работы.

{% hint style="info" %}
Миграции меняют структуру базы данных. Запускайте их только для доверенных плагинов.
{% endhint %}

### Откатить релиз

Если у плагина есть несколько установленных релизов, можно выбрать предыдущий релиз и выполнить откат.

Это полезно, если после обновления плагина появились ошибки, а предыдущая версия работала стабильно.

При откате система:

* проверяет файлы выбранного релиза;
* проверяет совместимость;
* делает выбранный релиз активным;
* обновляет данные плагина;
* сохраняет связь с источником курсов.

### Удалить

Удаление отключает плагин и убирает его из активного списка.

Для плагинов курсов система действует осторожно: она не удаляет используемые пары курсов, если они связаны с направлениями обмена.

Это защищает направления от поломки после удаления плагина.

***

## Где смотреть источник после установки

Если установлен плагин типа «Курсы», откройте: **«Парсер курсов» — «Курсы из источников»**

<figure><img src="/files/EYGwa0LujiKEDwtPoTNJ" alt="" width="563"><figcaption></figcaption></figure>

Там появится новый источник.

У источников, созданных плагином, может отображаться пометка:

```
Плагин
```

Внутри источника можно проверить:

* список загруженных пар;
* активность источника;
* количество курсов;
* связанные данные;
* корректность обновления курсов.

## Рекомендуемый порядок после установки

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

1. Дождитесь завершения загрузки данных, если она запущена.
2. Заполните «Секреты», если плагин их требует.
3. Заполните «Настройки», если они есть.
4. Нажмите «Проверить состояние».
5. Откройте «Парсер курсов» — «Курсы из источников».
6. Проверьте, что источник появился и включён.
7. Проверьте список пар курсов.
8. Включите нужные пары.
9. Подключите нужную пару к направлению обмена.
10. Проверьте обновление курса на тестовом направлении.

***

## Частые проблемы

<details>

<summary>Раздел «Установка плагинов» не отображается</summary>

У пользователя нет права на установку внешних модулей.

Проверьте группу пользователя:

**«Пользователи» — «Группы пользователей» — нужная группа — «Базовое управление»**

Включите право:

```
Разрешить установку внешних модулей
```

</details>

<details>

<summary>ZIP-архив не загружается</summary>

Проверьте:

* файл имеет расширение `.zip`;
* размер файла не превышает `50 MB`;
* архив не повреждён.

</details>

<details>

<summary>Пакет не проходит проверку</summary>

Откройте блок «Предпросмотр пакета» и посмотрите список ошибок.

Частые причины:

* архив повреждён;
* отсутствует файл описания плагина;
* неверный тип плагина;
* неподдерживаемый стандарт;
* несовместимая версия системы;
* отсутствует основной файл.

</details>

<details>

<summary>Плагин установился, но источник курсов не появился</summary>

Проверьте:

* выбран ли тип «Курсы»;
* поддерживает ли плагин функцию источника курсов;
* включён ли сам плагин;
* обновлена ли страница «Курсы из источников».

</details>

<details>

<summary>Пары курсов не загрузились</summary>

Проверьте режим «Пары курсов» при установке.

Если был выбран вариант:

```
Не загружать при установке
```

пары не будут загружены автоматически.

Также проверьте блок «Загрузка данных плагинов» и ошибку импорта, если она появилась.

</details>

<details>

<summary>Health-check показывает ошибку</summary>

Обычно это означает, что плагин не смог обратиться к внешнему источнику или ему не хватает данных для работы.

Проверьте:

* заполнены ли секреты;
* заполнены ли настройки;
* доступен ли внешний API;
* не изменился ли формат ответа внешнего сервиса;
* нет ли сетевых ограничений на сервере.

После исправления повторите проверку состояния.

</details>

<details>

<summary>После отключения плагина перестали обновляться курсы</summary>

Это нормальное поведение.

Отключённый плагин не используется системой. Включите его обратно или выберите другой источник курсов для направлений.

</details>

{% hint style="info" %}

## Важное предупреждение

Устанавливайте только проверенные плагины.

Плагин может:

* обращаться к внешним сервисам;
* получать данные;
* использовать API-ключи;
* влиять на работу курсов;
* запускать миграции, если они предусмотрены.

Перед установкой на рабочем проекте желательно проверить плагин на тестовом окружении.
{% endhint %}

***

## Коротко

Раздел **«Установка плагинов»** используется для подключения внешних модулей через админку.

Сейчас основной рабочий сценарий — установка плагинов курсов.

Для доступа нужно право **«Разрешить установку внешних модулей»**.

Плагин можно установить из ZIP-архива или по ссылке.

Перед установкой система обязательно проверяет пакет.

После установки плагин курсов появляется в разделе **«Парсер курсов» — «Курсы из источников».**


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.iexexchanger.com/guide/sait/ustanovka-plaginov.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
