Зв'язатись
  • WordPress
  • CRM та інтеграції
  • v1.0.0

Webhook Watchdog для WooCommerce — сторож вебхуків

WooCommerce вимикає вебхук після 5 невдалих доставок і не попереджає. Плагін знаходить такі вебхуки, веде журнал інцидентів і шле дайджест. Pro вмикає їх назад після перевірки ендпоінта.

Завантажити Free
Pro · ліцензія на рік Чим більше сайтів, тим дешевше кожен
Сумісність
WordPress 6.2+, WooCommerce 6.0+ (перевірено на WP 7.1 / Woo 10.7)
PHP
7.4 і новіший
Ліцензія
два сайти, річна
Тріал
7 днів, без картки, один на сайт
Або всі 173 Pro-модулів з All Access — 4 990 ₴ / рік

Модуль у роботі — 41 секунда

Без звуку теж зрозуміло: субтитри українською

Що є в Free,
а що дає Pro

Безкоштовна версія працює без обмеження в часі. Pro додає решту функцій з таблиці.

Функція Free Pro
Знаходить вебхуки, які WooCommerce вимкнув після 5 невдалих доставок ✔ ✔
Журнал інцидентів: топік, URL, кількість невдач, що зроблено, відповідь ендпоінта ✔ ✔
Один дайджест на скан, а не лист на кожен вебхук ✔ ✔
Скан за розкладом: 15 хв / година / двічі на добу / доба ✔ ✔
Кнопка «Сканувати зараз» ✔ ✔
Перевірка — HEAD/GET, ніколи не повтор невдалого payload ✔ ✔
Скидання лічильника невдач разом зі статусом ✔ ✔
Захист від «мигання»: ліміт відновлень на вебхук за добу ✔ ✔
Нічого не додає на вітрину і не сповільнює магазин ✔ ✔
HPOS і блоковий кошик/чекаут — сумісність оголошена ✔ ✔
Автоматичне ввімкнення назад після перевірки, що ендпоінт живий — ✔
Ретенція журналу, до трьох років — ✔

Як це виглядає

Журнал інцидентів із реального стенду: живий ендпоінт увімкнено назад (HTTP 200), два мертвих лишились вимкненими з точною причиною.
Журнал інцидентів із реального стенду: живий ендпоінт увімкнено назад (HTTP 200), два мертвих лишились вимкненими з точною причиною.
Налаштування: періодичність скану, що робити зі знайденим вебхуком, перевірка ендпоінта з таймаутом і захист від «мигання».
Налаштування: періодичність скану, що робити зі знайденим вебхуком, перевірка ендпоінта з таймаутом і захист від «мигання».
Штатна панель вебхуків WooCommerce: два з трьох вимкнено (мертві ендпоінти), і жодної історії — саме цього бракує, коли інтеграція тихо відвалюється.
Штатна панель вебхуків WooCommerce: два з трьох вимкнено (мертві ендпоінти), і жодної історії — саме цього бракує, коли інтеграція тихо відвалюється.

Тріал стартує, коли ви попросите

Свіжий інстал — безкоштовна версія, нічого не вмикається само. Кнопка «Спробувати Pro 7 днів» → e-mail → ключ одразу у вікні і листом.

Один ключ — два сайти

Переносите магазин — відв’яжіть ліцензію на старому домені й активуйте на новому самі. Для студій — ключі на 5, 25 сайтів або без обмежень.

Технічні вимоги

  • WordPress 6.2+ (перевірено на 7.1).
  • WooCommerce 6.0+ (перевірено на 10.7).
  • PHP 7.4+.
  • Працює з HPOS (власні таблиці замовлень) і з блоковим кошиком та чекаутом — сумісність оголошена явно.
  • Для перевірки ендпоінта потрібні вихідні HTTP-запити з сайту (стандартний WP HTTP API).

Історія версій

v1.0.0 Поточна

Скан за розкладом, журнал інцидентів, дайджест на пошту, ручний скан, автоматичне відновлення з попередньою пробою ендпоінта, скидання лічильника невдач, захист від «мигання», ретенція.

Разом з Webhook Watchdog для WooCommerce купують

4 модулі одним замовленням — на 40% дешевше, ніж окремо

Набір «Старт магазину» Webhook Watchdog Nova Poshta Premium Mono Acquiring Telegram-сповіщення і Viber/SMS покупцям Потрібно більше — усі 173 модулі в All Access за 4 990 ₴.
2 490 ₴ / рік замість 4 160 ₴ поштучно
Купити набір →

Повний опис модуля

WooCommerce веде лічильник невдалих доставок на кожному вебхуку. Після пʼятої поспіль він ставить вебхуку статус disabled — і не каже про це нікому. Ні листа, ні повідомлення в адмінці, ні запису там, куди власник магазину зазирає.

Історія завжди одна й та сама: інтеграція на тому кінці — Printful, CRM, склад, бухгалтерія — просто перестає отримувати замовлення, а магазин дізнається про це за кілька днів від клієнта або з ненадісланої посилки. На екрані вебхуків написано «Вимкнено», і ніде не пояснено ні коли, ні чому, ні скільки разів так уже було.

Цей модуль — та сама відсутня половина.

Як це виглядає для покупця

Ніяк — і це правильно. Модуль не додає нічого на вітрину, не втручається в кошик, чекаут чи листи покупцям і не сповільнює жодної сторінки магазину. Він працює лише в адмінці й за розкладом.

Що отримує адмін

Перевірка вебхуків за розкладом — кожні 15 хвилин, щогодини, двічі на добу або раз на добу, на вибір. Плюс кнопка «Сканувати зараз», коли треба перевірити просто зараз.

Журнал інцидентів — окремий екран зі своєю таблицею: коли знайдено, який вебхук, топік, URL доставки, скільки доставок провалилось, що зроблено і що відповів ендпоінт. Фільтри за результатом: тільки повідомлено, відновлено, ендпоінт лежить, ліміт вичерпано, не вдалося.

Саме журнал відповідає на питання, на яке не відповідає ні WooCommerce, ні панель самої інтеграції: як довго ця інтеграція вже збоїть і як часто.

Лист — один дайджест на скан, а не лист на кожен вебхук. Коли лягає ендпоінт, він забирає з собою всі свої вебхуки одразу, і дванадцять однакових листів о третій ночі вчать фільтрувати відправника, а не лагодити ендпоінт.

Як це працює — крок за кроком

  1. За розкладом модуль питає WooCommerce, які вебхуки зараз у статусі disabled (за бажанням — ще й paused).
  2. На кожен такий вебхук пишеться інцидент: топік, URL, лічильник невдач, попередній статус.
  3. У режимі «тільки повідомити» на цьому все й завершується — стан магазину не змінюється, ви просто дізнаєтесь.
  4. У режимі відновлення модуль спершу перевіряє, чи ендпоінт узагалі відповідає: звичайний HEAD, з відкатом на GET, якщо HEAD віддає 405.
  5. Якщо відповіді нема або прийшло 5xx — вебхук лишається вимкненим, а в журналі й у листі пишеться точна причина (аж до тексту помилки cURL).
  6. Якщо ендпоінт живий — вебхук вмикається назад, і разом зі статусом скидається лічильник невдач.
  7. Записи інцидентів старші за заданий строк видаляються самі.

Проба навмисно ніколи не повторює той payload, який не дійшов. Повторно надіслати справжній вебхук замовлення на ендпоінт, стан якого невідомий, — це рівно той шлях, яким склад відвантажує те саме замовлення двічі. Проба відповідає лише на питання «чи хтось узагалі слухає за цією адресою», і саме воно вирішує, чи варто пробувати вмикати.

Будь-яка HTTP-відповідь, включно з 4xx, вважається ознакою життя: ендпоінт, який відхиляє голий GET, але приймає підписаний POST, — це абсолютно нормально, і це все одно доказ, що хост піднятий.

Що під капотом

Власна таблиця інцидентів — рядок на кожен випадок, коли вебхук знайдено вимкненим, з тим, що з ним зробили. Це те, чого немає ні у WooCommerce, ні в панелі інтеграції: історія, за якою видно повторюваність.

Скидання failure_count при відновленні — не косметика. WooCommerce порівнює поточний лічильник із порогом, тож вебхук, увімкнений із лічильником, що лишився на пʼятірці, помирає знову на наступній же невдачі. Саме цю помилку роблять, коли вмикають вебхук руками.

Захист від «мигання» рахує саме відновлення, а не згадки: вебхук, про який десять разів повідомили, нічого з ліміту не витратив. Без цього обмеження вебхук, чий ендпоінт зламаний так, що проба цього не бачить, воскресав би вічно — по пʼять справжніх запитів за раз.

Проходження загорнуте так, що збій усередині не валить чергу завдань WordPress: сторожовий пес, який падає з фаталом, забирає з собою всі інші заплановані задачі магазину.

Модуль не чіпає таблиці замовлень і нічого нікуди не надсилає, крім листа на вашу власну адресу і проби на той URL доставки, який ви самі вказали у WooCommerce.

Як встановити

  1. Плагіни → Додати новий → Завантажити плагін → zip → активувати. WooCommerce має бути активним.
  2. У меню адмінки зʼявиться Webhook Watchdog.
  3. Лишіть режим «тільки повідомити» на кілька днів — щоб побачити, що насправді відбувається у вашому магазині.
  4. Після цього вирішуйте, чи вмикати автоматичне відновлення.

Питання
про модуль

Не знайшли відповідь? Напишіть у Telegram — відповімо протягом робочого дня.

@catcode_support Налаштування, сумісність, активація
Чому мій вебхук узагалі вимикається?

WooCommerce збільшує лічильник невдач на кожній доставці без 2xx і після пʼятої ставить статус «вимкнено». Достатньо короткої аварії на боці отримувача.

Чи перешле він доставки, які загубились?

Ні. WooCommerce не зберігає payload невдалих доставок, а вигадувати заміну гірше за пропуск.

Чи не почне він вмикати вебхук, який я вимкнув навмисно?

Ні. Вручну поставлений paused за замовчуванням не чіпається — це окремий перемикач.

Скільки він навантажує сайт?

Один запит по індексу плюс одна легка HTTP-проба на кожен зламаний вебхук. Коли все справне — проб нема.

Що буде при видаленні плагіна?

Журнал видаляється тільки при повному видаленні, а не при деактивації.

Не той варіант, що шукаєте?

Робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.

Замовити кастомний модуль