
Webhook Watchdog для WooCommerce — сторож вебхуков
WooCommerce отключает вебхук после 5 неудачных доставок и не предупреждает. Плагин находит такие вебхуки, ведёт журнал инцидентов и шлёт дайджест. Pro включает их обратно после проверки эндпоинта.
- Совместимость
- WordPress 6.2+, WooCommerce 6.0+ (проверено на WP 7.1 / Woo 10.7)
- PHP
- 7.4 и новее
- Лицензия
- один сайт, годовая
- Триал
- 7 дней, без карты, один на сайт
Модуль в работе — 41 секунда
Понятно и без звука: субтитры на украинском
Что есть во Free,
а что даёт Pro
Бесплатная версия работает без ограничения по времени. Pro добавляет остальные функции из таблицы.

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

Один ключ — один сайт
Переносите магазин — отвяжите лицензию на старом домене и активируйте на новом сами. Если наш сервер недоступен, Pro работает ещё 14 дней.
Технические требования
WordPress 6.2+ (проверено на 7.1).
WooCommerce 6.0+ (проверено на 10.7).
PHP 7.4+.
Работает с HPOS (собственные таблицы заказов) и с блочной корзиной и чекаутом — совместимость объявлена явно.
Для проверки эндпоинта нужны исходящие HTTP-запросы с сайта (стандартный WP HTTP API).
История версий
Скан по расписанию, журнал инцидентов, дайджест на почту, ручной скан, автоматическое восстановление с предварительной пробой эндпоинта, сброс счётчика неудач, защита от «мигания», ретенция.
Вместе с Webhook Watchdog для WooCommerce покупают
4 модуля одним заказом — на 40% дешевле, чем по отдельности


Nova Poshta Premium — модуль Новая Почта для OpenCart 2.3, 3.x и 4.x

LiqPay — оплата картой для OpenCart 2.3, 3.x и 4.x

Telegram-уведомления и Viber/SMS покупателям для OpenCart
Полное описание модуля
WooCommerce ведёт счётчик неудачных доставок на каждом вебхуке. После пятой подряд он ставит вебхуку статус disabled — и никому об этом не говорит. Ни письма, ни уведомления в админке, ни записи там, куда владелец магазина заглядывает.
История всегда одна и та же: интеграция на том конце — Printful, CRM, склад, бухгалтерия — просто перестаёт получать заказы, а магазин узнаёт об этом через несколько дней от клиента или по неотправленной посылке. На экране вебхуков написано «Отключено», и нигде не объяснено ни когда, ни почему, ни сколько раз так уже было.
Этот модуль — та самая недостающая половина.
Как это выглядит для покупателя
Никак — и это правильно. Модуль ничего не добавляет на витрину, не вмешивается в корзину, чекаут или письма покупателям и не замедляет ни одной страницы магазина. Он работает только в админке и по расписанию.
Что получает админ
Проверка вебхуков по расписанию — каждые 15 минут, ежечасно, дважды в сутки или раз в сутки, на выбор. Плюс кнопка «Сканировать сейчас», когда нужно проверить прямо сейчас.
Журнал инцидентов — отдельный экран со своей таблицей: когда найдено, какой вебхук, топик, URL доставки, сколько доставок провалилось, что сделано и что ответил эндпоинт. Фильтры по результату: только уведомлено, восстановлено, эндпоинт лежит, лимит исчерпан, не удалось.
Именно журнал отвечает на вопрос, на который не отвечает ни WooCommerce, ни панель самой интеграции: как долго эта интеграция уже сбоит и как часто.
Письмо — один дайджест на скан, а не письмо на каждый вебхук. Когда ложится эндпоинт, он забирает с собой все свои вебхуки сразу, и двенадцать одинаковых писем в три часа ночи учат фильтровать отправителя, а не чинить эндпоинт.
Как это работает — шаг за шагом
- По расписанию модуль спрашивает WooCommerce, какие вебхуки сейчас в статусе
disabled(по желанию — ещё иpaused). - На каждый такой вебхук пишется инцидент: топик, URL, счётчик неудач, предыдущий статус.
- В режиме «только уведомить» на этом всё и заканчивается — состояние магазина не меняется, вы просто узнаёте.
- В режиме восстановления модуль сначала проверяет, отвечает ли эндпоинт вообще: обычный HEAD, с откатом на GET, если HEAD отдаёт 405.
- Если ответа нет или пришёл 5xx — вебхук остаётся отключённым, а в журнале и в письме пишется точная причина (вплоть до текста ошибки cURL).
- Если эндпоинт жив — вебхук включается обратно, и вместе со статусом сбрасывается счётчик неудач.
- Записи инцидентов старше заданного срока удаляются сами.
Проба намеренно никогда не повторяет тот payload, который не дошёл. Повторно отправить настоящий вебхук заказа на эндпоинт, состояние которого неизвестно, — это ровно тот путь, которым склад отгружает один и тот же заказ дважды. Проба отвечает только на вопрос «слушает ли вообще кто-то по этому адресу», и именно он решает, стоит ли пытаться включать.
Любой HTTP-ответ, включая 4xx, считается признаком жизни: эндпоинт, который отклоняет голый GET, но принимает подписанный POST, — это абсолютно нормально, и это всё равно доказательство, что хост поднят.
Что под капотом
Собственная таблица инцидентов — строка на каждый случай, когда вебхук найден отключённым, с тем, что с ним сделали. Это то, чего нет ни в WooCommerce, ни в панели интеграции: история, по которой видна повторяемость.
Сброс failure_count при восстановлении — не косметика. WooCommerce сравнивает текущий счётчик с порогом, так что вебхук, включённый со счётчиком, оставшимся на пятёрке, умирает снова при следующей же неудаче. Именно эту ошибку делают, когда включают вебхук руками.
Защита от «мигания» считает именно восстановления, а не упоминания: вебхук, о котором десять раз уведомили, ничего из лимита не потратил. Без этого ограничения вебхук, чей эндпоинт сломан так, что проба этого не видит, воскресал бы вечно — по пять настоящих запросов за раз.
Проход обёрнут так, что сбой внутри не валит очередь задач WordPress: сторожевой пёс, который падает с фаталом, забирает с собой все остальные запланированные задачи магазина.
Модуль не трогает таблицы заказов и ничего никуда не отправляет, кроме письма на ваш собственный адрес и пробы на тот URL доставки, который вы сами указали в WooCommerce.
Как установить
- Плагины → Добавить новый → Загрузить плагин → zip → активировать. WooCommerce должен быть активен.
- В меню админки появится Webhook Watchdog.
- Оставьте режим «только уведомить» на несколько дней — чтобы увидеть, что на самом деле происходит в вашем магазине.
- После этого решайте, включать ли автоматическое восстановление.
Вопросы
о модуле
Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.
Почему мой вебхук вообще отключается?
WooCommerce увеличивает счётчик неудач на каждой доставке без 2xx и после пятой ставит статус «отключено». Достаточно короткой аварии на стороне получателя.
Перешлёт ли он доставки, которые потерялись?
Нет. WooCommerce не хранит payload неудачных доставок, а придумывать замену хуже пропуска.
Не начнёт ли он включать вебхук, который я отключил намеренно?
Нет. Вручную поставленный paused по умолчанию не трогается — это отдельный переключатель.
Насколько он нагружает сайт?
Один запрос по индексу плюс одна лёгкая HTTP-проба на каждый сломанный вебхук. Когда всё исправно — проб нет.
Что будет при удалении плагина?
Журнал удаляется только при полном удалении, а не при деактивации.
Пока нет ни одного отзыва. Будьте первым.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Не тот вариант, что искали?
Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.
Заказать кастомный модуль
Покупка модуля
—


