Wutt for Ecommerce: WhatsApp Automation for Orders, Support, and Cart Recovery
WhatsApp automation for ecommerce turns WhatsApp into the post-purchase, cart-recovery, and support channel your customers already use. Wutt connects to your store (Salla, Zid, Shopify, WooCommerce, custom), syncs orders, and fires the right template at the right moment — with the customer name, the cart URL, and the order ID already filled in. This page shows the real flow and the cart-recovery JSON you would post to the Wutt API.
The real order flow (Salla / Zid / Shopify / WooCommerce)
Visitor adds to cart on store -> abandons checkout
|
v
Store fires cart.abandoned webhook to Wutt
Wutt creates/updates the contact + cart
|
v
+1h -> cart_recovery_v1 (soft reminder)
+24h -> cart_recovery_v2 (10% off code)
+72h -> cart_last_chance_v1 (free shipping, last call)
|
v
Customer taps the link, completes checkout
|
v
Store fires order.created webhook
Wutt logs the order, links it to the contact
|
v
If COD -> cod_confirm_v1 (verify address + amount)
|
v
Order shipped -> shipping_update_v1 (with tracking URL)
Order delivered -> delivery_thanks_v1
|
v
T+5 days -> review_request_v1
T+30 days -> reorder_recommend_v1 (based on last purchase)
Cart-recovery template body
This is the exact template body approved in Wutt Templates. The double-brace {{ }} placeholders are filled by Wutt at send time using the contact and cart objects.
TEMPLATE: cart_recovery_v1
CATEGORY: MARKETING
LANGUAGE: en (also create cart_recovery_ar_v1 in Arabic)
HEADER: Image (first product in the cart)
BODY:
Hi {{1}}, you left {{2}} in your cart.
Your total is {{3}} SAR. We will hold it for 24 hours.
Tap below to come back.
BUTTONS:
[View cart] -> URL {{4}} (deep link into the store)
[Apply 10%] -> URL {{4}}?coupon=COMEBACK10
[Remove item] -> quick reply payload=remove_item
Variable mapping (what Wutt fills into the placeholders)
| Variable | Source | Example |
|---|---|---|
{{1}} customer_name | contact.first_name | Sara |
{{2}} cart_summary | cart.items[0..2].name | "Navy abaya + 2 scarves" |
{{3}} cart_total | cart.total with currency | 349 SAR |
{{4}} cart_url | store.cart_recovery_url | https://store.example.com/c/r-9f3a |
The cart-recovery JSON (POST to Wutt API)
Use this when you want to trigger the recovery from your own backend instead of the Wutt UI. Endpoint: POST https://api.wutt.net/v1/messages/cart-recovery. Auth header: Authorization: Bearer YOUR_WUTT_API_KEY.
{
"channel": "whatsapp",
"to": "+966500000000",
"template": "cart_recovery_v1",
"language": "en",
"variables": {
"1": "Sara",
"2": "Navy abaya + 2 scarves",
"3": "349 SAR",
"4": "https://store.example.com/c/r-9f3a"
},
"buttons": [
{ "type": "url", "text": "View cart", "url": "https://store.example.com/c/r-9f3a" },
{ "type": "url", "text": "Apply 10%", "url": "https://store.example.com/c/r-9f3a?coupon=COMEBACK10" },
{ "type": "quick_reply", "text": "Remove item", "payload": "remove_item" }
],
"header": {
"type": "image",
"url": "https://cdn.example.com/products/navy-abaya-1.jpg"
},
"contact": {
"phone": "+966500000000",
"first_name": "Sara",
"tags": ["cart-abandoner", "source:instagram"]
},
"attribution": {
"source": "cart_recovery",
"campaign": "spring-sale-2026",
"cart_id": "r-9f3a"
}
}
Order tracking and returns (same channel)
After the order is placed, the same contact stays in Wutt Inbox. Agents see the order, the items, the tracking number, and the customer’s previous conversations in one view. Return requests are handled with a one-click template:
TEMPLATE: return_request_v1
BODY: "Hi {{1}}, your return for order {{2}} is confirmed."
"A courier will collect the item on {{3}} between {{4}} and {{5}}."
BUTTONS: [Reschedule pickup] [Change item] [Talk to support]
Start $1 trial — recover carts on WhatsApp this week.
Wutt connects to Salla, Zid, Shopify, WooCommerce, and your custom store. Try it for $1.
Start $1 trial