Перейти к основному содержимому

WebApp / MiniApp

Действие позволяет подключать к боту WebApp / MiniApp в Telegram и MAX. Поддерживаются два типа:

  • Каталог или Календарь — готовые приложения конструктора;
  • Mini app — ваше собственное HTML/JavaScript-приложение.

Тип «Каталог» или «Календарь»

Подключение

  1. Добавьте приложение на странице Списки / WebApp и настройте его.
  2. Откройте приложение пользователю через кнопку (под сообщением, меню или клавиатуру).

WebApp каталога

Возврат в бот

После возвращения из приложения ответом текущего блока становится специальная строка:

ПриложениеОтвет блока
Каталогwebapp:catalog
Календарьwebapp:calendar
Кнопки меню и клавиатуры

Если приложение открывается через кнопку под сообщением — пользователь возвращается в тот же блок, и обработать ответ просто.

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

  • На каждом блоке ставьте условие проверки ответа на webapp:catalog или webapp:calendar;
  • При выполнении условия — ведите пользователя на блок обработки данных приложения.

Действия для обработки данных

После возврата данные из приложения обрабатываются в сценарии действий.

Каталог

ДействиеЧто делает
Каталог: обработка заказаПолучение данных заказа: позиции, сумма, рубрики.

Календарь

ДействиеЧто делает
Календарь: данные из приложенияПолучение данных, выбранных пользователем в календаре.
Календарь: сделать записьСоздание новой записи.
Календарь: получить все записи клиентаСписок всех записей подписчика.
Календарь: получить запись клиентаОдна конкретная запись по ID.
Календарь: удалить запись клиентаУдаление одной записи.
Календарь: удалить все записи клиентаУдаление всех записей подписчика.
Пример сценария

После заказа в каталоге используйте сумму из приложения и действие Платежи для генерации платёжной ссылки — пользователь сразу перейдёт к оплате.


Тип «Mini app»

Вы можете использовать собственное mini app приложение в ботах Quescha.

Особенности взаимодействия

Взаимодействие с mini app происходит иначе, чем с каталогом и календарём — специальных действий нет, обмен данными выстраиваете сами.

Подключение

  1. Разместите HTML/JavaScript-код приложения в настройках мини-приложения.
  2. Ссылку приложения укажите:
    • в кнопке типа «Ссылка», или
    • в настройках бота через @BotFather.

Возврат данных в бот — через callback

Из вашего приложения отправляйте данные на URL:

POST или GET → https://api.quescha.com/miniapp/callback
Обязательный объект quescha

Помимо данных вашего приложения, обязательно отправляйте служебный объект quescha — иначе конструктор не сможет связать запрос с конкретным ботом и подписчиком.

После отправки данных ваш бот получит в качестве ответа блока строку:

webapp:miniapp
Обработка на каждом блоке

Если вы не используете кнопки под сообщениями, то на каждом блоке добавляйте условие:

[Answer] = 'webapp:miniapp'

— чтобы корректно обрабатывать возврат из приложения.

Все данные приложения становятся переменными в сценарии бота по переданным ключам — обрабатывайте их как обычные переменные.

Альтернатива — обмен через вебхук

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

  1. Добавьте сценарий действий с действием Обмен данными → Ожидание данных.
  2. Сформируйте нужный формат данных (например, JSON) через JS-код.
  3. Поместите результат в системную переменную _response — она вернётся ответом на вебхук-запрос приложения.

Полезные ссылки

Создание mini app с помощью нейросети

Mini app можно создать с нуля при помощи нейросети — достаточно правильно сформулировать требования к приложению и описать, как оно должно отправлять и принимать данные.