Webhook Logs
The Webhook Logs page provides a real-time view of all incoming webhooks received by the middleware. This is useful for monitoring webhook health, debugging failed deliveries, and verifying signature validation.
Accessing the Page
Navigate to Middleware → Webhook Logs in the WordPress admin sidebar.
Interface Overview
The page displays webhook log entries from the rm_webhook_log table with the following columns:
| Column | Description |
|---|---|
| ID | Unique webhook log entry identifier |
| Site | The site that received the webhook |
| Event Type | Webhook event (e.g., store/product/created, store/product/updated) |
| Status | Processing status: Queued (orange), Processed (green), or Failed (red) |
| Signature | Whether HMAC-SHA256 signature verification passed (✓ Valid / ✗ Invalid) |
| Attempts | Number of processing attempts |
| Received | When the webhook was received |
| Processed | When the webhook was successfully processed |
Searching and Filtering
Search
The search field matches against:
- Event type (e.g.,
product.created) - Error messages
- Payload hash (SHA256)
Filters
- Site — Filter by a specific site
- Status — Filter by
Queued,Processed, orFailed
All filters apply immediately. The search field requires pressing Enter or clicking the Search button.
Pagination
Results are displayed 20 per page with Previous/Next navigation. The total count of matching webhooks is shown at the bottom left.
Viewing Webhook Details
Click View on any row to open a detail modal showing:
- Metadata — ID, site, event type, status, signature validity, attempts, payload hash, queue job ID, timestamps
- Headers — Full JSON of the original HTTP request headers
- Payload — Complete webhook payload in formatted JSON
- Error — Error message if processing failed (displayed in red)
Webhook Processing Flow
- Webhook received at
/wp-json/gsm-middleware/v1/webhooks/products/{site_id} - Signature verified (HMAC-SHA256 for BigCommerce)
- Logged to
rm_webhook_logwith statusqueued - Job enqueued to
rm_queuefor async processing - Queue processor picks up job (runs every 5 minutes via cron)
- On success: status →
processed,processed_attimestamp set - On failure: status →
failed,error_messagerecorded, retry via exponential backoff
Troubleshooting
Many "Failed" Webhooks
Check the error messages in the detail modal. Common causes:
- Invalid webhook secret (signature verification fails)
- Site configuration missing or inactive
- Database connection issues
Webhooks Stuck in "Queued"
The queue processor may not be running. Verify:
- Crontab includes the queue processor entry (Tools → Crontab Generator)
cron/process-queue.phpis executable- Check server cron logs for errors
Invalid Signatures
Ensure the webhook secret in the site configuration matches the secret configured in BigCommerce/WooCommerce. Secrets are stored encrypted in rm_sites.webhook_secret.
Related Pages
- Queue Management — How the queue system processes webhook jobs
- Webhooks — Webhook setup and configuration
- Log Cleanup — Automatic cleanup of old webhook log entries
- Crontab Generator — Configure queue processor schedule