WooCommerce
WooCommerce has a built-in webhook system you configure from the WordPress admin. Splashify wires the two most useful events:
| Event | Typical template |
|---|---|
order.created | Order received confirmation |
order.updated | Status change (processing / shipped / refunded) |
Prerequisites
- WordPress site with WooCommerce active
- WordPress admin (or shop manager) access
- Approved WhatsApp templates in Splashify
Setup
1. Copy the Splashify webhook URL
Integrations → WooCommerce in Splashify → copy:
https://apis.splashifypro.com/api/v1/webhooks/integrations/<your-user-id>/woocommerce2. Create the webhooks in WooCommerce
WordPress admin → WooCommerce → Settings → Advanced → Webhooks → Add webhook.
Create two webhooks (one per topic):
Webhook 1:
| Field | Value |
|---|---|
| Name | Splashify — Order Created |
| Status | Active |
| Topic | Order created |
| Delivery URL | URL from step 1 |
| Secret | Generate a strong random string (32+ chars). Keep for next step. |
| API Version | v3 |
Webhook 2:
| Field | Value |
|---|---|
| Name | Splashify — Order Updated |
| Status | Active |
| Topic | Order updated |
| Delivery URL | URL from step 1 |
| Secret | Same secret as above |
| API Version | v3 |
Both webhooks must share the same secret since Splashify stores one secret per integration.
3. Paste secret + configure in Splashify
Configuration tab:
-
Webhook Secret → paste the random string from step 2.
-
Event Automations — for each event:
order.created-
Phone field:
billing.phone -
Variables:
Var Field path Sample {{1}}billing.first_nameArjun{{2}}number1042{{3}}total1299.00{{4}}currencyINR
order.updated- Phone field:
billing.phone - Variables — include
status(processing,completed,refunded, etc.) so the message reflects the new state.
-
-
Toggle Enabled → Save.
4. Test
Place a test order on the storefront. WooCommerce fires both webhooks (created at checkout, updated when you mark it Processing in admin). Check Integrations → WooCommerce → Logs.
Payload reference
WooCommerce sends the full order object directly. Key fields:
id,number(customer-facing),status(pending/processing/completed/cancelled/refunded)total,currency,payment_method_titlebilling.{first_name, last_name, email, phone, address_1, city, postcode}shipping.*(same shape as billing)line_items[](array — not addressable via field path yet)date_created_gmt,date_modified_gmt
Full reference: WooCommerce REST API → Order properties .
Common gotchas
- Two webhooks, one secret. If you use different secrets, one topic will always fail signature verify.
- Event detection uses the
X-WC-Webhook-Topicheader. Don’t strip headers at a proxy (Cloudflare, load balancer) that sits between WordPress and Splashify. - Local/staging sites. WooCommerce can’t reach
https://apis.splashifypro.comfrom a site that isn’t on the public internet. Use a test order on a staging domain that’s publicly reachable. - Delayed delivery. WooCommerce can delay webhook delivery up to 5 minutes under load. That’s a WordPress cron quirk. Install WP Crontrol to debug.