---
title: Что такое Telegram Gateway
description: Telegram Gateway — канал для отправки кодов верификации через Telegram по API
---

> **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.



> **Коротко:** Telegram Gateway — канал для отправки кодов верификации через Telegram. Работает через API, без установки бота пользователем.

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

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

## Что это

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

Используется только для **кодов верификации**. Для двусторонней коммуникации — используйте [Telegram bot →](https://docs.mydialogi.ru/05-channels/07-telegram/telegram-bot).

<Warning>
**Telegram Gateway не доступен для отправки из личного кабинета.** Канал работает **только через API** — интеграцию с программой клиента.

Отправить код через Telegram Gateway из интерфейса рассылки нельзя.
</Warning>

## Как это работает

### 1. Программа клиента вызывает API

Ваша программа отправляет запрос на платформу через API — указывает канал `8` (Telegram Gateway).

### 2. Платформа передаёт запрос в Telegram

Сервис передаёт данные в Telegram Gateway.

### 3. Получатель получает код

Telegram отправляет код получателю — без установки бота и подписки.

### 4. Получите статусы доставки

Статусы приходят двумя способами:

- **Push (вебхук)** — платформа сама отправляет статус на ваш URL.
- **Pull (запрос к API)** — вы запрашиваете статусы самостоятельно через `GET /edrs`.

Как получать статусы:

- [Статусы сообщений в OTP-кодах →](https://docs.mydialogi.ru/02-otp/08-api/otp-api-statuses)
- [Статусы сообщений в Multi API →](https://docs.mydialogi.ru/03-multiapi/02-api/mapi-106-api-statuses)

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

- [ ] Канал Telegram Gateway подключён к вашему аккаунту — обратитесь в поддержку сервиса.
- [ ] У вас есть **API-ключ** с правами `omni-api` — [API-ключи →](https://docs.mydialogi.ru/06-reference/01-api/api-keys).
- [ ] У вас есть имя отправителя Telegram Gateway со статусом **Активно** — [Имя отправителя для Telegram →](https://docs.mydialogi.ru/05-channels/07-telegram/sender-id).
- [ ] Ваша программа готова к интеграции с API.

## Что содержит

| Поле | Обязательность | Что указать |
|---|---|---|
| **code** | Основной способ | Готовый код, который нужно отправить — 4–8 цифр |
| **code_length** | Дополнительно | Длина генерируемого кода — 4–8 |
| **ttl** | Опционально | Время жизни кода в секундах — 30–3600 |
| **isOtp** | Рекомендуется | Флаг, что сообщение содержит OTP |
| **webhook** | Опционально | URL для получения статусов доставки |

<Note>
**Основной способ** — передать готовый `code`. Вы генерируете код на своей стороне и отправляете его получателю через Telegram Gateway.

**Дополнительный способ** — `code_length`. Telegram сам генерирует код указанной длины.
</Note>

## Как подключить

### 1. Обратитесь в поддержку сервиса

Напишите на почту поддержки вашего сервиса с запросом на подключение Telegram Gateway.

[Контакты поддержки →](https://docs.mydialogi.ru/06-reference/03-troubleshooting/ts-support-contacts)

### 2. Дождитесь подключения канала

Поддержка подключит канал к вашему аккаунту и зарегистрирует имя отправителя Telegram Gateway.

### 3. Создайте API-ключ

В личном кабинете: **API Подключения** → **Создать API подключение**.

- Включите права `omni-api` и `statistics`.
- Выберите имя отправителя Telegram Gateway.

[API-ключи →](https://docs.mydialogi.ru/06-reference/01-api/api-keys)

### 4. Интегрируйте отправку в программу

Используйте API-ключ в запросах — см. пример ниже.

Обзоры API:

- [Обзор API OTP-кодов →](https://docs.mydialogi.ru/02-otp/08-api/otp-api-overview)
- [Обзор API Multi API →](https://docs.mydialogi.ru/03-multiapi/02-api/mapi-101-api-overview)

## Как отправить код

**Эндпоинт:** `POST /api/v1/messages`

**Заголовки:**

- `Content-Type: application/json`
- `X-API-Key: <ваш-ключ>`

### Основной способ — готовый код

Вы генерируете код на своей стороне и передаёте его в запросе.

```json
{
  "channel": 8,
  "contact": "905518709790",
  "senderId": "transit",
  "isOtp": true,
  "payload": {
    "code": "12345",
    "ttl": 300
  }
}
```

### Дополнительный способ — код генерирует Telegram

Если не хотите генерировать код сами — передайте длину, и Telegram сгенерирует код автоматически.

```json
{
  "channel": 8,
  "contact": "905518709790",
  "senderId": "transit",
  "isOtp": true,
  "payload": {
    "code_length": 5,
    "ttl": 300
  }
}
```

**Что здесь что:**

| Поле | Что означает |
|---|---|
| `channel: 8` | Канал Telegram Gateway |
| `contact` | Номер получателя |
| `senderId` | Имя отправителя Telegram Gateway |
| `isOtp: true` | Флаг, что сообщение содержит OTP — содержимое скрыто в EDR |
| `code` | Готовый код для отправки — основной способ |
| `code_length` | Длина генерируемого кода — дополнительный способ |
| `ttl` | Время жизни кода |

<Note>
**Если указан `code`** — `code_length` игнорируется.

**Если `code` не указан** — Telegram использует `code_length` и генерирует код сам.
</Note>

### Отозвать верификационное сообщение

Эндпоинт `POST /messages/revoke` позволяет отозвать ранее отправленное верификационное сообщение Telegram Gateway.

**Эндпоинт:** `POST /messages/revoke`

```json
{
  "messageId": "019372a1-d252-7908-9216-028bd36c7af1"
}
```

**Что вернётся:**

| Поле | Что означает |
|---|---|
| `success` | `true` — сообщение отозвано |
| `message_id` | ID отозванного сообщения |
| `error` | Описание ошибки, если есть |

Обзоры API:

- [Обзор API OTP-кодов →](https://docs.mydialogi.ru/02-otp/08-api/otp-api-overview)
- [Обзор API Multi API →](https://docs.mydialogi.ru/03-multiapi/02-api/mapi-101-api-overview)

## API и интеграция

Для Telegram Gateway доступны эндпоинты:

| Эндпоинт | Что делает |
|---|---|
| `POST /messages` | Отправка кода |
| `POST /messages/verification` | Проверка статуса верификации |
| `POST /messages/revoke` | Отозвать верификационное сообщение Telegram Gateway |

<Note>
Подробное описание эндпоинтов — в обзорах API:

- [Обзор API OTP-кодов →](https://docs.mydialogi.ru/02-otp/08-api/otp-api-overview)
- [Обзор API Multi API →](https://docs.mydialogi.ru/03-multiapi/02-api/mapi-101-api-overview)
</Note>

## Результат

Канал Telegram Gateway подключён, API-ключ создан, программа интегрирована. Коды можно отправлять.

> **Сколько это стоит?**
> Telegram Gateway тарифицируется за сообщение.
> Подробнее: [Обзор тарифов →](https://docs.mydialogi.ru/06-reference/02-pricing/pricing-overview).

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

### Канал не подключён

**Причина:** Telegram Gateway не активирован для вашего аккаунта.

**Решение:** обратитесь в поддержку сервиса — подключение выполняется вручную.

[Контакты поддержки →](https://docs.mydialogi.ru/06-reference/03-troubleshooting/ts-support-contacts)

### Код не доставляется

**Причина:** неверный `senderId`, или у получателя нет Telegram.

**Решение:** проверьте имя отправителя — оно должно быть **Активно**, и убедитесь, что получатель пользуется Telegram.

[Имя отправителя для Telegram →](https://docs.mydialogi.ru/05-channels/07-telegram/sender-id)

### Ошибка TTL

**Причина:** значение `ttl` вне допустимого диапазона.

**Решение:** используйте значения от **30** до **3600** секунд.

### Ошибка code\_length

**Причина:** значение `code_length` вне допустимого диапазона.

**Решение:** используйте значения от **4** до **8**.

### Ошибка: указаны и code, и code\_length

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

**Решение:** оставьте только один. Параметр `code_length` игнорируется, если указан `code`.

### Код виден в логах

**Причина:** не установлен флаг `isOtp: true`.

**Решение:** добавьте `isOtp: true` — содержимое будет скрыто в EDR.

### Не приходят статусы доставки

**Причина:** не указан webhook URL.

**Решение:** укажите **webhook URL** в настройках отправки или запрашивайте статусы через `GET /edrs`.

[Вебхуки →](https://docs.mydialogi.ru/06-reference/01-api/api-webhooks)

### Ошибка 401 Unauthorized

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

**Решение:** проверьте заголовок `X-API-Key` и права ключа.

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

## См. также

<Columns cols={2}>
  <Card title="Что такое Telegram bot" icon="robot" href="/05-channels/07-telegram/telegram-bot">
    Двусторонняя коммуникация через бота
  </Card>
  <Card title="Имя отправителя для Telegram" icon="id-card" href="/05-channels/07-telegram/sender-id">
    Регистрация имени отправителя
  </Card>
  <Card title="Обзор API OTP-кодов" icon="book" href="/02-otp/08-api/otp-api-overview">
    OMNI API, Broadcasts API, 2FA
  </Card>
  <Card title="Обзор API Multi API" icon="plug" href="/03-multiapi/02-api/mapi-101-api-overview">
    OMNI API и Broadcasts API
  </Card>
</Columns>

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

- **OTP-коды:** support@otpcod.ru
- **Multi API:** support@multiapi.ru
- **Мой диалог:** support@mydialogi.ru
