Data Flow и переменные¶
Как данные передаются между узлами¶
Каждый узел процесса может принимать данные от предшественников и порождать новые. Данные накапливаются по мере выполнения.
Start Event → {driver_id: 123, amount: 500}
Проверка водителя → {driver_id: 123, amount: 500, is_active: true, status_code: 200}
Проверка баланса → {...всё выше..., sufficient: true, balance: 15000}
Выплата → {...всё выше..., transaction_id: "TXN-..."}
Реестр данных¶
Schemix автоматически отслеживает какие данные доступны на каждом этапе. Это видно в двух местах:
Summary панель (правая)¶
Одиночный клик на узел → правая панель показывает:
- Входные данные — переменные от предшественников, сгруппированные по узлу-источнику
- Выходные данные — что этот узел добавляет (системные + пользовательские)
Sheet настройки¶
Двойной клик → вверху Sheet collapsible блок «Доступные переменные» со списком всех доступных переменных и их источников.
Откуда берутся данные¶
| Источник | Как создаются |
|---|---|
| Start Event (Telegram/WhatsApp) | Автоматически: message_text, external_username, external_user_id, channel |
| Start Event (API/Webhook) | Через редактор выходных данных или импорт из JSON |
| AI Task | Через редактор «Выходные данные» — поля, которые LLM вернёт |
| AI Chat | Автоматически: exit_type (escalate/resolved/timeout/max_rounds) |
| User Task | Автоматически из полей формы |
| Service Task | Системные: status_code, success. Пользовательские: из JSON body ответа |
Подстановка переменных¶
В промптах, шаблонах и URL используется синтаксис Jinja2:
В визуальном редакторе — кнопка { } Переменная с dropdown для выбора из доступных.
Системные outputs Service Task¶
Каждый HTTP-вызов автоматически возвращает:
status_code(число) — HTTP-код ответа (200, 404, 500...)success(boolean) —trueесли 2xx,falseиначе
Полезно для условий в Gateway: success == true → продолжить, success == false → обработать ошибку.