Бот в MAX молчит: четыре проблемы Bot API, о которых не пишут в документации

Практический разбор интеграции AI-бота NAMI с мессенджером MAX: четыре недокументированные особенности Bot API, из-за которых бот может получать сообщения, возвращать 200 OK и при этом молчать. Основные проблемы связаны с адресацией личных диалогов, webhook-подписками, мультиарендностью и TLS.

Токен MAX нужно передавать сырой строкой в заголовке Authorization, без префикса Bearer. Ошибка 401 обычно указывает на токен или способ его передачи, а 404 chat.not.found — на неверный адрес получателя. Для работы также нужно перейти на platform-api2..ru и учитывать корневой сертификат Минцифры при сборке TLS-бандла.

В личных диалогах MAX отправляет ответ по user_id собеседника, а не по chat_id: список /chats содержит только групповые чаты. При этом chat_id можно хранить как идентификатор переписки для истории и дедупликации, а user_id использовать как адрес доставки. Такая схема требует разделить эти сущности в общем слое интеграции каналов.

Webhook-подписка, по наблюдению автора, может исчезнуть без ошибки, поэтому её стоит проверять и переустанавливать при каждом старте приложения. В мультиарендном SaaS каждому боту нужен отдельный URL с идентификатором подключения, поскольку MAX не передаёт bot_id в апдейте; старые подписки перед регистрацией нужно удалять, иначе платформа продолжит отправлять события сразу на несколько адресов. Мониторинг должен считать число входящих сообщений, а не только доступность endpoint и ответы 200 OK.

Коротко

  • Токен MAX передаётся сырой строкой в Authorization: ошибка 401 связана с авторизацией, а 404 chat.not.found — с адресом получателя.
  • Личный диалог адресуется по user_id отправителя, тогда как chat_id нужен для групповых чатов, истории сообщений и дедупликации.
  • Webhook-подписка может исчезнуть без явной ошибки, поэтому автор рекомендует переустанавливать её при каждом запуске приложения.
  • Для мультиарендности каждому боту нужен отдельный webhook URL с валидируемым идентификатором подключения; старые подписки надо удалять.
  • Интеграция использует platform-api2.max.ru и собственный TLS-бандл с корневым сертификатом Минцифры для российских API.

FAQ

Зачем переустанавливать webhook MAX при каждом запуске приложения, если подписка уже была создана и раньше исправно работала?

В описанном кейсе подписка исчезла без деплоя, смены токена и явной ошибки. Повторная регистрация при старте снижает риск незаметной остановки входящих сообщений.

Почему MAX возвращает 404 chat.not.found при ответе в личный диалог, из которого бот только что получил входящее сообщение?

Личные переписки в MAX адресуются по user_id отправителя, а не по recipient.chat_id. Параметр chat_id применяется для групповых чатов.

Как безопасно определить нужного бота в мультиарендном сервисе, если MAX не передаёт идентификатор бота внутри webhook-апдейта?

Каждому подключению назначают отдельный webhook URL с идентификатором tenant или connection ID. Параметр нужно валидировать, а старые подписки удалять перед регистрацией нового адреса.

Читайте также

  1. Перевёз ИИ-агентов на российский сервер. Оказалось, полмира с ним разговаривать не хочет
  2. Публичность или небытие: как ИИ меняет цену знания
  3. Россияне проводят за потреблением медиаконтента почти девять часов в день
  4. Персонализация без Big Data: как ранжировать новости в Telegram с помощью pgvector и пяти сигналов
  5. Cannes Lions 2026: агентный AI приближается к принятию медиарешений
Ключевые инсайты из новости (по версии ChatGPT)
  • Авторизация запросов к MAX Bot API: Токен бота нужно передавать в заголовке Authorization как обычную строку, без префикса Bearer. Передача через query-параметр access_token считается устаревшим способом и не должна использоваться в новых интеграциях.
    [Интеграции / MAX Bot API]
Для получения полного доступа оформите подписку PubMag PRO.
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться
Инсайты автоматически генерируются с помощью искусственного интеллекта на основе текста статьи.
← Назад в лентуЧитать оригинал →
✈️ Подписывайтесь на мой Telegram-канал — там еще больше интересного про AdTech, MarTech, AI и многое другое!