# Блоки й дії

У кнопки в міні-застосунку немає поля «що робити». Дію задає схема: вихід кнопки з'єднується зв'язком із блоком, і після натискання цей блок відкривається або виконується. Блок без екрана робить свою роботу й веде далі своїм виходом — наприклад, запис додано → екран «Дякуємо».

Так само працюють пункти списку, натискання на картинку, картку чи запис, надсилання форми та інші [виходи елементів](https://support.watbot.org/uk/mini-apps/elements).

![Вікно «Додати блок»: блоки за категоріями](https://support.watbot.org/_media/uk/02-mini-apps/_images/add-block.webp?v=1791781231)

## Що може кнопка

| Потрібно | Куди вести вихід |
|---|---|
| Відкрити інший екран | Блок [«Екран»](https://support.watbot.org/uk/mini-apps/blocks/screens/page) |
| Показати вікно, меню, діалог поверх екрана | [«Модальне вікно»](https://support.watbot.org/uk/mini-apps/blocks/screens/modal), [«Меню»](https://support.watbot.org/uk/mini-apps/blocks/screens/menu), [«Діалог»](https://support.watbot.org/uk/mini-apps/blocks/screens/alert), [«Панель дій»](https://support.watbot.org/uk/mini-apps/blocks/screens/action-sheet) |
| Показати коротке повідомлення, яке згасне само | [«Повідомлення»](https://support.watbot.org/uk/mini-apps/blocks/screens/toast) |
| Зберегти, змінити, знайти або видалити запис списку | Блоки категорії [«Списки»](https://support.watbot.org/uk/mini-apps/blocks/records). Для анкет зручніший елемент «Форма запису» — він пише запис сам |
| Передати дані до зовнішнього сервісу або отримати їх звідти | [«HTTP-запит»](https://support.watbot.org/uk/mini-apps/blocks/logic/http) |
| Спрямувати людей різними гілками | [«Умова»](https://support.watbot.org/uk/mini-apps/blocks/logic/condition) або [«Джерело запуску»](https://support.watbot.org/uk/mini-apps/blocks/logic/launch-source) |
| Написати людині від імені бота, запустити сценарій бота, поставити тег контакту | Блоки категорії [«Чат-бот»](https://support.watbot.org/uk/mini-apps/blocks/bot) |
| Позначити людину тегом застосунку | [«Теги користувача»](https://support.watbot.org/uk/mini-apps/blocks/logic/user-tags) |
| Відкрити посилання, скопіювати текст, поділитися, закрити застосунок | [«JavaScript»](https://support.watbot.org/uk/mini-apps/blocks/logic/script) — див. [Код у застосунку](https://support.watbot.org/uk/mini-apps/code) |

Записати клієнта, скасувати або перенести запис, зберегти оцінку візиту — блоки категорії [«Запис на прийом»](https://support.watbot.org/uk/mini-apps/blocks/booking).

Якщо вихід ні до чого не підключено, після натискання нічого не змінюється.

## Як блоки з'єднуються

- **Вихід** — рядок у нижній частині блоку. В екрана й вікна виходи — їхні кнопки, пункти та інші елементи, на які можна натиснути. У блоку без екрана — результати його роботи: «Так» і «Ні», «Успішно» і «Помилка». Виходи «вийшло» пофарбовано зеленим, «не вийшло» — червоним.
- **Зв'язок** — лінія від виходу до блоку, який відкриється або виконається наступним. Як проводити й видаляти зв'язки — на сторінці [Конструктор](https://support.watbot.org/uk/mini-apps/builder).
- **«Продовжити»** спрацьовує сам, щойно застосунок дійшов до блоку. Так за один крок можна відкрити екран і одразу показати поверх нього вікно або повідомлення.
- **Ланцюжок.** Блоки без екрана виконуються один за одним, доки застосунок не дійде до екрана, вікна або повідомлення — їх він і показує. Якщо ланцюжок уперся у вихід без зв'язку, людина залишається на поточному екрані.
- **«Нотатка»** до ланцюжка не входить: якщо зв'язок усе ж веде в нотатку, ланцюжок на ній зупиняється.

## Назад

Окремий блок для повернення не потрібен. Екрани складаються в стос: системна кнопка «назад» і кнопка «назад» у Telegram і MAX повертають на попередній екран. Зв'язок на екран, який лежить у стосі просто під поточним, теж працює як крок назад. Відкрите вікно закривається раніше, ніж екран.

## Екрани та оверлеї

Оверлей показується поверх поточного екрана, а не замість нього. Стартовим оверлей бути не може. Новий екран закриває відкритий оверлей.

Кнопки діалогу, панелі дій і повідомлення мають «Роль»: «За замовчуванням», «Скасування», «Небезпечна дія». Роль змінює вигляд кнопки: «Небезпечна дія» — червона, «Скасування» в панелі дій стоїть окремо внизу. Кожна кнопка — окремий вихід блоку.

## Блоки без екрана та чат-бот

Блоки чат-бота мають вихід «Немає контакту»: він спрацьовує, коли застосунок відкрито не з бота або людина цьому ботові не писала. Докладніше — у розділі [Чат-бот](https://support.watbot.org/uk/mini-apps/blocks/bot).

Багато блоків кладуть результат у змінні: ідентифікатор нового запису, номер замовлення, причину відмови. Як показати їх на наступному екрані — на сторінці [Дані застосунку](https://support.watbot.org/uk/mini-apps/data).

## Довідник блоків

- [Екрани та оверлеї](https://support.watbot.org/uk/mini-apps/blocks/screens) — «Екран», «Меню», «Модальне вікно», «Діалог», «Панель дій», «Повідомлення».
- [Дані та логіка](https://support.watbot.org/uk/mini-apps/blocks/logic) — «HTTP-запит», «Умова», «Джерело запуску», «JavaScript», «Теги користувача».
- [Списки](https://support.watbot.org/uk/mini-apps/blocks/records) — «Додати запис», «Змінити запис», «Видалити запис», «Знайти запис».
- [Чат-бот](https://support.watbot.org/uk/mini-apps/blocks/bot) — «Повідомлення бота», «Сценарій бота», «Теги контакту».
- [Запис на прийом](https://support.watbot.org/uk/mini-apps/blocks/booking) — «Записати на прийом», «Скасувати запис», «Перенести запис», «Оцінити візит».
- [Службові](https://support.watbot.org/uk/mini-apps/blocks/service) — «Старт», «Нотатка».

## Обмеження

- За одне натискання застосунок проходить не більше ніж 50 блоків поспіль. Якщо ланцюжок довший — наприклад, блоки замкнено в коло, — він переривається.
- Екранів у стосі «назад» — не більше ніж 20.
