Add Output

Add Output — це головний блок потоку Output Flow, який відповідає за формування фінального вигляду результату інтеграції. Саме цей блок описує, які поля, в якому вигляді та з якими типами даних побачить користувач або зовнішня система після виконання інтеграції. Add Output не виконує логіку і не формує дані — він працює як шаблон (контракт) виводу, який наповнюється даними з Main Action через блок Add Result to Output.
Навігація
Призначення блоку
─────────────────────────────────────────────────────────────-
Блок виконує дві критичні функції:
- Створення «Контракту» (Mapping): Визначає технічні ключі (Keys), які система очікує отримати з Main Action.
- Візуалізація (UI): Визначає, як ці дані побачить користувач (назви полів, типи, формат дати).
Саме тут ви створюєте "шаблон" відповіді. Якщо ви не додасте поле в цьому блоці, навіть передані з Main Action дані не будуть відображені.
Налаштування полів
─────────────────────────────────────────────────────────────-

Інтерфейс блоку дозволяє додавати та налаштовувати поля вручну або імпортувати їх.
В розділі Settings відбувається головна частина налаштувань, тут ви додаєте нові поля, обираєте їх типи, ключі та назви. Кожне поле описує один елемент результату інтеграції.
1 -> Type: Тип поля (text, number, date тощо). Визначає, як система оброблятиме значення.
2 -> Multiple: Визначає, чи є поле множинним. Якщо увімкнено (Yes), поле очікує масив (список) значень, а не одиничне значення (No).
3 -> Key: Найважливіше поле. Воно повинно ідентично збігатися з ключем, який ви передаєте з блоку Add Result to Output. Якщо ключі різні — дані не відобразяться. (може працювати в режимі поля TXT/EXP).
4 -> Label:
Це те, що побачить користувач у результаті (наприклад, замість ключа user_birthday можна написати "Дата народження").
(може працювати в режимі поля TXT/EXP).
5 -> Add Item: Додає нове поле.
6 -> Скрол для переміщення полів: Дозволяє перетягувати поля вище/нижче.
7 -> Order by Label: Автоматично сортує всі додані поля за алфавітом (базуючись на Label). Зручно, коли полів дуже багато.
8 -> Import: автоматично імпортує поля, які були передані з Main Action через блок Add Result to Output.
9 -> Перемикач режиму полів TXT / EXP:
Простий варіант (TXT режим) - все обробляється як текст.
Просунутий варіант (EXP режим) - вміст обробляється як повноцінний вираз (Expression). Дозволяє застосувати логічні оператори та функції безпосередньо в полі вибору. Наприклад, «/» у режимі TXT - це роздільник, а в режимі EXP - ділення.
Функція Import
─────────────────────────────────────────────────────────────-
Замість того, щоб створювати кожне поле вручну і ризикувати помилитися в назві ключа (Key), використовуйте функцію автоматичного імпорту.
Як це працює:
- Налаштуйте передачу даних у Main Action через блок Add Result to Output.
- Переконайтеся, що ви виконали успішний Run Test у Flow Test щоб поля і дані підтягнулись.
- У блоці Add Output натисніть кнопку Import.
- Система просканує Main Action, знайде всі передані ключі та структуру (включно з вкладеними об'єктами) і автоматично створить відповідні поля в Add Output.

Типи полів: Struct та Struct (dynamic)
─────────────────────────────────────────────────────────────-

Крім стандартних типів (number, text, date only, time only, date + time), існують спеціальні типи для роботи зі складними об'єктами.
1. Struct (Статична структура)
Використовується для відображення вкладених об'єктів (JSON-об'єктів), де ви чітко знаєте набір полів.
- Особливість: При виборі цього типу з'являється розділ Struct properties.
- Налаштування вкладених полів: Тут ви додаєте внутрішні поля об'єкта, вказуючи для кожного:
- Type: тип поля (number, text, date/time).
- Key: Ключ властивості всередині об'єкта.
- Title: Назва для відображення.
Приклад: Ви передаєте об'єкт "Клієнт". Тип поля — Struct. Властивості (Properties): name (text), age (number).

2. Struct (dynamic)
Використовується, коли структура об'єкта є динамічною або ви хочете передати весь об'єкт "як є" без детального розпису кожного поля вручну.
- Особливість: З'являється поле Options.
- Options (object or expression): Сюди вставляється змінна (результат), яка містить об'єкт. Система спробує автоматично відобразити вміст цього об'єкта у вигляді дерева або списку властивостей.

Візуальний вигляд всіх типів полів:


FAQ
─────────────────────────────────────────────────────────────-
1. Що буде, якщо тип у Add Output не збігається з типом даних?
Дані можуть не відобразитися або бути приведені некоректно. Типи мають відповідати реальній структурі даних.
2. Я натиснув Import, але нічого не додалося. Чому?
Переконайтеся, що у Main Action ви дійсно додали блок Add Result to Output і налаштували в ньому передачу даних. Якщо Main Action порожній або не містить блоку виводу, імпортувати нічого.
3. Коли використовувати Multiple = Yes?
Якщо ви повертаєте список (масив) елементів. Наприклад, список товарів у чеку. Якщо ви повертаєте один об'єкт (один чек), залиште No.
4. Чи можна редагувати поля після Імпорту?
Так. Імпорт створює структуру, але ви можете вільно змінювати Label (щоб зробити назви красивішими) або змінювати порядок полів. Не змінюйте Key, якщо не змінили його в Main Action!