Outbound Webhooks
Отправка подписанных HTTP-вебхуков при событиях create, update и delete в коллекциях Payload CMS через очередь задач Jobs Queue.
Установка
pnpm add payload-plugin-outbound-webhooks Описание
В Payload нет встроенного механизма отправки POST-запросов при изменении документов, и плагин восполняет этот пробел. Он добавляет хуки afterChange и afterDelete к коллекциям из списка collections и при их срабатывании ставит задачу доставки в очередь Jobs Queue. Эта задача отправляет JSON с данными события, именем коллекции, идентификатором документа, полным документом, предыдущей версией при обновлении и временем события на все подписанные URL. Доставка идёт через очередь задач, поэтому она не блокирует основной процесс и переживает рестарты, что удобно для интеграции Payload с Zapier, Make, n8n, CRM или любым HTTP-сервисом. Вы сами выбираете, какие коллекции и события отслеживать: create, update и delete. Адреса конечных точек можно жёстко задать в массиве endpoints или позволить редакторам управлять ими через коллекцию webhookEndpoints, которую плагин добавляет в админку по умолчанию. Сопоставление событий с конечными точками работает по шаблонам подписки: orders.create, orders.* или *.delete, где звёздочка выступает подстановочным знаком с любой стороны. Функция filter на уровне коллекции позволяет дополнительно ограничить срабатывание, например публиковать вебхук только при переходе в статус published. Доставка гарантируется хотя бы один раз. Сетевые ошибки, таймауты и ответы с кодами 5xx, 408 и 429 помечают задачу как неудачную, и очередь повторяет её до maxRetries раз (по умолчанию 5). Остальные ответы 4xx считаются постоянными: они записываются в лог, но не ретраятся, так как повторный идентичный запрос приведёт к тому же результату. Встроенный circuit-breaker отключает конечную точку после failureThreshold подряд идущих неудач (по умолчанию 5, 0 отключает), чтобы мёртвый адрес перестал расходовать попытки. Для конечных точек из админки счётчик хранится в их документе, для статических берётся история из коллекции webhookLogs с восстановлением через half-open probe после паузы. И circuit-breaker, и логика пропуска повторов работают только при включённом enableDeliveryLog (он включён по умолчанию). Если у конечной точки задан secret, запрос подписывается заголовком X-Webhook-Signature в формате t=<timestamp>,v1=<hmac-sha256 hex digest>, вычисленным по телу запроса. Плагин экспортирует функцию verifyPayloadSignature, которая проверяет подпись и отклоняет повторы старше 5 минут через параметр toleranceSeconds. Каждый запрос также несёт заголовки X-Webhook-Event и X-Webhook-Id, где идентификатор дублирует deliveryId, неизменный между повторами, так что получателю следует дедуплицировать по нему, а не по паре event и docId.
О пакете
- Имя пакета
payload-plugin-outbound-webhooks- Последняя версия
0.3.5- Размер
- 58 кБ
- Лицензия
- MIT
- Загрузок в неделю
- 10
- Последняя публикация
- 20 сент. 2026 г.
Похожие плагины
Ещё в категории «Рабочие процессы»Reservation and Booking Manager
Управляйте бронями и заказами в Payload CMS с системой расписания и обнаружением конфликтов.
Scheduled posts
Добавляет поле даты для планирования публикаций в Payload CMS.
Booking
Плагин бронирования встреч для Payload CMS 3.x с защитой от двойного бронирования на уровне базы данных, отменой по magic-link и транзакционными письмами.
Audit
Плагин для Payload CMS, который ведет неизменяемый журнал аудита всех изменений в коллекциях.
Stock Alerts
Отправляет письмо при падении остатков товара или варианта ниже порога, с поддержкой бэкордера и публичным полем статуса.
Fulfillment
Добавляет статусы выполнения заказа, историю переходов, внутренние заметки и поля для трекинга в коллекцию заказов Payload ecommerce.