Как исправить Telegram API_ID_PUBLISHED_FLOOD: чек-лист восстановления
API_ID_PUBLISHED_FLOOD означает, что Telegram считает api_id из запроса авторизации опубликованным либо неподходящим для выпущенного приложения. Прекратите повторы с этими данными, проверьте, не скопирован ли ограниченный тестовый API ID Telegram и не опубликованы ли данные вашего приложения, затем перейдите на API ID, созданный для собственного приложения. Telegram не документирует endpoint для самостоятельной разблокировки или ротации при этой ошибке.
Главное
- Telegram прямо предупреждает: тестовый API ID из открытого кода ограничен и вызывает
API_ID_PUBLISHED_FLOODв выпущенных приложениях. - Условия Telegram API требуют получить собственный
api_idдля приложения. API_ID_INVALID,API_ID_PUBLISHED_FLOOD,AUTH_KEY_DUPLICATEDиSESSION_REVOKED— разные ошибки.- Не выводите
api_hash, коды входа, QR token и экспортированные session в log. - BotFather token не заменяет API ID/API hash для авторизации обычного аккаунта Telegram.
Как исправить Telegram API_ID_PUBLISHED_FLOOD
Это проблема данных приложения, а не команда подождать и повторить. В документации auth.exportLoginToken Telegram описывает ответ 400: API ID был где-то опубликован и теперь не может использоваться. Руководство по созданию приложения также называет типичную причину: в открытом коде клиентов Telegram есть ограниченный тестовый API ID, однако выпущенное приложение обязано использовать собственный.
Сначала точно классифицируйте ошибку:
| Ошибка | Что документирует Telegram | Правильное действие |
|---|---|---|
API_ID_PUBLISHED_FLOOD | API ID опубликован или ограниченный sample используется вне тестов | Остановить новые входы, найти источник и заменить sample/shared данные собственной парой приложения |
API_ID_INVALID | Комбинация api_id и api_hash недействительна | Проверить, что значения относятся к одному приложению и не изменены parser конфигурации |
AUTH_KEY_DUPLICATED | Один authorization key используется конфликтующими параллельными main session | Создать новый authorization key и войти снова; смена API ID сама по себе не является документированным решением |
SESSION_REVOKED | Пользователь завершил или отозвал авторизацию | Начать новую авторизацию с правильными данными приложения |
FLOOD_WAIT_X | Слишком много попыток | Соблюсти время ожидания, указанное server |
Существующая статья API ID/API hash и bot token помогает выбрать тип данных. Этот материал начинается после неудачной MTProto-авторизации и не дублирует тот запрос.
Шаг 1. Найдите источник API ID
Проследите путь значения, не показывая его. Записывайте только безопасный fingerprint, название deployment и источник config. Проверьте:
- не попал ли sample ID из открытого клиента Telegram в build;
- нет ли той же пары в public repository, package, image, browser bundle, примере документации, issue или CI log;
- не используют ли несколько продуктов или клиентов одни данные приложения, которые не предназначались для совместного использования;
- возникает ли ошибка при code login, QR login или в обоих сценариях.
И code, и QR login используют api_id и api_hash client application. QR меняет способ подтверждения пользователем, но не отменяет данные приложения. Метод auth.exportLoginToken требует оба значения и явно может вернуть API_ID_PUBLISHED_FLOOD.
Шаг 2. Получите правильные данные приложения
Войдите на my.telegram.org, откройте API development tools и создайте либо просмотрите API ID и API hash, связанные с активным номером Telegram. Сейчас Telegram указывает, что один номер может иметь только один API ID.
Поэтому нельзя обещать мгновенную ротацию, которой нет в официальной документации. Если использовался sample Telegram или данные другого проекта, официальный путь понятен: заменить их собственной парой. Если ваш API ID был опубликован и теперь отклоняется, удалите публикацию, сохраните несекретные доказательства и обратитесь по официальному каналу Telegram. Не предполагайте, что серия повторов сама снимет ограничение.
Храните api_hash только на server, загружайте его из credential store в runtime, исключите из browser bundle и маскируйте в log и error tracker. QR token, коды, данные 2FA и session export — отдельные секреты.
Шаг 3. Выполните контролируемую миграцию
- Остановите новые входы с отклонённым ID.
- Обновите credential reference сначала в одном test environment, не вставляя секрет в source code.
- Выполните одну контролируемую code или QR авторизацию; запишите только тип ошибки, этап и timestamp.
- После успеха проверьте identity подключённого аккаунта до включения traffic.
- Выпускайте постепенно и следите за
FLOOD_WAIT_X,SESSION_REVOKEDи duplicate-session errors. - Удалите старый reference из deployment manifest, примеров, cached CI artifact и runbook.
Работающий старый session не доказывает исправность API ID. Session и данные приложения относятся к разным слоям, поэтому старый session не проверяет новый login flow.
Где подходит UnifyPort
Поток обычного Telegram-аккаунта в UnifyPort использует ту же границу приложения. Для code authorization нужны provider_data.api_id, provider_data.api_hash и provider_data.phone; для QR всё равно нужны API ID и API hash. Точные шаги code, QR, 2FA и session описаны в руководстве авторизации Telegram.
Если Telegram отклоняет данные приложения, UnifyPort не может сделать их действительными, создать Telegram API ID вместо вас или превратить BotFather token в session обычного аккаунта. Сначала устраните проблему Telegram, затем перезапустите нужный поток.
После авторизации входящие сообщения могут приходить как нормализованные события message.received. Руководство Telegram-to-Slack relay показывает последующий webhook workflow, который следует отделить от восстановления данных.
Ограничения и компромиссы
Используйте официальный Bot API, если отдельная bot identity подходит продукту. Bot token предназначен для этого и не требует входа обычного аккаунта, но не может действовать как уже существующий пользователь.
MTProto user authorization нужен только при реальной необходимости в обычном аккаунте. Он создаёт чувствительный session material и остаётся под действием Telegram API Terms и автоматического abuse control. Неофициальный интерфейс не отменяет эти правила, не гарантирует восстановление отклонённого API ID и не разрешает массовые нежелательные сообщения.
FAQ
Почему возникает Telegram API_ID_PUBLISHED_FLOOD?
Telegram указывает два прямых сигнала: auth.exportLoginToken возвращает ошибку, когда API ID опубликован, а применение ограниченного sample API ID в выпущенном приложении прямо названо условием её появления.
Можно ли просто подождать?
Telegram не описывает эту ошибку как FLOOD_WAIT_X с таймером и не публикует срок самостоятельной разблокировки. Остановите повторы, замените sample или чужие данные собственной парой, а для опубликованного собственного ID используйте официальный support.
Это то же самое, что API_ID_INVALID?
Нет. API_ID_INVALID означает недействительную пару API ID/API hash. API_ID_PUBLISHED_FLOOD означает, что ID распознан как опубликованный или неподходящий для данного использования.
Может ли BotFather token заменить API ID?
Не при авторизации обычного аккаунта. Bot token аутентифицирует bot в Bot API. Для code и QR login существующего пользователя нужны API ID и API hash.
Можно ли записать API hash в log для сравнения окружений?
Нет. Сравнивайте односторонний fingerprint или secret version ID. API hash, коды, QR token, 2FA и session export не должны попадать в log, ticket, screenshot или публичный пример.
Следующий шаг
Сверьте собственный API ID с официальным руководством Telegram. Исправив источник данных, выполните одну контролируемую code или QR авторизацию по руководству UnifyPort.
Источники
- Telegram: Creating your Telegram Application
- Telegram: auth.exportLoginToken errors
- Telegram: Error handling
- Telegram: API Terms of Service
- Telegram: User Authorization
Источники и документация продукта проверены 2026-08-10.