Product guide
Durable Web Event Outbox
Store an event and its idempotency identity locally, then retry signed delivery to a webhook or custom sinks with visible failure states.
- Published version
- 1.2.6
- Compatibility
- WordPress 6.3 minimum ; 6.3, 6.9.7 et 7.1.3 testés, PHP 7.4 minimum ; 7.4.33, 8.3.36 et 8.4.27 testés sur le ZIP 1.2.5
- Product page (French)
- Journal d’événements durable pour WordPress
Prerequisites
| Component | Requirement |
|---|---|
| WordPress | 6.3 or newer |
| PHP | 7.4 or newer |
| Database | InnoDB for the event and identity tables |
| Optional | A reachable public HTTPS webhook or a custom sink |
The plugin runs on the merchant’s WordPress installation; WooCommerce is not required. English is the source language and a French translation is bundled.
Installation
Back up your WordPress database and installed plugin files. Keep the previous ZIP and test restoration before changing a live shop.
In the Novelience customer area, open Mes produits et licences (My products and licences). Download durable-web-event-outbox-1.2.6.zip (version 1.2.6) and compare its SHA-256 with the product page: 4848136c7ce4625e2bec7ce1416f38cd13c68f153a47a67817e46700a19f107b.
In WordPress, open Plugins › Add New › Upload Plugin, select the ZIP, and activate it. For an update, choose to replace the existing plugin in place; do not uninstall the old version first.
Check existing settings and run the product-specific checks below on your own theme, checkout and integrations.
In Settings › Web events, configure a public HTTPS destination and its HMAC secret, or register a sink with wp_web_events_deliver. Private and local network webhook destinations are refused.
Have the receiver verify X-Web-Event-Signature against the raw body and timestamp, return 2xx only after accepting it, and deduplicate by event ID.
Emit a small non-personal test payload with wp_web_events_emit() and check its return value. Confirm the receiver, queue counters, retry controls and WP-CLI status.
Configuration
Configure a public HTTPS webhook with an HMAC secret or register custom sinks. Check the status screen and the receiver signature verification before relying on delivery.
Usage
- The event and its idempotency identity are written in one local transaction. Your separate business write and any remote receiver effect are outside it.
- The same event name and idempotency key return the stored event only if content matches; conflicting content is rejected.
- All destinations must succeed before the event is marked delivered. A destination that already succeeded can receive a replay when another destination failed.
- Delivery runs after emission and on a five-minute schedule. Transient errors are retried with backoff; after ten failed attempts the event needs manual retry. Remote delivery is never guaranteed.
- Common personal-data keys, credential patterns and oversized payloads are refused, but the heuristic cannot prove that arbitrary free text is anonymous. Emit minimal non-personal data only.
- With no configured destination, events remain pending and are not purged as delivered events. Monitor the queue and set an appropriate retention policy.
Update and rollback
Replace the ZIP in place and check old events, identities, settings and a signed delivery. Keep a database backup and the old ZIP. A prior version may have different PHP requirements and may accept webhook URLs that this version rejects; test a rollback before using it. Never restore an old database over newer live events without assessing the data loss.
Limitations
Published version
| Field | Current direct release |
|---|---|
| Version | 1.2.6 |
| ZIP | durable-web-event-outbox-1.2.6.zip |
| SHA-256 | 4848136c7ce4625e2bec7ce1416f38cd13c68f153a47a67817e46700a19f107b |
The ZIP named above is the current Novelience direct release. A Woo Marketplace or WordPress.org package, if any, has its own review and publication state.
Support
Need help with installation or setup?
Written support is available in English and French.