Перейти к содержимому
🖥️ VDSina Аренда серверов

Мессенджер max api для ботов

Перед началом работы с API или использованием готовых решений необходимо понимать, как взаимодействовать с экосистемой ботов в интерфейсе мессенджера.

Коротко

Если вам нужен самый быстрый путь по теме, начните с раздела Поиск и добавление чат-ботов. Ниже — быстрые переходы по ключевым частям материала.

[!TIP] Коротко: Подробная инструкция: мессенджер max api для ботов. Пошаговое руководство с проверками и рабочими решениями.

Перед началом работы с API или использованием готовых решений необходимо понимать, как взаимодействовать с экосистемой ботов в интерфейсе мессенджера. Пользовательский путь добавления бота идентичен для всех платформ.

Чтобы начать взаимодействие, необходимо знать уникальный идентификатор бота (например, @maxbot или @MasterBot).

Для Android:

  1. Нажмите на кнопку создания нового чата или поиска в правом верхнем углу интерфейса.
  2. Введите «@имя_бота» в появившейся строке поиска.
  3. В результатах выдачи найдите нужного бота и откройте диалог.
  4. Нажмите кнопку «Начать» в нижней части экрана для активации скрипта.

Для iPhone:

  1. Нажмите на кнопку написания сообщения в правом верхнем углу.
  2. Введите «@имя_бота» в строке поиска.
  3. Выберите нужный контакт из списка.
  4. Нажмите «Начать» для запуска.

Для компьютера:

  1. Кликните на строку поиска в верхней части экрана приложения.
  2. Введите «@имя_бота».
  3. Выберите бота и нажмите «Начать».

API мессенджера MAX (Application Programming Interface) представляет собой интерфейс для взаимодействия внешних программ с платформой посредством HTTPS-запросов. Это позволяет создавать автоматизированные скрипты для обработки сообщений, управления чатами и интеграции с внешними сервисами .

Взаимодействие строится на отправке запросов к серверу API.

  • Домен API: platform-api.max.ru .
  • Протокол: HTTPS. Использование защищенного соединения обязательно.
  • Формат данных: JSON. Все ответы сервера и тела запросов (где применимо) передаются в формате JSON .

Для работы любого бота требуется авторизация. Ранее допускалась передача токена через параметры запроса, но современные стандарты безопасности MAX API требуют использования заголовков.

Правила авторизации:

  1. Получите токен бота (см. раздел регистрации).
  2. При каждом HTTP-запросе добавляйте заголовок Authorization.
  3. Формат значения заголовка: <token>.
  4. Передача токена через query-параметры (в URL) не поддерживается .

API использует стандартные методы HTTP для выполнения операций над ресурсами (сообщениями, чатами, пользователями) :

  • GET — Используется для получения информации. Например, получение истории сообщений, информации о пользователе (/me) или статуса вебхука.
  • POST — Используется для создания новых ресурсов. Основной метод для отправки текстовых сообщений, файлов или создания кнопок.
  • PUT — Используется для полного обновления или замены ресурса.
  • PATCH — Используется для частичного изменения ресурса (например, редактирование текста отправленного сообщения или изменение настроек чата).
  • DELETE — Используется для удаления ресурсов (удаление сообщения, отписка от вебхука).

Сервер возвращает данные в виде JSON-объекта. Успешный запрос к методу GET /me (информация о боте) вернет следующую структуру :

{
"user_id": 123456,
"name": "My Bot",
"username": "my_bot",
"is_bot": true,
"last_activity_time": 1737500130100
}

Помимо тела ответа, сервер всегда возвращает HTTP-код состояния (status code), который необходимо обрабатывать в логике бота.


Для начала разработки необходимо зарегистрировать бота в системе и получить уникальный ключ доступа (токен). В экосистеме MAX управление ботами осуществляется через главного системного бота.

  1. В поиске мессенджера найдите бота @MasterBot .
  2. Нажмите «Начать» для инициализации диалога.
  3. Следуйте инструкциям бота для создания новой сущности. Вам потребуется задать:
    • Имя (Name): Отображаемое название бота, видимое пользователям в списке чатов.
    • Никнейм (Username): Уникальный идентификатор, начинающийся с @, который используется для поиска и ссылок.
  4. После успешного создания @MasterBot выдаст ACCESS_TOKEN.

Важно: Сохраните этот токен в безопасном месте. Он используется для всех запросов к API. Не передавайте токен третьим лицам.


Инструменты разработчика: Библиотеки и SDK

Заголовок раздела «Инструменты разработчика: Библиотеки и SDK»

Разработка “с нуля” на чистых HTTP-запросах возможна, но трудоемка. Сообщество и разработчики MAX предоставляют готовые библиотеки (SDK) для популярных языков программирования.

Для языка Python доступна библиотека max-botapi-python (или maxapi). Это клиент, проверенный командой MAX .

  • Установка: Используйте менеджер пакетов pip. Команда: pip install maxapi.
    • Примечание: Для пользователей Windows может потребоваться дополнительная библиотека brotlicffi для корректного декодирования сжатых ответов .
  • Структура: Библиотека работает по принципам, схожим с популярными библиотеками для других мессенджеров (например, aiogram). Используется диспетчер (Dispatcher), обработчики событий (message_created, message_callback) и команды.
  • Особенность: В библиотеке отсутствует встроенная машина состояний (FSM). Для реализации пошаговых сценариев диалога потребуется реализовать собственный механизм хранения состояний или использовать внешние базы данных (Redis, memory storage) .

Существует официальный клиент max-bot-api-client-java .

  • Требования: Java 8 или выше.
  • Функционал: Предоставляет полный доступ к API, построен на основе спецификации OpenAPI.
  • Обработка исключений: Библиотека разделяет ошибки на ClientException (ошибки сети/сериализации) и APIException (логические ошибки API, например, неверный токен) .

Для разработчиков на Go доступен max-bot-api-client-go, а для веб-разработки и Node.js — max-bot-api-client-ts .


Бот может получать информацию о новых сообщениях двумя способами. Выбор метода зависит от архитектуры вашего приложения.

Бот периодически отправляет запросы на сервер (getUpdates), проверяя наличие новых событий.

  • Плюсы: Легко настроить на локальной машине, не нужен публичный IP-адрес или SSL-сертификат.
  • Минусы: Возможны задержки, создает лишнюю нагрузку при частых запросах.
  • Реализация в Python: Используется метод start_polling.
    • Важно: Если ранее был установлен Webhook, его необходимо удалить перед запуском опроса. В библиотеке maxapi это делается через await bot.delete_webhook() перед вызовом start_polling .

Сервер MAX сам отправляет данные на ваш URL, когда происходит событие (например, входящее сообщение).

  • Плюсы: Мгновенная реакция, экономия ресурсов (нет пустых запросов).
  • Минусы: Требуется публичный HTTPS-адрес (белый IP или туннелирование) и валидный SSL-сертификат.
  • Настройка: Используйте метод API для установки URL, на который будут приходить POST-запросы с обновлениями.

Боты могут отправлять текстовые сообщения, форматировать их, а также обмениваться файлами.

  • Текст: Поддерживается отправка обычного текста.
  • Файлы: MAX позволяет обмениваться файлами объемом до 4 ГБ . Для отправки медиа (фото, видео, файлы) через бота необходимо сначала получить URL для загрузки (Upload URL), загрузить файл туда, и затем использовать полученный идентификатор файла в методе отправки сообщения .

API поддерживает создание кнопок для упрощения взаимодействия с пользователем. Требования к клавиатурам :

  1. Текст на кнопке автоматически выравнивается по центру.
  2. Если текст слишком длинный, он будет обрезан.
  3. Кнопки, расположенные в одной строке, всегда имеют одинаковую ширину.
  4. Ширина ряда кнопок растягивается на всю ширину экрана/интерфейса.
  5. Высота кнопок фиксирована по умолчанию.

Типы взаимодействий через кнопки могут вызывать CallbackQuery — событие, которое бот должен обработать в фоновом режиме без отправки нового сообщения в чат, либо отправлять текстовую команду.

В документации выделяются специфические методы для расширенного функционала :

  • link — открытие ссылки в новой вкладке браузера.
  • request_contact — запрос контактных данных пользователя (требует подтверждения от пользователя).
  • request_geo_location — запрос текущего местоположения.
  • open_app — запуск интегрированного мини-приложения (Mini App).

Отдельный класс ботов в MAX — это системные интеграции. Ключевым примером является официальный бот Коды подтверждения, который реализует API-взаимодействие с порталом Госуслуг. Это демонстрирует возможности платформы по безопасной передаче чувствительных данных.

Пользователь не программирует этого бота, но взаимодействует с API государственной системы через интерфейс MAX.

Шаг 1: Инициация на портале Госуслуг

  1. Перейдите на сайт gosuslugi.ru или в мобильное приложение Госуслуг [cite: local_1].
  2. Войдите в учетную запись.
  3. В настройках безопасности выберите опцию подключения подтверждения входа через MAX. Система сгенерирует QR-код или предложит выбрать устройство.

Шаг 2: Подключение в MAX

  1. Если приложение MAX установлено: нажмите кнопку «Подключить MAX» в браузере или приложении Госуслуг [cite: local_2].
  2. Если приложения нет: скачайте его, зарегистрируйтесь по номеру телефона, затем вернитесь к шагу подключения.
  3. После нажатия кнопки подключения вас автоматически перебросит в официальный бот Коды подтверждения.

Шаг 3: Подтверждение устройства

  1. В чате с ботом появится сообщение с запросом.
  2. Нажмите кнопку «Выбрать это устройство» [cite: local_2].
    • Внимание: Коды будут приходить именно на то устройство, где была нажата эта кнопка.

Шаг 4: Использование

  1. При следующей авторизации на Госуслугах введите логин и пароль.
  2. Откройте MAX и зайдите в чат с ботом Коды подтверждения.
  3. Нажмите кнопку «Посмотреть код» [cite: local_1].
  4. Введите полученные цифры на сайте Госуслуг.

При работе с API разработчики могут сталкиваться со стандартными кодами ответов HTTP, указывающими на проблемы.

  1. 400 — Недействительный запрос (Bad Request).
    • Причина: Ошибка в синтаксисе JSON, пропущен обязательный параметр или неверный формат данных.
    • Решение: Проверьте тело запроса и соответствие типов данных документации.
  2. 401 — Ошибка аутентификации (Unauthorized).
    • Причина: Неверный токен, истек срок действия токена или токен передан не в заголовке Authorization.
    • Решение: Перепроверьте токен, полученный от @MasterBot. Убедитесь, что вы используете заголовок, а не query-параметры.
  3. 404 — Ресурс не найден (Not Found).
    • Причина: Обращение к несуществующему методу API или попытка отправить сообщение в несуществующий/недоступный чат.
  4. 429 — Превышено количество запросов (Too Many Requests).
    • Причина: Бот отправляет запросы слишком часто (флуд).
    • Решение: Реализуйте задержки (sleep) между запросами или используйте очереди. API не предназначен для спама .
  5. 503 — Сервис недоступен.
    • Причина: Временные проблемы на стороне серверов MAX.
    • Решение: Повторите запрос через некоторое время.
  • Бот не отвечает в групповом чате.
    • Причина: Отсутствие прав.
    • Решение: Если вы тестируете бота в чате, не забудьте выдать ему права администратора .
  • Конфликт обновлений.
    • Симптом: Метод start_polling выдает ошибку или не получает сообщения.
    • Решение: Проверьте, не установлен ли Webhook. Если да, удалите его методом delete_webhook перед запуском поллинга .
  • Не приходит код от Госуслуг.
    • Решение: Проверьте, что бот @verificationcodes_bot не заблокирован вами и уведомления включены. Убедитесь, что номера телефонов в MAX и на Госуслугах совпадают .

  1. География: Регистрация аккаунтов (в том числе для создателей ботов) доступна только на номера телефонов России (+7) и Беларуси (+375) .
  2. Безопасность: Использование API для спама, накруток или массовых рассылок строго запрещено. Нарушение правил приведет к бану бота .
  3. Прокси: Для стабильной работы высоконагруженных ботов рекомендуется использовать собственные HTTP-прокси .
  • Используйте асинхронность: Методы отправки сообщений могут работать синхронно (блокируя код до ответа) или асинхронно (постановка в очередь). Для массовых операций предпочтительнее асинхронный подход.
  • Разметка текста: В отличие от других мессенджеров, где активно используется HTML или Markdown разметка (parse_mode), в MAX боты часто передают обычный текст. Учитывайте это при проектировании сообщений, параметры html=False могут встречаться в библиотеках по умолчанию .
  • Тестирование: Для отладки запросов удобно использовать инструменты типа Postman или Apidog перед написанием кода .

Используя этот гайд, вы сможете как подключить пользовательские сервисы, так и создать собственного бота для автоматизации задач в мессенджере MAX.

[!NOTE] Примечание: отдельные условия и ограничения могут меняться. Уточняйте актуальные детали в поддержке MAX.