22.01.2026
11

Encoder

Encoder

Encoder — це сервісний блок для трансформації даних. Його основна функція — перекодувати (закодувати) вхідні дані (рядок, змінну, обʼєкт або результат виразу) у формат Base64. Цей блок необхідний, коли API вимагає передачі даних не у "чистому" вигляді, а у вигляді спеціального зашифрованого рядка (наприклад, для передачі зображень у тілі JSON або для специфічних параметрів безпеки).

Навігація

  1. Налаштування блоку.
  2. Режими поля Object to encode: TXT vs EXP.
  3. Механіка роботи.
  4. Приклади використання.
  5. FAQ.


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

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

Encoder | Основні налаштування блоку


Блок використовується для підготовки даних перед їх відправкою в API або обробкою, складається з двох ключових полів:

1 -> Object to encode: Значення, яке потрібно закодувати в Base64. Тут може бути: 

  • статичний текст
  • змінна з попередніх блоків
  • обʼєкт або поле обʼєкта
  • вираз (Expression) у режимі поля EXP

2 -> Encoder: Алгоритм кодування. На даний момент доступний стандарт: Base64. Це універсальний формат, який перетворює бінарні дані (картинки, документи) або текст у безпечний для передачі ASCII-рядок.


Режими поля Object to encode: TXT vs EXP

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

Перемикач режиму поля Object to encode визначає, як система інтерпретує ваш ввід: як текст чи як програмний вираз з логікою, функціями і обчисленнями.

1. TXT (Text Mode) — Текстовий режим

Використовується для статичних значень та простих рядків.

  • Особливість: Будь-яке значення (навіть формула або число) буде збережено як String (текст).
  • Ризик: Якщо написати функцію TO_NUMBER(100) у режимі TXT, змінна отримає текстове значення "TO_NUMBER(100)". Якщо наступний блок очікує математичне число, розрахунок буде невірний.

2. EXP (Expression Mode) — Режим виразів

Перетворює поле на функціональний редактор, де працюють оператори та функції.
Цей режим використовується, коли значення для кодування повинно формуватись динамічно або мати конкретний тип (число, boolean, масив тощо). Режим EXP дозволяє конвертувати типи та обробляти дані «на льоту».

Можливості EXP:

  • Математика та Логіка: Обчислення значень та порівняння (><==&&).
  • Трансформація даних: Зміна регістру, пошук/заміна тексту, форматування дат.
  • Робота з типами: Конвертація у числа (TO_NUMBER), булеві значення (TO_BOOL) або масиви.
  • Умови: Перевірка на порожнечу (EMPTY()) або існування ключа через (ISSET()).

Encoder | Різниця TXT / EXP


1 -> Режим поля TXT:
 значення або змінні будуть оброблені як текст.

2 -> Режим поля EXP: вміст поля буде оброблено як вираз із застосуванням функцій, операторів, модифікаторів.

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

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

5 -> Зовнішні функції та оператори: стають доступними коли режим поля EXP.

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

Основне правило режимів поля:

Якщо потрібно передати «чисте» число, результат обчислення або виконати перевірку — завжди використовуйте EXP. Для звичайних текстових повідомлень або статичних посилань достатньо TXT.  


Механіка роботи

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

Блок працює за простим принципом:

  1. Ви передаєте значення в поле Object to encode
  2. Платформа перетворює його у Base64
  3. Закодований результат стає доступним як вихідне значення блоку
  4. Ви використовуєте цей результат у наступних блоках (HTTP Request, Declare Variable, Add Output тощо)

Encoder не змінює оригінальну змінну і не впливає на її значення — він створює окремий результат.


Приклади використання

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


Object Builder + Encoder

Використовується для підготовки складних структур даних до відправки або збереження у закодованому вигляді. Object Builder збирає кілька значень в один об'єкт, після чого Encoder кодує весь цей об'єкт у Base64.  

Encoder | Приклад&nbsp;Object Builder + Encoder
***

Loop + Encoder + HTTP Request

Використовується для реалізації пагінації, коли наступна сторінка даних запитується через закодований токен. Всередині циклу Loop блок Encoder бере ідентифікатор останнього елемента (курсор) і кодує його в Base64. Отриманий результат передається циклічно в наступний HTTP Request як параметр after, щоб отримати наступну порцію даних.  

Encoder |&nbsp;Приклад&nbsp;Loop + Encoder + HTTP Request
***

Encoder + Evaluate

Використовується у випадках, коли після процесу кодування отриманий результат потребує додаткової перевірки, збереження або трансформації перед подальшим використанням.

Після того як Encoder формує фінальне Base64-значення, блок Evaluate дозволяє миттєво перевірити це значення на порожнечу, зберегти його у специфічну змінну або підготувати до використання в логічних умовах наступних блоків. 
Такий підхід корисний у складних сценаріях пагінації або умовної логіки.

Encoder |&nbsp;Приклад&nbsp;Encoder + Evaluate


FAQ

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

1. Чи можу я використовувати Encoder для декодування Base64?
Ні. Блок Encoder підтримує лише кодування. Декодування Base64 наразі не передбачене.

2. Чи можна кодувати обʼєкти або масиви?
Так. Але треба попередньо перетворити їх у рядок через функції (наприклад, через TO_STRING() або JOIN() ). Рекомендується явно контролювати формат через EXP або JSON-структуру.

3. Чи додає Encoder щось у запити автоматично?
Ні. Encoder лише повертає закодоване значення. Ви самі вирішуєте, де його використати (Headers, Body, URL).