09.01.2026
41

IF

IF

IF — це інструмент умовної логіки у флоу, який дозволяє керувати виконанням сценарію залежно від результату перевірки умови. Він аналізує значення змінних, результати попередніх блоків або відповіді API та визначає, по якій гілці — True (1) або False (0) — буде продовжено виконання.  Це ключовий інструмент для створення гнучких інтеграцій, що вміють обробляти помилки та фільтрувати дані.


Навігація:

  1. Налаштування блоку
  2. Як формувати логічний вираз
  3. Логіка розгалуження: True vs False
  4. Приклади використання та комбінації з іншими блоками
    4.1. Обробка помилок. IF + Error
    4.2. Формування булевого типу поля. IF + Object Builder
    4.3. Якщо масив пустий — не запускати Loop. IF + Loop: Object/List + Object Builder
    4.4. Налаштування валідації акаунту. IF + HTTP + Set Validation Result
  5. FAQ


Налаштування блоку

─────────────────────────────────────────────────────────────-

IF | Налаштування блоку


1 ->
 Condition (Умова): єдине поле, щоб вписати логічний вираз. Працює виключно в режимі EXP.

  • Синтаксис: Тут ви комбінуєте змінні {{VARS}}, логічні оператори (==, !=, &&) та функції (EMPTY(), COUNT()).

У режимі EXP завжди з’являється панель операторів і функцій.

Оператори та функції можна застосовувати у будь-якому полі, де активований режим EXP (Expression). Це дозволяє будувати динамічні та логічні вирази для обчислень або перевірок.  

Більш детально ви можете ознайомитись з усіма операторами та функціями на цій сторінці: Functions & Logical Operators


Як формувати логічний вираз

─────────────────────────────────────────────────────────────-

IF | Формування логічного виразу


1 -> 
 Режим поля EXP: поле Condition не має перемикача TXT/EXP, оскільки воно за замовчуванням обробляє вміст як вираз.    

2 -> Виклик зовнішньої функції: функція, що приймає аргументи та застосовується до переданих даних (наприклад, для обробки, перетворення або форматування).

3 -> Змінні: динамічні значення, які можна підставляти у вирази та передавати як аргументи функціям.

-> Синтаксичні оператори: можуть використовуватися різні оператори (не лише "логічне і") для побудови виразів, об’єднання частин, передачі значень або виконання інших операцій залежно від логіки виразу.

-> Модифікатор-функція: спеціальний елемент, який застосовується до змінних або результатів виразів і дозволяє обробляти дані «на льоту», змінюючи або доповнюючи їхню поведінку без попереднього збереження значення.


Логіка розгалуження: True vs False

─────────────────────────────────────────────────────────────-

Результат виконання в полі Condition завжди зводиться до двох станів, від цього залежить маршрут сценарію:

  • True (1) — умова виконана, сценарій продовжується по гілці True;
  • False (0) — умова не виконана, сценарій продовжується по гілці False.

Важливо: Ви можете залишати гілку False порожньою, якщо при невиконанні умови флоу має просто зупинитися, або будувати там альтернативний ланцюжок дій (наприклад, інший API-запит).  

!!! Зверніть увагу !!! 
В ApiX-Drive результат умови IF завжди повертається у вигляді 1 (True) або 0 (False), що дозволяє легко перевіряти стан логіки та передавати його в інші блоки або змінні.

Результат Виконання ви можете побачити в розділі Test.

IF | Результат виконання


Приклади використання та комбінації з іншими блоками

─────────────────────────────────────────────────────────────-

  • Обробка помилок. IF + Error

Блок IF дуже активно використовується в окремому флоу Request Error при обробці помилок і комбінується з блоком Error

Перевіряємо наявність і заповненість полів. Якщо існує ISSET({{Body.error}}) а також не порожнє !EMPTY({{Body.error.message}}) , йдемо в гілку True і запускаємо блок Error, щоб зупинити флоу та сповістити про проблему. Якщо {{Body.error.message}} буде порожнє підемо у гілку False.

IF | Приклад використання IF + Error
IF | Приклад використання IF + Error
IF | Приклад використання IF + Error
***
  • Формування булевого типу поля. IF + Object Builder

Для того щоб в середовищі DEV платформи передавати булеві (true/false) типи даних, необхідно їх конвертувати через функцію TO_BOOL() або через вбудований декоратор.

Перевіряємо заповненість поля. Якщо не порожнє !EMPTY({{your_variable}}) , йдемо у гілку True, і запускаємо блок Object Builder для формування булевого типу поля через функцію TO_BOOL().  Якщо {{your_variable}} буде порожнє підемо у гілку False і блок Object Builder буде проігнорований.

IF | Приклад використання IF + Object Builder
IF | Приклад використання IF + Object Builder
***

Перед тим як запускати Loop, перевіряємо: COUNT({{items}}) > 0. Якщо масив порожній, йдемо в False, пропускаючи цикл, щоб уникнути помилок обробки.  

IF | Приклад використання IF + Loop: Object/List + Object Builder

Цей патерн дозволяє уникнути помилок і зайвих операцій у флоу, коли API повертає порожній список або коли користувач нічого не заповнив. IF використовується як “захисний бар’єр”: перевіряє, чи є дані для обробки, і лише тоді запускає Loop і подальші дії.

***

Перевірка наявності токена перед початком будь-яких запитів. Якщо токен не порожній !EMPTY({{token}}), йдемо в гілку True і лише тоді виконується запит на валідацію. Якщо користувач не заповнить токен, підемо у гілку False і відразу буде помилка про неуспішну валідацію.

IF | Приклад використання IF + HTTP + Set Validation Result


FAQ

─────────────────────────────────────────────────────────────-

1. Як інвертувати логіку?
Просто додайте знак оклику ! перед функцією. Наприклад, !EMPTY() означає «якщо поле не порожнє».

2. Як працює IF з null?
У нашій системі null вважається порожнім значенням. Функція EMPTY(null) поверне 1 (True), а COUNT(null) поверне 0 (False).  

3. Чому моя умова не спрацьовує?
Часті причини: поле не існує (null), неправильний тип даних змінних.

4. Навіщо використовувати Flow Test?
Це необхідно для валідації логіки розгалуження. Тестування з різними вхідними даними дозволяє побачити результат умови (1/0) у реальному часі та переконатися, що сценарій спрямовує дані по правильній гілці.

Ще більше пояснень та деталізованих прикладів ви можете побачити в

Повній версії документації IF.