Studio Vesta +7 (938) 888-04-40

Как создать мини-приложение в MAX и подключить к чат-боту

Кабинет платформы MAX для партнёров: раздел для подключения чат-бота и мини-приложения

Мини-приложение в MAX — это обычный веб-интерфейс на HTML, CSS и JavaScript, который открывается внутри мессенджера и работает только через чат-бота: отдельно от бота оно существовать не может [MAX для разработчиков, дата проверки 08.10.2026]. Ниже — порядок действий от профиля до кнопки запуска и то, что мы проверили на своём демо-каталоге недвижимости. Все данные в демо вымышленные.

Что такое мини-приложение и чем оно отличается от бота

Бот общается кнопками и текстом, а мини-приложение показывает полноценный экран: каталог, форму, калькулятор, личный кабинет. Приложение запускается из чата с ботом, а бот остаётся его «входом» и привязан к нему в настройках.

Технически это сайт, который вы размещаете на своём хостинге. Документация MAX называет примеры хостинга (VK Cloud, GitHub Pages, Yandex Cloud) и требует защищённое соединение по https. Для связи с мессенджером подключается библиотека MAX Bridge, а интерфейс можно стилизовать компонентами MAX UI.

Для примера возьмём наш демо-каталог объектов: в нём вымышленные данные, а устройство такое же, как у любого каталога или калькулятора.

Что нужно до старта и как подготовить приложение

Подключение к платформе «MAX для партнёров» и её сервисам (чат-боты, мини-приложения, каналы) доступно юрлицам, ИП и самозанятым, которые являются резидентами РФ. Физлица и нерезиденты верификацию пока пройти не могут [dev.max.ru, подключение к платформе, 08.10.2026]. Профиль подтверждается через Госуслуги, а для организаций и ИП в веб-версии ещё и через банковские сервисы. Сам бот создаётся после подключения к платформе.

Для приложения нужно три вещи:

  • Адрес по https. Длина не больше 1024 символов, допустимы латинские буквы, цифры, точка и дефис, пробелы не поддерживаются.
  • Скрипт MAX Bridge: <script src="https://st.max.ru/js/max-web-app.js"></script>. После подключения доступен глобальный объект window.WebApp без отдельной инициализации.
  • Адаптация под телефон. В нашем случае поля ввода сделаны шрифтом 16 px, чтобы окно мессенджера и мобильные браузеры не увеличивали масштаб при фокусе на поле. Это практика нашей команды, а не требование MAX.

Что даёт библиотека MAX Bridge, когда приложение уже открыто. По документации она отдаёт данные запуска (initData, platform со значениями ios, android, desktop, web, версию клиента), размер доступной области getViewportSize() и управление кнопкой «Назад» через BackButton. Ссылку во внешнем браузере открывает openLink(url), а диплинк max.ru внутри MAX — openMaxLink(url). Оба метода срабатывают только после клика пользователя в приложении.

Скачивание файла тоже имеет условия: нужен https, клик пользователя и запуск внутри мессенджера, а не в браузере. Ссылка с атрибутом href для скачивания не поддерживается, используется метод downloadFile(url, file_name). Номер телефона приложение запрашивает методом requestContact() в окне клиента MAX: пользователь может отказаться, и в этом случае придёт код ошибки. Учитывайте это в сценарии формы.

Как подключить приложение к боту

Шаги совпадают в веб-версии платформы и в мини-приложении «MAX для бизнеса» [dev.max.ru, подключение мини-приложения, 08.10.2026]:

  1. Откройте платформу MAX для партнёров, перейдите в раздел «Чат-боты» и нажмите «Перейти».
  2. Выберите нужного бота и нажмите «⋮», затем «Настройки».
  3. Вставьте адрес мини-приложения в поле для ссылки.
  4. Выберите вид кнопки открытия (по документации это «Открыть», «Старт», «Играть» или кнопка без названия) и нажмите «Сохранить».

После сохранения в чате с ботом появляется заметная кнопка запуска приложения.

Список чат-ботов в кабинете MAX для партнёров, выбор бота для подключения мини-приложения
Раздел «Чат-боты». Данные на скриншоте скрыты.

Рядом с настройками в карточке бота есть раздел «Основная информация»: он нужен для описания бота, а адрес приложения указывается именно в «Настройках».

Раздел «Основная информация» чат-бота в кабинете MAX для партнёров
«Основная информация» бота. Личные данные скрыты.
Настройки чат-бота в кабинете MAX для партнёров: поле для адреса мини-приложения
«Настройки» бота: поле для адреса мини-приложения.

Адрес можно менять самостоятельно: в тех же «Настройках» обновите ссылку и сохраните. Чтобы удалить приложение, очистите поле и сохраните. Внутри MAX приложение открывается и по прямой ссылке вида https://max.ru/<имя бота>?startapp. После ?startapp можно передать стартовый параметр до 512 символов (латинские буквы, цифры, _ и -): приложение получит его в initDataUnsafe.start_param. Не передавайте в нём конфиденциальные данные.

В нашем случае: модерация и кнопка запуска

В нашем случае 06.10.2026 мы отправили адрес приложения на проверку около 22:33 (статус «на модерации»), а около 23:00 приложение открылось на телефоне. Это единичное наблюдение, а не срок и не гарантия: в разделе документации о подключении мини-приложения срок проверки не указан.

Повторная проверка тоже случается. По нашему опыту, после изменений в разделе «Основная информация» бот снова проходит модерацию. В документации раздела о подключении мини-приложения мы этого правила не нашли, поэтому закладывайте время на проверку и не вносите правки в бота перед важным показом.

В боте MAX кнопка запуска создана через библиотеку maxapi. Рабочий фрагмент нашего демо-бота без токенов:

```python from maxapi.types.attachments.buttons.open_app_button import OpenAppButton

OpenAppButton(text='Перейти к демо', web_app='id<ИНН>_bot') ```

В параметр web_app мы передаём имя бота, к которому привязано приложение (в примере вместо реального имени стоит заглушка). Кнопка вставляется в клавиатуру сообщения так же, как остальные.

Одно приложение на бота — следствие устройства настроек: в них одно поле для ссылки. Как показать несколько демо? Мы сделали общий вход на отдельном адресе (хаб с шестью плитками) и передаём стартовый параметр в ссылке: ?startapp=<код демо>. Мы проверили такие ссылки для всех шести демо. Второй вариант — отдельный бот на каждое демо.

Ещё одна практическая деталь связана с кэшем. В нашем случае Telegram долго показывал старую версию страниц, потому что HTML кэшировался на час. Мы отключили кэш для HTML и стали добавлять версию в имя файлов стилей и скриптов (например, home.v3.css). Так правки видны сразу после выкладки, а не через час.

Ограничения, Telegram и что проверить

Telegram устроен иначе: там Mini App запускается из кнопки с типом web_app, из кнопки меню, из профиля бота или по прямой ссылке https://t.me/<бот>/<приложение>, а ограничения «одно приложение на бота» в описании способов запуска нет. В нашем боте кнопка Telegram открывает адрес хаба.

Telegram и MAX, что отличается
ПараметрMAXTelegram
Где задаётся адрес«MAX для партнёров», настройки ботаКнопка бота или BotFather
Скрипт для связиmax-web-app.js, объект window.WebApptelegram-web-app.js, объект Telegram.WebApp
Прямая ссылкаmax.ru/имя бота?startappt.me/бот?startapp или t.me/бот/приложение
Стартовый параметрstart_param, до 512 символовstart_param (параметр startapp)
Внешняя ссылкаopenLink открывает внешний браузерopenLink открывает внешний браузер

Источник: dev.max.ru, документация MAX Bridge и подключения мини-приложения; core.telegram.org/bots/webapps, дата проверки 08.10.2026.

В таблице видно: логика одна и та же, различаются места настройки и названия объектов.

Типичные ошибки, которые прямо следуют из правил документации:

  • Адрес с http:// или с пробелом, подчёркиванием и другими символами вне списка «латиница, цифры, точка, дефис» не подойдёт.
  • Стартовый параметр длиннее 512 символов или с недопустимым символом MAX удаляет из ссылки, и приложение получит пустое значение.
  • Секретные данные в startapp попадают в ссылку в открытом виде. Передавайте короткий код или одноразовый токен.
  • Метод openLink или downloadFile, вызванный без клика пользователя, ничего не сделает.
  • Приложение без бота не существует: сначала бот, потом адрес в его настройках.

Эти пункты мы сверили с документацией 08.10.2026. Прежде чем публиковать своё приложение, пройдите их по списку.

Что проверить перед запуском:

  • Адрес открывается по https и подходит под правила символов.
  • Приложение читается на узком экране и не увеличивает масштаб при вводе в поле.
  • Кнопка запуска открывает приложение внутри MAX, а не как страницу в браузере.
  • Скрипт Telegram (telegram.org) может быть недоступен у части пользователей без VPN: в нашем случае он подключается только внутри Telegram.
  • Служебные строки в консоли Telegram чаще всего штатный вывод, а не ошибка.

Что дальше

Чтобы убедиться, что всё работает, пройдите короткий тест на телефоне. Откройте чат с ботом, нажмите кнопку запуска и проверьте, что приложение открылось внутри MAX, а не в браузере. Затем перейдите по прямой ссылке с ?startapp и убедитесь, что стартовый параметр дошёл до приложения. В конце нажмите «Назад» и проверьте, что возврат в чат работает так, как вы задумали.

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

→ По теме: Чат-бот для бизнеса в MAX: создание и модерация

Частые вопросы

Как создать мини-приложение в MAX?

Разместите веб-приложение на хостинге по https, подключите скрипт MAX Bridge, затем в кабинете MAX для партнёров откройте Чат-боты, выберите бота, нажмите «⋮» и «Настройки» и вставьте адрес в поле ссылки.

Как в MAX добавить мини-приложение к боту?

В настройках бота на платформе MAX для партнёров укажите адрес приложения, выберите вид кнопки и сохраните. В чате с ботом появится кнопка запуска.

Можно ли сделать мини-приложение в MAX бесплатно?

В использованных источниках стоимости подключения нет. Расходы зависят от вашего хостинга и разработки; точные условия проверяйте в документации MAX.

Нужно ли быть ИП или организацией?

Подключение к платформе доступно юрлицам, ИП и самозанятым, которые являются резидентами РФ. Физлица и нерезиденты верификацию пока не проходят.

Можно ли подключить несколько мини-приложений к одному боту?

В настройках бота одно поле для адреса. Несколько демо мы показываем через общий вход на отдельном адресе или отдельным ботом на каждое демо.

Нужна ли повторная модерация при изменениях бота?

По нашему опыту, после изменений в разделе «Основная информация» бот снова проходит модерацию. В документации подключения мини-приложения мы такого правила не нашли.

Чем отличается мини-приложение MAX от Telegram Mini App?

Логика похожа: веб-интерфейс внутри мессенджера со своим скриптом связи и стартовым параметром. Отличаются места настройки и названия объектов.

мини-приложение MAXчат-бот MAXMAX для партнёровMAX BridgeTelegram Mini App

Материал носит информационный характер. Автор: Андрей Шмиголь. Демонстрационные решения работают на вымышленных данных.