Правила, черга, журнал і cron
Планувальник перетворює події магазину на контрольовані майбутні завдання з журналом кожного рішення.
Чотири робочі екрани
- Правила — що й коли створювати
- Черга — що очікує виконання
- Журнал — що відбулося
- Cron — чи працює запуск
Запуск
- Створіть тестове правило з безпечним отримувачем.
- Налаштуйте cron-команду з інтервалом, рекомендованим у модулі.
- Перевірте час останнього запуску.
- Створіть тестову подію.
- Прослідкуйте її шлях через чергу і журнал.
Усі поля, варіанти та перевірки
Нижче наведено повний профільний розділ офіційної інструкції модуля, без скорочень і маркетингового переказу.
13. Відкладені події
Відкладені події - це повідомлення, які модуль надсилає не одразу, а через заданий час.
Приклади:
- через 10 хвилин після нового замовлення нагадати про оплату;
- через 1 день після доставки попросити відгук;
- через 2 години після реєстрації без замовлення надіслати бонус;
- через 30 хвилин після зміни статусу повідомити адміністратора.
13.1 Правила
Правило описує, коли створити відкладене повідомлення, кому його надіслати і за яких умов.
Логіка правила проста:
- Подія відбувається в магазині.
- Модуль перевіряє умови правила.
- Якщо умови підходять, модуль створює завдання в черзі.
- Завдання чекає свого часу.
- Cron запускається і відправляє завдання.
- Результат потрапляє в журнал і звіт.
Якщо cron не налаштований, завдання може з'явитися в черзі, але не буде відправлене. Це часта причина проблеми: правило є, текст є, але клієнт нічого не отримує, бо серверний cron не запускається.
Як створити правило
- Відкрийте
Відкладені події -> Правила. - Натисніть
Додати правило. - Вкажіть
Назва правила. - Увімкніть правило.
- Виберіть
Подія. - Виберіть
Отримувач. - Заповніть умови, якщо вони потрібні.
- Вкажіть затримку і одиницю часу.
- Виберіть канал надсилання.
- Напишіть текст повідомлення.
- Натисніть
Зберегти.
Події
| Подія | Коли спрацьовує | Приклад використання |
|---|---|---|
Зміна статусу замовлення | Коли замовлення переходить у вибраний статус. | Попросити відгук після статусу Доставлено. |
Нове замовлення | Коли клієнт створив замовлення. | Нагадати про оплату через 10 хвилин. |
Реєстрація клієнта | Коли клієнт зареєструвався. | Надіслати вітальне повідомлення. |
Після реєстрації без замовлення | Коли клієнт зареєструвався, але не зробив покупку. | Надіслати бонус або підказку через 1 день. |
Що важливо: події Зміна статусу замовлення і Нове замовлення працюють із замовленнями, тому для них доступні умови по сумі, товарах, категоріях, виробниках і статусах. Подія Після реєстрації без замовлення перед відправкою ще раз перевіряє, чи клієнт справді не зробив покупку.
Отримувачі
| Отримувач | Хто отримає | Коли вибрати |
|---|---|---|
Клієнт | Покупець із замовлення або профілю. | Для клієнтських нагадувань. |
Адміністратор | Адмінський контакт. | Для службових нагадувань менеджеру. |
Довільний номер | Номер, який ви вручну вказали. | Для складу, керівника або тестового номера. |
Для Довільного номера можна вказати один або кілька номерів через кому. Для Адміністратора використовуються контакти з поля Телефон адміністратора. Для Клієнта модуль бере телефон із замовлення або профілю.
Умови
| Умова | Що перевіряє | Коли використовувати |
|---|---|---|
Статус замовлення | Правило працює тільки для вибраного статусу. | Для правил після конкретного статусу. |
Група клієнта | Правило працює тільки для групи клієнтів. | Для VIP, оптових або роздрібних клієнтів. |
Сума від | Мінімальна сума замовлення. | Бонус тільки для замовлень від певної суми. |
Сума до | Максимальна сума замовлення. | Окремі повідомлення для малих замовлень. |
ID товарів | Наявність конкретних товарів. | Інструкція після покупки конкретного товару. |
ID категорій | Наявність товарів із категорій. | Повідомлення по групі товарів. |
ID виробників | Наявність товарів певного виробника. | Гарантійне або брендове повідомлення. |
Скасувати це правило при статусах | Скасовує завдання, якщо замовлення перейшло в один із цих статусів. | Щоб не надсилати повідомлення по скасованому замовленню. |
ID товарів, категорій і виробників вводяться через кому. Якщо не знаєте ID, відкрийте товар, категорію або виробника в адмінці OpenCart і подивіться ID в адресі сторінки.
Як читати умови:
- порожні умови означають “працює для всіх”;
Будь-який статусозначає, що правило не прив'язане до конкретного статусу;Будь-яка групаозначає, що група клієнта не важлива;Сума відбезСума доозначає “від цієї суми і вище”;Сума добезСума відозначає “до цієї суми”;- якщо одночасно задані товари, категорії і виробники, правило стає вузьким, тому тестуйте його на реальному тестовому замовленні.
Час і повтори
| Поле | Що робить | Рекомендація |
|---|---|---|
Затримка | Через скільки часу відправити. | Вкажіть число. |
Хвилини | Затримка в хвилинах. | Для коротких нагадувань. |
Години | Затримка в годинах. | Для повідомлень у той самий день. |
Дні | Затримка в днях. | Для відгуків або повторних контактів. |
Канал надсилання | Через що відправити. | Для важливого - SMS, для менш критичного - Viber/Telegram. |
Спроби | Скільки разів повторити при помилці. | 1-3 достатньо для більшості магазинів. |
Дублікати: Замінити очікуюче завдання | Нове завдання замінює старе очікуюче. | Рекомендовано, щоб не надсилати дублікати. |
Дублікати: Залишати всі задачі | Кожна подія створює окреме завдання. | Використовуйте тільки якщо дублікати справді потрібні. |
Політика скасування: Скасовувати при глобальних статусах | Завдання скасується при глобальних статусах скасування. | Рекомендовано для клієнтських повідомлень. |
Політика скасування: Не скасовувати | Завдання не скасується глобальними статусами. | Для службових повідомлень, які треба відправити завжди. |
Враховувати години тиші | Не відправляти в заборонений час. | Рекомендовано для клієнтів. |
Що означає панель готовності планувальника
У вкладці відкладених подій модуль показує, чи готовий планувальник до роботи.
| Перевірка | Що означає | Що робити, якщо не виконано |
|---|---|---|
Модуль увімкнено | Загальний статус модуля активний. | Увімкніть Налаштування -> Статус. |
Планувальник увімкнено | У вкладці cron увімкнений статус планувальника. | Увімкніть Статус у Cron / Налаштування. |
Є активне правило | Є хоча б одне увімкнене правило. | Створіть або увімкніть правило. |
Cron працює нормально | Серверний cron запускався і завершувався. | Налаштуйте cron на хостингу і перевірте токен. |
Статистика Очікують, Надіслані, Скасовані, Помилки показує загальний стан завдань. Якщо Помилки ростуть, не запускайте нові масові правила, поки не зрозуміли причину.
Приклади правил
| Задача | Як налаштувати |
|---|---|
| Нагадати про оплату через 10 хвилин | Подія Нове замовлення, отримувач Клієнт, затримка 10 хвилин, умова по статусу неоплаченого замовлення, дублікати Замінити. |
| Попросити відгук після доставки | Подія Зміна статусу замовлення, статус Доставлено, затримка 1 день, години тиші Вкл, скасування при статусах Скасовано і Повернення. |
| Повідомити менеджера, якщо VIP-клієнт зробив замовлення | Подія Нове замовлення, отримувач Адміністратор, група клієнта VIP, затримка 0-5 хвилин, канал Telegram або SMS. |
| Надіслати інструкцію після покупки товару | Подія Зміна статусу замовлення, статус Відправлено або Оплачено, ID товарів, затримка 1 година, отримувач Клієнт. |
| Повернути клієнта після реєстрації без покупки | Подія Після реєстрації без замовлення, затримка 1 день, отримувач Клієнт, текст із бонусом або підказкою. |
13.2 Черга завдань
Черга показує повідомлення, які вже створені, але ще не відправлені.
| Дія | Що робить |
|---|---|
Відправити зараз | Переносить завдання на негайну відправку. |
Скасувати завдання | Скасовує завдання і переносить його в журнал. |
Очистити чергу | Скасовує всі активні очікуючі завдання. |
Очищення черги не видаляє історію. Завдання переходять у статус Скасовано.
Статуси завдань у черзі та журналі
| Статус | Що означає |
|---|---|
Очікує | Завдання створене і чекає часу відправки або запуску cron. |
Надіслано | Завдання успішно відправлене. |
Скасовано | Завдання не відправлятиметься, бо його скасували вручну, замінили або замовлення перейшло у статус скасування. |
Помилка | Модуль намагався відправити, але канал або провайдер повернув проблему. |
Якщо відкладена SMS/Viber-задача вперлась у бюджетний ліміт, модуль не вважає це помилкою провайдера. Завдання лишається в черзі, отримує next_attempt_at приблизно через 30 хвилин, а в таймлайні зʼявляється подія Очікує бюджет / budget_wait. Лічильник спроби доставки від цього не збільшується.
У черзі видно номер завдання, правило, телефон, короткий текст, час відправки, наступну спробу, кількість спроб і таймлайн. Таймлайн потрібен, щоб зрозуміти шлях завдання: створено, відкладено, очікує бюджет, перенесено, скасовано, відправлено або впало з помилкою.
13.3 Журнал
Журнал показує завершені, скасовані або помилкові завдання.
| Дія | Що робить |
|---|---|
Повторити | Повертає завдання в чергу для повторної спроби. |
Очистити журнал | Видаляє завершені записи журналу. |
Журнал не є чергою. Якщо очистити журнал, активні очікуючі завдання не зникнуть.
Причини в журналі
| Причина | Що означає |
|---|---|
Години тиші | Завдання не відправилось зараз, бо діє заборонений час. |
Умови правила більше не виконуються | Перед відправкою модуль перевірив правило ще раз і побачив, що умови вже не підходять. |
Замовлення перейшло у фінальний статус | Замовлення потрапило в глобальний статус скасування. |
Спрацював статус скасування правила | Спрацював статус, заданий саме в цьому правилі. |
Скасовано адміністратором | Завдання вручну скасували в адмінці. |
Чергу очищено адміністратором | Завдання скасоване через очищення черги. |
Правило видалено | Завдання скасоване, бо правило видалили. |
Замінено новішим завданням | Політика дублікатів Замінити прибрала старе завдання. |
Ліміт бюджету SMS/Viber | Завдання тимчасово не надіслано, бо вичерпано глобальний ліміт, OTP-резерв, ліміт відкладених надсилань, межу для недовірених OTP або аварійний бюджетний поріг. |
13.4 Cron
Cron потрібен, щоб відкладені повідомлення реально відправлялися. Без cron правило може створити завдання, але воно не піде клієнту.
Як налаштувати cron
- Відкрийте
Відкладені події -> Cron / Налаштування. - Увімкніть статус планувальника.
- Скопіюйте
Cron URL. - Передайте URL хостингу або додайте його в панелі cron.
- Запускайте URL кожні 1-5 хвилин.
- Після запуску перевірте
Стан cron,Останній старт,Останнє завершення.
Поля cron
| Поле | Що робить | Що вибрати |
|---|---|---|
Статус | Вмикає планувальник. | Увімкніть, якщо використовуєте відкладені події. |
Cron URL | Посилання для запуску планувальника. | Скопіюйте і передайте хостингу. |
Cron токен | Захищає cron від стороннього запуску. | Не публікуйте і не міняйте без оновлення cron на хостингу. |
Макс. SMS за запуск cron | Обмежує кількість відправок за один запуск. | Поставте помірне значення, щоб не перевантажити провайдера. |
Макс. час роботи cron | Не дає одному запуску працювати занадто довго. | Залиште стандартне, якщо черга невелика. |
Ліміт повторних спроб | Скільки разів повторити відправку при помилці. | 1-3 зазвичай достатньо. |
Очищати виконані задачі через днів | Видаляє старі завершені і скасовані задачі. | 7-30 днів, залежно від потрібної історії. |
Початок тиші | Початок періоду, коли не треба писати клієнтам. | Наприклад 21:00. |
Кінець тиші | Кінець періоду тиші. | Наприклад 09:00. |
Часовий пояс тиші | За яким часом рахувати тишу. | Вкажіть часовий пояс магазину. |
Глобальні статуси скасування | Статуси, які скасовують очікуючі повідомлення. | Додайте Скасовано, Повернення та інші фінальні негативні статуси. |
Шаблон повідомлення хостингу:
Потрібно налаштувати cron для OpenCart-модуля SAP - SMS / OTP Pro.
Запускайте Cron URL з вкладки "Відкладені події -> Cron / Налаштування" кожні 1-5 хвилин.
Метод запуску: звичайний HTTP-запит за цим URL.
Пов’язані екрани
Без макетів і намальованих обіцянок: це інтерфейс модуля у демонстраційній адмінці.