Фонова черга, правила, журнал і cron
Планувальник виносить звичайні сповіщення про замовлення у фоновий запуск і перетворює події магазину на контрольовані відкладені завдання.
На цій сторінціШвидкий перехід до конкретного налаштування+
Фонова відправка замовлень
За справного cron модуль швидко ставить повідомлення покупцю й адміністратору в чергу, а звертається до зовнішнього сервісу вже у фоновому запуску. Окремо вмикати цю поведінку не потрібно.
- ознака задачі - «Миттєве сповіщення про замовлення»
- до трьох спроб надсилання
- збереження ліміту бюджету типу «Замовлення»
- автоматичне повернення до синхронної відправки після 10 хвилин без успішного 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 також прискорює завершення оформлення замовлення: модуль швидко ставить звичайні повідомлення покупцю й адміністратору в чергу, а зовнішній SMS, Viber або Telegram-сервіс викликається вже у фоновому запуску. Якщо модуль не бачить успішного завершення cron понад 10 хвилин, він автоматично повертається до синхронної відправки, щоб не втратити повідомлення. У такому резервному режимі оформлення може тривати довше через швидкість зовнішнього сервісу.
Як налаштувати 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.
Пов’язані екрани
Без макетів і намальованих обіцянок: це інтерфейс модуля у демонстраційній адмінці.