Use Case 8: Секція-макрос у сценарії
Рівень: базовий · Модулі: Scenario Builder · Settings → Operator Panel → Process macro (опційно E2E)
Необхідні права та доступ
| Що потрібно | Де в меню | Навіщо |
|---|---|---|
| Scenario Builder | Меню → Scenario Builder | Секція-макрос, логіка всередині |
| Settings → Operator Panel → Process macro | Налаштування → Операторська панель → Process macro | Опційно: кнопка в Operator Line (E2E) |
Якщо розділу Process macro немає в меню — core Use Case 8 можна завершити лише перевіркою в Runs; E2E через Operator Line — опційно.
Бізнес-контекст
Оператор у діалозі запускає короткий сценарій (перевірка статусу замовлення, lookup) — логіка живе в секції Scenario Builder з прапорцем «макрос», а не в окремому боті.
Очікуваний результат
- Окрема секція з прапорцем «Використовується як макрос».
- Вхідний параметр макросу (напр.
order_id). - Логіка перевірена в Runs (trace макрос-секції).
- (Опційно E2E) Process макрос у Settings → кнопка «Запустити макрос» у Operator Line.
Архітектура flow
[Секція-macro] Start (macro) → WaitForInput / форма макросу (order_id)
→ action_send_request або MessageKeyboard «Статус OK для {{order_id}}»
→ End / повернення в діалог оператора
Зв'язок з іншими налаштуваннями
Settings → Operator Panel → Process macro → обрати бота з макрос-секцією. Це потрібно лише для опційної E2E-перевірки в Operator Line.
→ Огляд для інтегратора — макроси
Покрокова реалізація
Крок 1. Секція сценарію під макрос
Scenario Builder → нова секція (напр. Macro Check Status):
| Налаштування секції | Значення | Навіщо |
|---|---|---|
| Використовується як макрос | увімкнено | Секція доступна з OP, не як звичайний вхід клієнта |
| Змінна макросу | order_id (text, обов'язкова) |
Оператор вводить при запуску → {{order_id}} у нодах |
Крок 2. Логіка всередині секції (спрощено)
Варіант A — без API (мінімум):
| Нода | Параметри |
|---|---|
| MessageKeyboard (або нода результату макросу) | «Перевірено замовлення {{order_id}}: статус OK» |
Варіант B — mock API (як Use Case 4):
| Action action_send_request | url з {{order_id}} або фіксований mock |
| Edges | ok → текст з {{crm_data…}} · not_ok → «CRM недоступна» |
Макрос не повинен викликати operator_panel__connect — він уже всередині діалогу оператора.
Крок 3. Підключення в Operator Panel (опційно — E2E)
Settings → Operator Panel → Process macro → обрати бота з макрос-секцією.
Acceptance (core): Runs trace макрос-секції з тестовим order_id.
Acceptance (опційно E2E): кнопка «Запустити макрос» у діалозі Operator Line.
Крок 4. Тест (опційно E2E)
- Відкрити діалог клієнта (після Use Case 3 зручно).
- Кнопка «Запустити макрос» → обрати макрос → ввести
order_id. - Результат у діалозі; Runs — trace макрос-секції.
Core-тест без OP: Scenario Builder → Runs → запуск макрос-секції з тестовим order_id у trace.
Критерії приймання (self-check Runs)
Типові помилки
| Симптом | Причина | Що зробити |
|---|---|---|
| Макрос не в OP | Не налаштовано Process macro | Settings → OP → Process macro |
{{order_id}} порожній |
Параметр не оголошено в секції | Додати змінну макросу в налаштуваннях секції |
| Connect всередині макросу | Зайва нода | Прибрати connect — макрос уже в діалозі |
| Trace порожній | Запуск не через Runs макросу | Запустити trace секції з параметром |