Перейти до змісту

База даних

Ноди секції База даних використовуються для збереження даних між окремими execution сценарію. Set memory записує іменований набір значень для поточного користувача, а Get memory читає цей набір і робить його поля доступними наступним нодам.

На відміну від звичайних #var, memory-дані зберігаються між окремими запусками сценарію.

1. Set memory (Зберегти в памʼять)

Set memory (SetMemory) зберігає набір key/value для поточного користувача.

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

Налаштування

Поле Значення
MemoryName Ім'я набору даних
Fields[] Список полів із Key та ValueTemplate
ValueTemplate Значення поля; підтримує plain text, #var і {{ JS }}
NextAction Єдиний вихід

Connections

  • Вхід: один стандартний connector.
  • Вихід: один NextAction.
  • Нода сама не створює #node.* output variables.

Змінні і шаблони

У ValueTemplate можна використовувати звичайний текст, #var і {{ JS }}.

Наприклад:

MemoryName: checkout

city       = #node.12.city
total      = #node.20.total
short_name = {{ truncate(#member.name, 30) }}

Усі поля зберігаються разом під одним MemoryName.

Важливі особливості

  • Новий Set memory з тим самим MemoryName повністю перезаписує попередній набір даних. Поля не merge-яться окремо.
  • Якщо кілька полів мають однаковий Key, використовується останнє значення.
  • MemoryName має бути однаковим у відповідних Set memory та Get memory.
  • Для різних логічних наборів даних використовуйте різні MemoryName.
  • Set memory потребує member context, тому не використовується в синхронному AI tool.

2. Get memory (Отримати з памʼяті)

Get memory (GetMemory) читає набір даних, раніше записаний через Set memory, і створює node-scoped змінні для кожного збереженого поля.

Налаштування

Поле Значення
MemoryName Ім'я набору, яке має точно збігатися з відповідним Set memory
NextAction Єдиний вихід

Connections

  • Вхід: один стандартний connector.
  • Вихід: один NextAction.

Вихідні змінні

Кожне поле memory стає окремою змінною:

#node.{id}.{memoryField}

Наприклад, якщо memory checkout містить:

{
  "city": "Kyiv",
  "total": "1200"
}

то Get memory з ID 30 створить:

#node.30.city
#node.30.total

Приклад

Set memory "checkout"
  -> Screen "Продовжити"

...

Get memory "checkout"
  -> Condition '#node.30.total != ""'

Важливі особливості

  • MemoryName порівнюється case-sensitive.
  • Якщо memory ще не існує, фактичні значення не будуть доступні.
  • Якщо кілька Set memory використовують однаковий MemoryName, runtime читає останній записаний набір.
  • Get memory потребує member context, тому не використовується в синхронному AI tool.