Product Webhook
From €0.00
To €350.00
In stock
Automatically dispatch product data to external systems when products are created or updated in Magento. SSRF-protected HTTPS delivery with optional RabbitMQ async queue. Configurable attribute whitelist and sensitive data filtering. Zero performance impact on the admin.
Product Webhook for Magento 2
Keep external systems in sync with your Magento product catalogue without polling. Every time a product is saved — through the admin or via REST API — this module fires a secure HTTP webhook to your endpoint with the configured product attributes. Use it to push products to a PIM, PDP, search index, data warehouse, or any third-party enrichment service.
Security-First Design
- HTTPS-only — all webhook destinations must use TLS
- SSRF protection — blocks localhost, RFC-1918 private IP ranges, and the AWS metadata endpoint (
169.254.169.254) - Sensitive data filtering — auto-removes cost price, internal IDs, and password fields; configurable whitelist/blacklist
- ACL permission — only admins with
Magendoo_ProductWebhook::configcan modify settings
Synchronous or Asynchronous Delivery
- Synchronous — fires inline on product save; simple but adds latency to admin saves
- RabbitMQ Queue (recommended) — dispatches to
magendoo.productdataqueue; consumed bymagendoo_productdata_consumerin the background; zero impact on admin response time
Webhook Payload
A JSON object containing the configured attribute whitelist:
{
"sku": "PRODUCT-SKU-123",
"name": "Product Name",
"price": 99.99,
"status": "1",
"visibility": "4",
"type_id": "simple",
"store_id": 1,
"entity_id": 123
}
Configuration
Admin → Stores → Configuration → Magendoo → Product Webhook
- Enable / disable the webhook
- Destination endpoint URL (HTTPS required)
- Synchronous or RabbitMQ async delivery
- HTTP request timeout (default: 10 s)
- Allowed attributes — comma-separated whitelist (e.g.
sku,name,price,status,visibility,type_id,weight)
Starting the Queue Consumer
bin/magento queue:consumers:start magendoo_productdata_consumer
Add this to your cron or process manager (Supervisor, systemd) to ensure continuous processing.
Logging
All delivery attempts (success and failure) are written to var/log/product_webhook.log with request URL, HTTP status, and payload summary.
Installation
composer require magendoo/module-product-webhook
bin/magento module:enable Magendoo_ProductWebhook
bin/magento setup:upgrade && bin/magento setup:di:compile
bin/magento cache:flush
Requirements
- Magento 2.4.x
- PHP 8.1, 8.2, or 8.3
- RabbitMQ (optional, required for async delivery)
License: MIT | View on GitHub