MAXYappMAXYapp
Миграция· 7 мин· 16 июля 2026 г.

Как перенести Telegram-бота или Mini App в MAX

Что можно переиспользовать при переносе из Telegram в MAX, какие части нужно адаптировать и как запустить два мессенджера на общем backend.

Перенос Telegram-бота в MAX — не копирование одного токена и не автоматическая публикация. Бизнес-логику, базу данных и часть frontend-кода часто можно сохранить, но транспорт API, события, кнопки, авторизация Mini App, модерация и пользовательские идентификаторы требуют отдельной адаптации.

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

При оценке переноса сверяйте реализацию с актуальным MAX API и MAX Bridge для Mini App: модели событий, авторизация и клиентские методы отличаются от Telegram.

Что обычно можно переиспользовать

  • доменную бизнес-логику;
  • базу товаров, услуг и контента;
  • CRM- и 1С-интеграции;
  • модели данных;
  • очередь задач;
  • AI-оркестрацию и базу знаний;
  • административную панель;
  • аналитику backend;
  • большую часть frontend Mini App на React или другом web-стеке;
  • тесты бизнес-правил.

Чем меньше исходный проект связан напрямую с Telegram API внутри всей кодовой базы, тем проще перенос.

Что нужно адаптировать

Регистрацию и владение

В MAX требуется верифицированный профиль организации, ИП или самозанятого. Бот создаётся на платформе для партнёров, получает автоматически сгенерированный ник и проходит модерацию.

API и события

Telegram Bot API и API MAX имеют разные endpoints, структуры обновлений, типы объектов и ограничения. Нужен отдельный слой преобразования входящих событий и исходящих сообщений.

Webhook

Для MAX production-обработчик работает по HTTPS и подписывается на события через /subscriptions. Токен передаётся в заголовке Authorization.

Кнопки и форматирование

Набор типов кнопок, payload, ограничения клавиатуры и поддерживаемое форматирование отличаются. Интерфейс сообщений нужно проверять отдельно, а не генерировать один и тот же JSON.

Mini App Bridge

Вместо Telegram Web Apps API используется MAX Bridge. Нужно заменить инициализацию, управление интерфейсом и получение стартовых параметров.

Валидацию пользователя

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

Диплинки

В MAX Mini App открывается ссылкой вида:

https://max.ru/<botName>?startapp=<payload>

Схему параметров можно сохранить на уровне продукта, но формат и ограничения нужно адаптировать.

Что нельзя перенести автоматически

Пользовательские идентификаторы разных платформ не совпадают. Нельзя считать Telegram user ID и MAX user ID одним человеком без дополнительной связи.

Также нельзя автоматически переносить:

  • подписчиков канала;
  • личные диалоги;
  • историю сообщений;
  • согласия на коммуникацию;
  • платформенные права;
  • ник бота;
  • сохранённые кнопки и ссылки.

Если продукту нужен единый клиентский профиль, используйте подтверждённый телефон, корпоративную авторизацию или другой законный механизм связывания с согласия пользователя.

Рекомендуемая архитектура

Telegram Adapter ─┐
                  ├─ Domain Core ─ CRM / 1С / AI / Database
MAX Adapter ──────┘

Платформенный адаптер отвечает за:

  • приём события;
  • преобразование в общий внутренний формат;
  • отправку сообщения;
  • клавиатуру;
  • загрузку файлов;
  • диплинки;
  • платформенные ошибки.

Domain Core не должен знать, как называется поле сообщения в конкретном API. Он работает с сущностями «пользователь», «заказ», «заявка», «статус» и «команда».

Пошаговый план переноса

1. Проведите инвентаризацию

Составьте список команд, событий, кнопок, Mini App-экранов, интеграций, фоновых задач и уведомлений. Отметьте, что связано с Telegram напрямую.

2. Выберите первый сценарий

Не переносите всё одновременно. Начните с функции, которая создаёт основную ценность: заявка, заказ, запись или поддержка.

3. Вынесите общую логику

Если обработчики Telegram одновременно содержат API-код, расчёты и работу с CRM, разделите их. Сначала сформируйте общий доменный слой.

4. Создайте профиль и бота MAX

Пройдите верификацию, создайте карточку и отправьте её на модерацию. После проверки получите токен.

5. Реализуйте MAX Adapter

Добавьте Webhook, преобразование событий, отправку сообщений, клавиатуры и обработку ошибок.

6. Адаптируйте Mini App

Подключите MAX Bridge, серверную валидацию initData, новую схему диплинков и платформенные элементы интерфейса.

7. Разделите идентификаторы

Храните платформу и user ID как составной ключ. Если нужен общий профиль, добавьте безопасную процедуру связывания.

8. Проведите сквозные тесты

Одинаковый бизнес-результат должен корректно создаваться из обоих каналов, но сообщения и интерфейс могут отличаться.

9. Запустите параллельный пилот

Не отключайте действующий Telegram-сценарий до проверки MAX. Направьте ограниченную аудиторию, сравните воронку и исправьте различия.

10. Настройте общий мониторинг

Разделяйте ошибки и метрики по платформам, но связывайте их с едиными бизнес-операциями.

Как адаптировать контент

Не переносите сообщения механически. Проверьте:

  • длину текста;
  • доступные форматы;
  • количество кнопок;
  • названия действий;
  • переходы назад;
  • поведение ссылки;
  • отображение медиа;
  • возможность поделиться контактом;
  • работу в групповых чатах.

Структура диалога может остаться, но интерфейс должен выглядеть естественно для MAX.

Как сообщить пользователям о новом канале

Предлагайте конкретную пользу: доступ к записи, заказу, кабинету или поддержке. Не просите переходить только ради присутствия компании на новой платформе.

Используйте сайт, канал, email, офлайн-материалы и существующие коммуникации в рамках согласий. Для каждого источника создайте отдельный диплинк.

Как оценивать перенос

  • доля функций, работающих на общем core;
  • количество платформенных исключений;
  • конверсия сценария по каждому мессенджеру;
  • ошибки Webhook;
  • время ответа;
  • стоимость поддержки двух адаптеров;
  • доля связанных клиентских профилей;
  • качество заявок в CRM.

Частые ошибки

  • Переписать весь backend без необходимости.
  • Использовать Telegram user ID как идентификатор MAX.
  • Перенести токен и секреты во frontend.
  • Не адаптировать кнопки и форматирование.
  • Дублировать бизнес-логику в двух кодовых базах.
  • Отключить старый канал до пилота.
  • Автоматически переносить согласия пользователей.
  • Не разделять аналитику по платформам.

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

Можно ли использовать один backend для Telegram и MAX?

Да. Это рекомендуемая архитектура, если платформенная логика вынесена в отдельные адаптеры.

Нужно ли переписывать Mini App полностью?

Не всегда. Web-интерфейс и бизнес-компоненты можно переиспользовать, но Bridge, initData, диплинки и платформенные состояния необходимо адаптировать.

Можно ли перенести пользователей автоматически?

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

Можно ли сохранить одинаковый дизайн?

Основной бренд — да, но навигацию, кнопки и состояния лучше адаптировать к MAX UI и поведению webview.

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

Если аудитория распределена между ними, общий backend с адаптерами снижает стоимость. Решение следует принимать по использованию, конверсии и операционным затратам.

Подходит под ваш сценарий? Обсудим пилот.

Написать