Тема
Редактор сценаріїв
Кожен сценарій відкривається на власному полотні: кнопкою Змінити в рядку списку на вкладці Сценарії або одразу після створення нового сценарію. Повернутися до списку можна кнопкою Назад до сценаріїв над редактором.
Редактор сценарію: панель вузлів, полотно з вузлом форми та інспектор
Редактор складається з чотирьох частин:
- верхній рядок - назва, модуль, перемикач, перевірка на замовленні й кнопка Зберегти
- панель вузлів ліворуч - з чого збирається правило
- полотно посередині - вузли і з'єднання між ними
- інспектор праворуч - налаштування того, що вибрано на полотні
Верхній рядок
- Назва - як сценарій називається у списку. Без назви зберегти сценарій не можна
- Модуль - Форма відправлення, Повідомлення покупцю або Кошик. Модуль обирається для нового сценарію; після першого збереження його вже не змінити
- перемикач Увімкнено - вимкнений сценарій зберігається, але не виконується
- Перевірити на замовленні - див. розділ «Перевірка в редакторі» нижче
- Зберегти - зберігає назву, перемикач і схему. Модуль скаже «Сценарій збережено»
Якщо спробувати піти з редактора, не зберігши зміни, модуль запитає, чи покинути сторінку.
Панель вузлів
Вузли розкладені за групами. Для модулів Форма відправлення і Кошик це Дані замовлення, Умови, Обчислення, Значення. Для модуля Повідомлення покупцю - Подія, Дані, Умови, обчислення і Дія.
Вузол можна знайти в полі Знайти вузол над групами. Щоб додати вузол, натисніть на нього або перетягніть на полотно. Подія в сценарії може бути лише одна: поки на полотні є подія, інші події в панелі недоступні.
Позначка біля назви вузла має колір його групи: дані - сині, умови - помаранчеві, обчислення - сірі, значення - зелені, події - фіолетові.
Вузли
Дані
| Вузол | Що робить |
|---|---|
| Замовлення | Бере дані замовлення: спосіб оплати й доставки, групу покупця, статус, суму й коментар. |
| Рядок підсумку | Бере суму рядка підсумку замовлення за його кодом (Код рядка підсумку, наприклад sub_total, shipping, total). Поле Якщо рядків кілька вирішує, що взяти: Перший, Останній, Сума, Кількість рядків, Найменше, Найбільше або Список. |
| Товари й вага | Рахує товари замовлення: позиції, кількість, вагу, суму, моделі й категорії. |
| Покупець | Бере дані покупця: групу, email, телефон, ім'я й прізвище, і рахує його замовлення. |
| Поле з бази | Бере значення будь-якого поля замовлення або пов'язаної з ним таблиці бази - див. нижче. |
| Кошик замовлення | Бере мітку кошика, яку замовлення отримало при оформленні: безкоштовно чи ні, знижку й підпис. |
| Відправлення | Лише в повідомленнях. Бере дані відправлення: номер, статус, відділення, місто, суми до сплати, дні в статусі й посилання на відстеження. |
Рядок підсумку, Поле з бази і Кошик замовлення є у формі відправлення й у повідомленнях, але не в кошику.
Умови
| Вузол | Що робить |
|---|---|
| Умова | Порівнює вхід А зі значенням або з входом Б і каже «так» чи «ні». Порівняння: дорівнює, не дорівнює, більше, не менше, менше, не більше, є одним із, містить, порожнє. |
| І / Або / Не | Поєднує дві умови через «і» чи «або» або перевертає одну через «не». |
| Обрати | Віддає одне з двох значень: Якщо так - коли умова виконується, інакше Якщо ні. Варіант не змінювати лишає поле за налаштуваннями. |
| Відповідність | Замінює значення за таблицею Відповідність значень (Якщо значення ... то ...), а решту - на значення Інакше. Рядки додає кнопка Додати рядок. |
Коли значення обирається з відомого набору, редактор пропонує його списком із даних магазину. Якщо вхід Умови або Відповідності підключено до способу оплати, статусу замовлення або групи покупця, замість поля для тексту з'являється список. Для Умови «є одним із» у списку можна позначити кілька значень. Спосіб оплати можна додати й власним кодом. Для способу доставки список теж є: код доставки замовлення складається з розширення й способу (flat.flat), тому значення без крапки, наприклад flat, збігається з будь-яким способом цього розширення, а значення з крапкою - лише з точним кодом. Збережене значення, якого немає у списку, лишається в полі як є.
Обчислення
| Вузол | Що робить |
|---|---|
| Сума, різниця, % | Обчислює Сума, Різниця, Добуток, Частка, Відсоток, Менше з двох, Більше з двох або Остача від ділення. Дію обирають кнопками на самому вузлі, а друге число вписують у поле на вузлі, якщо до входу Б нічого не підключено. Під вузлом видно результат у вигляді «= N». |
| Округлити | Округлює число До цілого, До сотих або До десятків - кнопками на самому вузлі. |
| Текст | Складає текст за Шаблоном із входів А, Б і В: {a}, {b}, {c} - місця для них. |
Ділити на 0 не можна: вузол тоді не дає значення, а підказка на ньому каже «На 0 ділити не можна».
Значення
Вузол Значення (у панелі - Число, текст, вибір) віддає задане значення. Тип значення: Число, Текст або Вибір із довідника. Для вибору оберіть Довідник і значення з нього: платник, третя особа, тип вантажу, тип упаковки та інші.
Подія і дія
Лише в модулі Повідомлення покупцю: події Статус став, Минуло днів у статусі, Минуло днів після отримання і дії SMS покупцю, Лист покупцю, Коментар до замовлення. Що вони роблять і коли спрацьовують, описано на сторінці Сценарії.
Поле з бази
Вузол Поле з бази читає значення з таблиць магазину, пов'язаних із замовленням: самого замовлення, його підсумків, товарів, опцій, історії, покупця, а також будь-якої іншої таблиці, де є стовпець order_id або customer_id. Так можна дістатися до власних полів магазину, наприклад до додаткового стовпця замовлення з кодом відправника. Перемикач Це сума у валюті магазину каже модулю, що значення - сума грошей.
Вузол лише читає. Він не пише в базу й не показує секретів: таблиці користувачів, API, сеансів і налаштувань, а також стовпці з паролями, токенами, ключами й подібним у списку відсутні, а сервер відхиляє їх і під час збереження. Таблиця й стовпець вибираються зі списку, вписати власну назву не можна.
Якщо стовпець, на який посилається збережений сценарій, пізніше зникне, сценарій пропускається цілком: жодне його поле не заповнюється, а перевірка на замовленні назве причину - схема сценарію не проходить перевірку.
Вузол модуля
Праворуч на полотні стоїть нерухомий вузол модуля: Форма відправлення або Кошик. У сценарії повідомлень його немає - там правило закінчується вузлами дій.
Вузол показує лише ті поля, які ви додали, і ті, до яких підключено з'єднання. Угорі - лічильник «N з M»: скільки полів додано з тих, що може заповнити сценарій. Нове поле додається зі списку Додати поле: поля в ньому згруповані, а обране поле з'являється рядком під заголовком своєї групи. Хрестик у рядку видаляє поле з вузла.
Кожне поле має власний вхід. З'єднання з входом означає «це поле заповнює сценарій». Якщо до входу нічого не підключено, поле лишається таким, яким його дали налаштування. Додане поле без з'єднання зберігається разом зі сценарієм, але в роботу не береться. Якщо вузол на вході не має значення (наприклад, у замовлення немає потрібного рядка підсумку), поле також лишається за налаштуваннями.
Відправник у вузлі форми показаний без входу, з позначкою «з прив'язки відправника»: сценарій його не обирає.
З'єднання
Вузли з'єднуються лініями: вихід одного вузла йде у вхід іншого або в поле вузла модуля. Тягніть від кружечка праворуч на вузлі до кружечка входу.
- Поки ви тягнете, лінія синя
- Готова лінія має колір групи вузла, з якого виходить: від даних - синя, від умов - помаранчева, від обчислень - сіра, від значень - зелена, від події - фіолетова. Лінія в поле вузла модуля завжди зелена й товща. Обрана лінія стає товщою
- Входи мають типи: число, текст, «так/ні», список. Редактор не дасть з'єднати несумісні вихід і вхід, зайнятий вхід або коло: лінія не з'являється, а над полотном видно «Таке з'єднання неможливе: типи не збігаються, вхід уже зайнятий або вийде коло»
З'єднання можна переставити: потягніть за його кінець біля кружечка вузла до іншого входу або виходу. Діють ті самі правила. Якщо переставити не можна, з'єднання лишається як було, а редактор підкаже причину.
Для роботи з клавіатури оберіть вихід, натисніть Enter («Тепер оберіть вхід і натисніть Enter»), потім оберіть вхід і натисніть Enter ще раз. Esc скасовує з'єднання й вибір. Клавіша Delete видаляє обраний вузол чи з'єднання.
Масштаб полотна змінюють кнопки збільшення й зменшення в лівому нижньому куті.
Інспектор
Інспектор праворуч показує налаштування того, що вибрано на полотні: «Тут налаштовується те, що вибрано на полотні». Поки нічого не вибрано, він просить «Оберіть вузол або поле форми».
Інспектор вузла: опис, входи й виходи та підказка, як з'єднати
- Вузол - одним рядком пояснює, що вузол робить, показує його Входи й Виходи зі значеннями на перевіреному замовленні (до перевірки - «-») і підказує, як його з'єднати: «Тягніть від кружечка праворуч до входу іншого вузла або до поля форми». Нижче - налаштування вузла і кнопка Видалити вузол
- Поле форми - що поле отримає на перевіреному замовленні або «Поле не з'єднане: воно отримає значення з налаштувань», і кнопка Від'єднати поле. Для підключеного поля із сумою є округлення (До гривні, До копійки, Не округлювати) і правило Якщо вийшло 0 або менше: Залишити як у налаштуваннях або Очистити поле. Правило дивиться на суму так, як її запише форма, з двома знаками після коми: 0,004 вважається нулем
- З'єднання - звідки й куди воно йде, і кнопка Видалити з'єднання
Сценарій кошика, створений шаблоном Кожне 3-тє замовлення - доставка за рахунок магазину, нагадує в інспекторі, що шаблон створив і парний сценарій для форми відправлення.
Тексти кількома мовами
У вузлі Текст і в полі Тема листа можна написати окремий текст для кожної мови магазину - українською, англійською, російською, якщо такі мови є в магазині. В інспекторі для цього є вкладки Мови тексту, а на самому вузлі видно короткі позначки мов; незаповнена мова позначена блідо.
Покупець отримує текст мови свого замовлення. Якщо цей текст не заповнено, береться український, а якщо й він порожній - перший заповнений. Інспектор попереджає про це, наприклад: «EN не заповнено: покупці з англійською мовою замовлення отримають український текст».
Кнопка Вставити значення додає в текст значення з'єднаних вузлів - «Значення з'єднаних вузлів, однакові для всіх мов». Для SMS інспектор після перевірки показує кількість знаків і SMS.
Підпис під ціною
Поле Підпис під ціною вузла Кошик показується покупцю окремим рядком під терміном доставки, тим самим стилем. Якщо у вашому оформленні теги вирізаються, покупець побачить лише ціну.
У підписі можна виділити слова HTML-тегами:
- b або strong - жирний
- i або em - курсив
- br - новий рядок
- span з
style="color: red"- колір: назва,#DA291Cабоrgb(218, 41, 28) - a з
href="https://oc-max.com"- посилання (такожmailto:), воно відкривається в новій вкладці
Інші теги й стилі модуль прибирає, лишаючи текст. Емодзі просто вставте з буфера обміну, наприклад 🎁. У редакторі сценаріїв підпис показано без тегів, лише словами.
Перевірка в редакторі
У полі Перевірити на замовленні над полотном почніть вводити номер замовлення, ім'я покупця або телефон і оберіть замовлення зі списку: перевірка запуститься одразу, а колечко очікування крутиться всередині поля праворуч.
- На вузлах з'являються обчислені значення, а в полях вузла модуля - те, що вони отримають на цьому замовленні. До перевірки вузли значень не показують
- Унизу полотна смуга підсумовує результат для замовлення: що зміниться і що пропущено з причиною
- Для повідомлень смуга каже, що буде з цим замовленням: коли настане подія, чи не було її до ввімкнення сценарію або понад 3 дні тому, чи вже спрацював сценарій для цього відправлення, коли піде повідомлення з урахуванням тихих годин і який це день у статусі. Якщо планувальник не запускав сценарії останні 10 хвилин, смуга попередить про це
- Для кошика видно, яка ціна й підпис були б у замовленні покупця
Якщо після перевірки ви змінили сценарій, редактор скаже «Сценарій змінено після перевірки: оберіть замовлення ще раз». Перевірка нічого не надсилає, не зберігає й не змінює.
Якщо схема неповна, наприклад у вузла не підключено обов'язковий вхід, перевірка й збереження не проходять: сповіщення назве вузол і вхід, а сам вузол буде обведено червоним. Обраний вузол обведено синім.
Захист від збоїв
- Ділення на нуль, текст там, де потрібне число, і порожні дані не потрапляють у запит до Нової пошти: вузол стає «не задано». Так само вузол Текст з порожнім шаблоном: він не очищає поле, а лишає його за налаштуваннями
- Ручна обробка й упаковка для відправлення з кількома місцями застосовуються до кожного місця. Упаковка без типу упаковки не вмикається
- Сценарій, який під час виконання зламався, пропускається: форма будується за налаштуваннями, а про збій буде записано. Створення відправлення через це не зупиняється
- Якщо полотно не завантажилося, редактор каже «Не вдалося завантажити полотно сценарію» і пропонує спробувати ще раз