Статья для тех, кто уже решил делать мини-приложение в MAX и хочет понимать, из каких этапов состоит работа и где обычно возникают сложности. Разберём разработку мини приложения MAX по порядку: прототип, фронтенд, серверная часть, идентификация пользователя, оплата, тестирование и публикация.
Этапы проекта коротко
Если вы пока выясняете, что такое мини-приложение и нужно ли оно вам, начните со статьи «Мини-приложения в MAX: что это и кому они нужны». Здесь — о том, как его делают.
| Этап | Что делаем | Результат |
|---|---|---|
| Прототип | Сценарии, экраны, кликабельный макет | Понятно, что строим и сколько это стоит |
| Фронтенд | Интерфейс, подключение к платформе MAX | Приложение открывается и работает в мессенджере |
| Бэкенд | API, база данных, интеграции, бот | Данные сохраняются и уходят в CRM |
| Идентификация | Проверка данных пользователя на сервере | Сервис надёжно знает, кто перед ним |
| Оплата | Подключение подходящего способа | Клиент может заплатить, бизнес получает чек и деньги |
| Тестирование | Устройства, ошибки, нагрузка | Нет сюрпризов после запуска |
| Публикация | Регистрация и настройка по правилам платформы | Приложение доступно клиентам |
Этапы частично идут параллельно: пока дизайнер дорабатывает экраны, бэкенд-разработчик уже проектирует API. Но прототип всегда первый — без него все остальные оценки гадание.
Прототип и UX
На этом этапе отвечаем на три вопроса: кто пользователь, какое одно действие он должен совершить и что мешает ему сделать это сейчас. Например, для автосервиса это «записаться на шиномонтаж на ближайшее свободное время», а не «познакомиться с компанией».
Дальше рисуются экраны — сначала схематично, потом в виде кликабельного прототипа. Заказчик может пройти сценарий на своём телефоне и сказать, где непонятно. Исправить прототип стоит часы, исправить готовый код — дни.
У прототипа есть и практическая польза для бюджета: когда все экраны и переходы нарисованы, оценка перестаёт быть «примерно от и до». Видно, сколько форм, какие данные откуда берутся, что можно отложить во вторую версию. На этом же этапе удобно вычеркнуть функции, которые красиво выглядят в обсуждении, но не помогают клиенту совершить главное действие.
Особенности интерфейса внутри мессенджера, которые стоит учесть сразу:
- Экран узкий, а у мессенджера есть свои элементы управления — шапка, кнопка закрытия. Важные кнопки не должны под них попадать.
- Пользователь держит телефон одной рукой, поэтому главное действие лучше размещать внизу, в зоне большого пальца.
- Светлая и тёмная тема: передаёт ли платформа параметры оформления и как их получить, уточняется по документации.
- Как работает кнопка «назад» и как закрывается приложение — тоже по документации, чтобы пользователь не потерял введённые данные.
Фронтенд
Мини-приложение — это веб-приложение, поэтому стек привычный: React, Vue или лёгкий фреймворк, если экранов немного. Мы обычно выбираем то, с чем потом будет удобно работать команде заказчика, а не самое модное.
Главное техническое требование — скорость. Человек нажал кнопку в чате и ждёт; если белый экран висит несколько секунд, он закроет окно. Поэтому следим за размером сборки, грузим изображения постепенно, показываем каркас интерфейса до прихода данных.
Связь с мессенджером идёт через инструменты, которые платформа предоставляет веб-приложениям: получение данных запуска, взаимодействие с интерфейсом MAX, закрытие окна. Как их подключить и что именно доступно, описано в документации на dev.max.ru. Код, который работает с платформой, мы держим в отдельном модуле — если позже понадобится версия для Telegram, менять придётся только его.
Полезно, чтобы приложение открывалось и в обычном браузере в режиме разработки: так быстрее верстать и отлаживать, не перезапуская мессенджер на каждую правку.
Бэкенд и интеграции
Фронтенд показывает экраны, а всё важное происходит на сервере: расчёт цен, проверка свободных слотов, сохранение заказов, обмен с CRM и учётной системой. Логику, от которой зависят деньги и данные, нельзя оставлять в браузере — её легко подменить.
Обычно бэкенд мини-приложения — тот же сервер, что обслуживает бота. Это удобно: заказ, оформленный в приложении, бот тут же подтверждает сообщением в чате, а дальше присылает статусы. Если нужно передавать заказы в amoCRM, Битрикс24 или 1С, подробности — в статье об интеграции с CRM.
- REST или GraphQL API для фронтенда.
- База данных: пользователи, заказы, записи, справочники.
- Очередь задач для медленных операций — выгрузки в CRM, отправки уведомлений.
- Админ-панель для сотрудников: заказы, статусы, контент приложения.
Отдельно закладываем базовую защиту: ограничение частоты запросов к API, логирование ошибок с уведомлениями разработчику, резервные копии базы. Если приложение собирает телефоны и имена, учитываются требования 152-ФЗ — согласие на обработку, место хранения данных и доступы сотрудников.
Как приложение узнаёт пользователя
При запуске мини-приложения платформа передаёт ему данные о пользователе. Соблазн простой: взять идентификатор прямо во фронтенде и отправлять его на сервер. Так делать нельзя — любой, кто откроет приложение в браузере, сможет подставить чужой идентификатор и увидеть чужие заказы.
Правильная схема такая:
- Фронтенд получает от платформы данные запуска и отправляет их на сервер целиком, без изменений.
- Сервер проверяет подлинность этих данных по алгоритму, который описан в документации MAX, и их свежесть.
- Только после успешной проверки сервер находит или создаёт пользователя и выдаёт свой токен сессии.
- Все дальнейшие запросы фронтенд делает с этим токеном.
Оплата
Способы приёма оплаты зависят от того, что поддерживает платформа на момент разработки, — это первое, что проверяем по документации. Дальше выбираем вариант под бизнес:
- встроенный механизм оплаты платформы, если он есть и подходит под ваш тип товаров или услуг;
- оплата через платёжный сервис на отдельной странице, если правила платформы это допускают;
- счёт для юрлиц, который формирует менеджер или учётная система;
- оплата на месте — для записи на услуги это часто нормальный вариант, а предоплату берут только за дорогие процедуры.
При любом варианте статус оплаты подтверждается на сервере по уведомлению от платёжного сервиса, а не по факту возврата пользователя в приложение. И не забудьте про чеки по 54-ФЗ: их формирует онлайн-касса или платёжный сервис с такой функцией.
Тестирование и публикация
- Проверка на нескольких телефонах с iOS и Android и в десктопной версии мессенджера, если приложение там должно работать.
- Медленный мобильный интернет: приложение должно оставаться понятным, пока грузятся данные.
- Пограничные случаи: истёкшая сессия, двойное нажатие на кнопку оплаты, слот, который заняли, пока клиент заполнял форму.
- Тестовая среда с отдельным ботом и тестовой CRM, чтобы не засорять боевые данные.
- Прогон сценариев сотрудниками заказчика.
Публикация проходит по правилам платформы: регистрация бота и мини-приложения, указание адреса приложения на HTTPS, возможная проверка со стороны MAX и требования к владельцу — всё это уточняется по документации платформы. Мы помогаем пройти процесс, но оформляем всё на аккаунт заказчика.
После запуска первые недели смотрим аналитику: на каком экране уходят пользователи, сколько начатых заказов завершено. Если вы хотите сначала проверить идею с минимальными вложениями, посмотрите статью об MVP мини-приложения.
Частые вопросы
Сколько времени занимает разработка мини-приложения для MAX?
MVP с одним ключевым сценарием можно запустить от двух недель. Приложение с кабинетом, оплатой и несколькими интеграциями — дольше, срок называем после брифа и прототипа.
У нас уже есть Telegram Mini App. Можно его перенести?
Обычно да: интерфейс и бэкенд переиспользуются, переписывается слой работы с платформой и серверная проверка данных пользователя под документацию MAX.
Обязательно ли делать бота вместе с мини-приложением?
Как правило, бот нужен как точка входа и канал уведомлений. Как именно связываются бот и мини-приложение в MAX, уточняем по документации платформы.
Сколько стоит разработка?
От 30 000 ₽ за первую версию с одним ключевым сценарием. Дальше цена зависит от количества экранов, интеграций и того, нужна ли оплата. Бриф и предварительная оценка бесплатны, а после прототипа называем точный бюджет.
Кто будет владельцем приложения?
Вы. Бот и приложение регистрируются на вашу компанию, код и доступы передаются вам.
Обсудим проект
Нужна похожая разработка?
Расскажите о задаче — уточним детали, предложим формат запуска и подготовим предварительную оценку. Это бесплатно.
Источники
Опубликовано · Обновлено