WebApp / MiniApp
Действие позволяет подключать к боту WebApp / MiniApp в Telegram и MAX. Поддерживаются два типа:
- Каталог или Календарь — готовые приложения конструктора;
- Mini app — ваше собственное HTML/JavaScript-приложение.
Тип «Каталог» или «Календарь»
Подключение
- Добавьте приложение на странице Списки / WebApp и настройте его.
- Откройте приложение пользователю через кнопку (под сообщением, меню или клавиатуру).
Возврат в бот
После возвращения из приложения ответом текущего блока становится специальная строка:
| Приложение | Ответ блока |
|---|---|
| Каталог | webapp:catalog |
| Календарь | webapp:calendar |
Если приложение открывается через кнопку под сообщением — пользователь возвращается в тот же блок, и обработать ответ просто.
Но при кнопке меню или кнопке клавиатуры пользователь может находиться на любом блоке сценария и перейти в приложение прямо оттуда. В этом случае:
- На каждом блоке ставьте условие проверки ответа на
webapp:catalogилиwebapp:calendar; - При выполнении условия — ведите пользователя на блок обработки данных приложения.
Действия для обработки данных
После возврата данные из приложения обрабатываются в сценарии действий.
Каталог
| Действие | Что делает |
|---|---|
| Каталог: обработка заказа | Получение данных заказа: позиции, сумма, рубрики. |
Календарь
| Действие | Что делает |
|---|---|
| Календарь: данные из приложения | Получение данных, выбранных пользователем в календаре. |
| Календарь: сделать запись | Создание новой записи. |
| Календарь: получить все записи клиента | Список всех записей подписчика. |
| Календарь: получить запись клиента | Одна конкретная запись по ID. |
| Календарь: удалить запись клиента | Удаление одной записи. |
| Календарь: удалить все записи клиента | Удаление всех записей подписчика. |
После заказа в каталоге используйте сумму из приложения и действие Платежи для генерации платёжной ссылки — пользователь сразу перейдёт к оплате.
Тип «Mini app»
Вы можете использовать собственное mini app приложение в ботах Quescha.
Взаимодействие с mini app происходит иначе, чем с каталогом и календарём — специальных действий нет, обмен данными выстраиваете сами.
Подключение
- Разместите HTML/JavaScript-код приложения в настройках мини-приложения.
- Ссылку приложения укажите:
- в кнопке типа «Ссылка», или
- в настройках бота через @BotFather.
Возврат данных в бот — через callback
Из вашего приложения отправляйте данные на URL:
POST или GET → https://api.quescha.com/miniapp/callback
queschaПомимо данных вашего приложения, обязательно отправляйте служебный объект quescha — иначе конструктор не сможет связать запрос с конкретным ботом и подписчиком.
После отправки данных ваш бот получит в качестве ответа блока строку:
webapp:miniapp
Если вы не используете кнопки под сообщениями, то на каждом блоке добавляйте условие:
[Answer] = 'webapp:miniapp'
— чтобы корректно обрабатывать возврат из приложения.
Все данные приложения становятся переменными в сценарии бота по переданным ключам — обрабатывайте их как обычные переменные.
Альтернатива — обмен через вебхук
Можно общаться с приложением через вебхук, продолжая сценарий через «Отправку в бот»:
- Добавьте сценарий действий с действием Обмен данными → Ожидание данных.
- Сформируйте нужный формат данных (например, JSON) через JS-код.
- Поместите результат в системную переменную
_response— она вернётся ответом на вебхук-запрос приложения.
Полезные ссылки
- Официальная документация Telegram по Mini Apps
- Системные переменные
_webapp_*— заполняются при обработке заказов из каталога и календаря.
Mini app можно создать с нуля при помощи нейросети — достаточно правильно сформулировать требования к приложению и описать, как оно должно отправлять и принимать данные.
