---
title: Как работает умный шлюз
description: Умный шлюз в OTP-кодах — режим работы через API, где вы генерируете код, а платформа доставляет его по 9 каналам с каскадом
---

> **For AI agents:** the complete documentation index is at [llms.txt](https://docs.mydialogi.ru/llms.txt). Append `.md` to any page URL for its markdown version.

> **Коротко:** умный шлюз — это режим, при котором вы сами генерируете код, а платформа только доставляет его по каналам с каскадом.

## Кому подходит

- Роль: Клиент, Разработчик
- Уровень: Опытный

## Что это

Умный шлюз — второй режим работы OTP-сервиса. В отличие от «Под ключ», здесь вы контролируете генерацию и проверку кода, а платформа берёт на себя доставку.

<Note>
**Это один из двух режимов работы OTP-сервиса.** Первый режим — **Под ключ** — когда платформа сама генерирует и проверяет код. Умный шлюз работает **через API** — технические детали в разделе [API и интеграция](https://docs.mydialogi.ru/02-otp/08-api/otp-api-overview).

- [Какой режим выбрать →](https://docs.mydialogi.ru/02-otp/00-start-here/otp-002-choose-mode)
- [Как работает 2FA-сервис →](https://docs.mydialogi.ru/02-otp/01-turnkey/otp-101-how-2fa-works)
</Note>

<Tip>
**Тестовое подключение бесплатно** — договор не требуется, мы предоставляем баланс для тестирования. Для продолжения работы после теста — запросите договор через поддержку сервиса.

[Начните с быстрого старта →](https://docs.mydialogi.ru/02-otp/00-start-here/otp-003-quick-start)
</Tip>

## Перед началом

- [ ] Вы зарегистрированы в OTP-сервисе.
- [ ] У вас есть свой механизм генерации OTP-кодов.
- [ ] У вас есть имя отправителя со статусом **Активно**.
- [ ] Вы готовы создать API-ключ с правами `omni-api`.
- [ ] Вы настроили endpoint для вебхука (если нужны статусы доставки через push).
- [ ] Вы знаете, какие каналы доступны — [9 каналов OTP](https://docs.mydialogi.ru/02-otp/04-channels/otp-401-which-channels).

## Чем отличается от «Под ключ»

| Критерий | Под ключ (2FA) | Умный шлюз |
|---|---|---|
| **Кто генерирует код** | Платформа | Вы |
| **Кто проверяет код** | Платформа | Вы |
| **Что вы получаете** | «Код верный / неверный» | Статус доставки сообщения |
| **Сложность интеграции** | 2 запроса | 1 запрос + своя логика |
| **Кому подходит** | Без своего OTP-модуля | Со своим генератором кодов |

## Когда использовать

- **У вас уже есть свой OTP-механизм.**
- **Нужны специфические правила доставки.**
- **Нужен полный контроль над логикой.**

## Когда не использовать

- **Нет своего OTP-механизма.** Используйте режим **Под ключ**.
- **Нужна простая интеграция за 2 запроса.**

## Как начать

### 1. Зарегистрируйтесь в OTP-сервисе

Создайте аккаунт и получите доступ в личный кабинет сервиса.

### 2. Зарегистрируйте имя отправителя

Имя отправителя нужно для отправки сообщений по любому каналу.

[Как зарегистрировать имя отправителя →](https://docs.mydialogi.ru/02-otp/03-for-developers/otp-301-sender-id)

### 3. Создайте API-ключ с правами omni-api

Ключ используется для аутентификации в API умного шлюза.

[Как создать API-ключ →](https://docs.mydialogi.ru/06-reference/01-api/api-keys)

### 4. Отправьте первый код

Сформируйте запрос с кодом и правилами каскада.

[Как отправить первый код через умный шлюз →](https://docs.mydialogi.ru/02-otp/02-smart-gateway/otp-202-first-request)

### 5. Настройте каскад

Выберите каналы, `successOn` и `timeout` для каждого шага.

[Как настроить каскад в умном шлюзе →](https://docs.mydialogi.ru/02-otp/02-smart-gateway/otp-203-cascade-rules)

## Карта раздела API

Технические детали — эндпоинты, параметры, форматы payload, коды ответов, статусы и ошибки.

<Columns cols={2}>
  <Card title="API и интеграция — обзор" icon="book" href="/02-otp/08-api/otp-api-overview">
    Все эндпоинты и группы API
  </Card>
  <Card title="OMNI API — отправка кодов" icon="paper-plane" href="/02-otp/08-api/otp-api-omni">
    Эндпоинты /messages и /omnimessages
  </Card>
  <Card title="Форматы payload" icon="code" href="/02-otp/08-api/otp-api-omni-payload">
    JSON-примеры для каждого канала
  </Card>
  <Card title="Статусы сообщений" icon="signal" href="/02-otp/08-api/otp-api-statuses">
    Push и pull — два способа
  </Card>
  <Card title="Broadcasts API" icon="bullhorn" href="/02-otp/08-api/otp-api-broadcasts">
    Запуск рассылок и шаблоны
  </Card>
  <Card title="Справочные эндпоинты" icon="list" href="/02-otp/08-api/otp-api-reference">
    Каналы, отправители, баланс
  </Card>
  <Card title="Обработка ошибок API" icon="triangle-exclamation" href="/06-reference/01-api/api-errors">
    Форматы ошибок для каждого API
  </Card>
  <Card title="HTTP-коды ошибок" icon="code" href="/06-reference/03-troubleshooting/ts-api-http-codes">
    Полный справочник кодов ответа
  </Card>
</Columns>

## Результат

Вы понимаете, как работает умный шлюз, чем он отличается от режима «Под ключ» и знаете, где искать технические детали.

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

### Не знаю, какой режим выбрать

**Причина:** два режима работы — «Под ключ» и «Умный шлюз» — для разных задач.

**Решение:** если у вас нет своего генератора кодов — «Под ключ». Если есть — «Умный шлюз».

[Какой режим выбрать →](https://docs.mydialogi.ru/02-otp/00-start-here/otp-002-choose-mode)

### Нужен API-доступ к умным сервисам

**Причина:** в OTP-сервисе умные сервисы доступны только через каналы.

**Решение:** используйте сервис **Multi API** — там HLR, MNP и IMSI доступны через API.

[Умные сервисы в Multi API →](https://docs.mydialogi.ru/03-multiapi/06-smart-services)

### Ошибка 401 Unauthorized

**Причина:** неверный или отсутствующий API-ключ.

**Решение:** проверьте заголовок `X-API-Key` и ключ — у него должны быть права `omni-api`.

[Ошибка 401 →](https://docs.mydialogi.ru/06-reference/03-troubleshooting/ts-mapi-401)

## См. также

<Columns cols={2}>
  <Card title="Какой режим выбрать" icon="diagram-project" href="/02-otp/00-start-here/otp-002-choose-mode">
    Сравнение двух режимов работы
  </Card>
  <Card title="Как работает 2FA-сервис" icon="shield-halved" href="/02-otp/01-turnkey/otp-101-how-2fa-works">
    Режим «Под ключ»
  </Card>
  <Card title="Как отправить первый код" icon="paper-plane" href="/02-otp/02-smart-gateway/otp-202-first-request">
    Пошаговый сценарий
  </Card>
  <Card title="Как настроить каскад" icon="arrow-progress" href="/02-otp/02-smart-gateway/otp-203-cascade-rules">
    Практические рекомендации
  </Card>
  <Card title="Какие каналы использовать для OTP" icon="share-nodes" href="/02-otp/04-channels/otp-401-which-channels">
    9 каналов OTP и их номера в API
  </Card>
  <Card title="Как выбрать канал для OTP" icon="circle-question" href="/02-otp/04-channels/otp-403-channel-choice">
    Выбор канала и каскад
  </Card>
</Columns>

## Нужна помощь?

- **OTP-коды:** support@otpcod.ru
