Перейти к содержимому
PD
Telegram-боты

Личный кабинет в Telegram-боте: Mini Apps

Что такое Telegram Mini App, когда он действительно нужен, а когда хватит кнопок, как устроена авторизация пользователя и что учесть перед разработкой.

Все статьи гида Telegram-боты · 13

Mini App - это ответ на ситуацию, когда кнопок стало мало. Полезно понимать заранее: это не расширение бота, а отдельное веб-приложение, и объём работ соответствующий.

Что это такое

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

Отсюда главный практический вывод: разработка Mini App - это фронтенд-разработка. Верстка, состояние, запросы к вашему бэкенду, тестирование на разных устройствах. Бот при этом остаётся: он даёт кнопку для открытия и продолжает отвечать за уведомления.

Когда нужен, а когда нет

Хватит кнопок:

  • Линейный сценарий: несколько вопросов и результат.
  • Короткое меню на два-три уровня.
  • Уведомления с действием да/нет.
  • Каталог из десятка позиций.

Нужен Mini App:

  • Таблицы и списки с фильтрами и сортировкой.
  • Формы с большим числом полей, где заполнение по одному вопросу утомляет.
  • Каталог с большим числом позиций и поиском.
  • Графики и отчёты.
  • Всё, где пользователь должен видеть много данных одновременно.

Практический признак: меню разрослось до четвёртого уровня вложенности. Значит, интерфейс перерос кнопки - см. кнопки.

Обратный признак: Mini App ради одной формы из трёх полей - лишняя работа. Три вопроса в диалоге пользователь заполнит быстрее, чем дождётся загрузки страницы.

Авторизация

Здесь ошибаются чаще всего, и ошибка серьёзная.

Платформа передаёт приложению данные о пользователе вместе с подписью. Проверять подпись обязательно, и обязательно на сервере.

Что происходит без проверки: данные приходят от клиента, а значит их можно подделать. Приложение, доверяющее им на слово, позволяет любому назваться любым пользователем и увидеть чужие данные.

Правильная схема:

  1. Приложение открывается и получает данные от платформы.
  2. Отправляет их на ваш сервер.
  3. Сервер проверяет подпись ключом, производным от токена бота.
  4. Только после этого сервер выдаёт сессию и данные.

Токен бота при этом остаётся на сервере и в приложение не попадает - см. токен.

Что учесть

  • Хостинг и HTTPS. Нужен настоящий домен с сертификатом, локальный адрес не подойдёт.
  • Мобильный экран в первую очередь. Большинство пользователей откроет приложение с телефона, и места мало.
  • Тёмная и светлая темы. Приложение открывается внутри мессенджера, и интерфейс, игнорирующий тему пользователя, выглядит чужеродным.
  • Скорость загрузки. Пользователь ждёт реакции как от чата, а не как от сайта. Тяжёлая страница здесь неуместна.
  • Работа без приложения. Часть сценариев должна оставаться доступной через бота: не все откроют Mini App.
  • Данные - на сервере. Приложение показывает, решения принимает бэкенд.

Объём работ по такому проекту - это бот плюс фронтенд плюс бэкенд, и оценивать его надо соответственно: разработка ботов.

Как разворачивать и эксплуатировать всё это - деплой. Обзор - гид по Telegram-ботам.

Вопросы и ответы

Что такое Telegram Mini App?

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

Когда нужен Mini App, а когда хватит кнопок?

Кнопки закрывают линейные сценарии и короткие меню. Mini App нужен там, где есть таблицы, фильтры, формы с несколькими полями, графики или каталог с большим числом позиций. Признак: меню разрослось до четвёртого уровня вложенности и пользователь теряется.

Как понять, кто открыл Mini App?

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

Ещё по теме

Сделаю под ключ

Сделаю Telegram-бота под ваш процесс

Заявки, оплата, выдача доступа, рассылки и воронка в одном боте, с админкой для вас.

от 300 $ · 3-7 дней

Похожий кейсTelegram-бот воронки продаж для онлайн-курсовTelegram-бот, который ведёт всю воронку - лид-магнит → гайд → интенсив → курс - с оплатой, автовыдачей доступа и админ-панелью.

«Действительно гуру своего дела. Узнал массу новой и полезной информации по телеграм рассылкам. До этого сжег очень много денег на оплате услуг посредников, но после общения с исполнителем буду делать все сам)»

viktorTR · Kwork