← Все статьи
Руководство

Как исправить 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_FLOODAPI 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. Проверьте:

  1. не попал ли sample ID из открытого клиента Telegram в build;
  2. нет ли той же пары в public repository, package, image, browser bundle, примере документации, issue или CI log;
  3. не используют ли несколько продуктов или клиентов одни данные приложения, которые не предназначались для совместного использования;
  4. возникает ли ошибка при 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.

Источники

Источники и документация продукта проверены 2026-08-10.