> 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/exchanger-api/poluchenie-dostupa-i-klyuchei/admin-enable-api.md).

# Как администратору включить API

Эта страница для администратора обменника. Задача администратора: разрешить клиенту API, выдать минимальные права и объяснить, где клиент создает ключ.

## 1. Включить API глобально

В админке откройте настройки API и убедитесь, что публичный API включен.

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

## 2. Разрешить API клиенту

Откройте карточку клиента и включите ему доступ к API.

Что проверить:

| Проверка                                | Почему важно                                         |
| --------------------------------------- | ---------------------------------------------------- |
| Аккаунт клиента активен                 | Заблокированный клиент не должен работать через API. |
| API-доступ включен                      | Без этого приватные endpoints вернут отказ.          |
| Email/профиль клиента корректен         | Это поможет быстро найти аккаунт при обращении.      |
| Клиент понимает ответственность за ключ | Ключ дает доступ к его заявкам и операциям.          |

## 3. Выбрать права доступа

Не выдавайте все права сразу. Выберите набор под задачу интеграции.

### Только читать заявки

Подходит для CRM, отчетов и панелей поддержки:

```
orders:read
orders:detail:read
orders:statuses:read
client:health:read
```

### Создавать заявки обмена

Подходит для витрины обмена, Telegram-бота, мобильного приложения:

```
exchange:routes:read
exchange:capabilities:read
exchange:quotes:read
exchange:preflight:read
exchange:orders:create
orders:detail:read
orders:statuses:read
```

### Подтверждать оплату

Добавьте только если интеграция действительно будет подтверждать оплату:

```
exchange:orders:confirm
exchange:orders:actions:read
```

### Управлять webhooks

```
webhooks:read
webhooks:write
webhooks:deliveries:read
webhooks:deliveries:retry
```

## 4. Настроить HMAC

Рекомендуемая настройка:

| Тип запроса                      | Рекомендация                                  |
| -------------------------------- | --------------------------------------------- |
| `GET`                            | Можно разрешить без HMAC для простого чтения. |
| `POST`, `PUT`, `PATCH`, `DELETE` | Требовать HMAC.                               |
| Все приватные запросы            | Лучший вариант для крупных интеграций.        |

HMAC защищает запрос от подмены тела, query string и повторного использования nonce.

## 5. Настроить IP allow-list

Если интеграция работает server-to-server, включите белый список IP и добавьте публичные IP серверов клиента.

Попросите клиента передать:

* production IP;
* staging IP, если нужен тестовый контур;
* внешний IP NAT/load balancer, если запросы идут через него.

## 6. Настроить лимиты

Минимальный набор:

| Настройка              | Что ограничивает                                  |
| ---------------------- | ------------------------------------------------- |
| Rate limit             | Сколько запросов можно делать за короткий период. |
| Daily quota            | Сколько запросов можно сделать за сутки.          |
| Monthly quota          | Сколько запросов можно сделать за месяц.          |
| Webhook endpoint limit | Сколько webhook URL может создать клиент.         |

Если клиент часто проверяет статусы, лучше подключить webhooks, а не повышать лимиты.

## 7. Объяснить клиенту, где создать ключ

После включения доступа клиент сам создает ключ в личном кабинете:

```
Профиль -> Настройки -> API -> Создать ключ
```

На вкладке API клиент увидит:

* сколько ключей уже использовано, например `9 / 10`;
* кнопку `Создать ключ`;
* список существующих ключей;
* поле “Белый список IP”;
* тумблер `Ключ включён`;
* статусы `HMAC включён` и `Активен`.

Если клиент видит `Достигнут лимит API-ключей`, он должен удалить старый ключ или обратиться к администратору.

## 8. Что передать клиенту

Администратор не должен пересылать Bearer-токен за клиента. Клиент создает ключ сам:

1. Войти в личный кабинет.
2. Открыть `Профиль -> Настройки -> API`.
3. Нажать `Создать ключ`.
4. Сразу сохранить Bearer-токен и HMAC-секрет.
5. Проверить, что ключ активен.
6. Передать секреты разработчику через защищенный канал.
