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

Мини-приложение

В конструктор можно добавить собственный HTML/JavaScript-код мини-приложения для Telegram. Это даёт полный контроль над интерфейсом и логикой внутри Telegram.

Mini App 1

Mini App 2

Мини-приложение генерируется в самом конструкторе

Опишите приложение словами — нейросеть Квесчи соберёт код. Генерации мини-приложений считаются по отдельному лимиту тарифа, не общему с ботами и лендингами; сверх лимита и на пробном периоде — с баланса. Свой ключ провайдера в настройках аккаунта снимает лимит совсем.

В выборе стиля оформления первым пунктом идёт «как в описании»: с ним стиль берётся из вашего задания, а не навязывается списком. Выбирайте его, если оформление вы описали сами («тёмный фон, неоновые акценты, крупная типографика»), — иначе к запросу добавится ещё одно указание о стиле, и модель получит два противоречащих.

Код можно писать и руками или сгенерировать во внешней нейросети — главное, соблюсти протокол обмена данными с ботом, описанный ниже.

Где мини-приложение хранит данные

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

Адрес вебхука выдаётся сценарию при установке — сгенерированное приложение получает его сразу и работает без ручной правки кода.


Отправка данных из приложения в бот

Данные из приложения отправляются на URL:

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

Вместе с вашими данными нужно отправить служебный объект quescha — он создаётся при запуске мини-приложения и доступен как window.quescha. Без него конструктор не сможет связать запрос с конкретным ботом и подписчиком.

Структура объекта quescha

{
"webappid": 4,
"channelid": 5,
"clientid": 254104321
}
ПолеОписание
webappidID Web-приложения в конструкторе.
channelidID бота в конструкторе.
clientidClientID подписчика (он же User ID в Telegram) — для персонализации.

Загрузка данных из бота в приложение

Если нужно подгружать данные из бота в приложение — на старте или в процессе работы — настройте обратный поток через вебхук.

Алгоритм

  1. Создайте сценарий действий с действием Обмен данными → Ожидание данных.
  2. Из приложения обратитесь к URL вебхука, который выдаёт это действие.
  3. В дальнейших действиях сценария сформируйте данные для загрузки в приложение и поместите их в системную переменную _response — чаще всего как JSON.

Mini App 3

Удобный паттерн

Персонализация

Для персонализации первоначальной загрузки нужно знать ClientID подписчика, запустившего приложение. Используйте тот же поток:

  1. Из приложения отправьте объект quescha (или window.quescha) в «Ожидание данных».
  2. В сценарии возьмите clientid из полученного объекта и сформируйте персональный _response.

Размещение в @BotFather

Своё мини-приложение можно сделать основным способом взаимодействия с подписчиками:

  1. Откройте @BotFather.
  2. Перейдите в Bot Settings → Configure Mini App.
  3. Подключите ваше мини-приложение к боту.

Видеоинструкции