Configure Ecom360 webhook notifications to send data directly to your WhatsApp Business Service Provider (BSP). Once set up, the webhook sends structured JSON payloads to the BSP’s callback URL whenever a customer abandons a checkout. The payload includes customer contact details, cart contents, a dynamic link to resume checkout, and other relevant metadata. This enables BSPs to automatically trigger WhatsApp messages for timely retargeting. This setup supports both Shopify and Cashfree OCC checkout flows. After configuration, the process runs automatically with no manual input required.

Setting up webhook notifications for WhatsApp provider

Follow these steps to subscribe to the abandonedCheckout webhook topic:
  1. Get the callback URL where you want to receive event notifications from the webhook consumer (e.g., business service providers such as Spur, LimeChat, Gupshup, Whitespeed, or BiteSpeed).
  2. Generate the webhook key using the below steps:
    • Go to the Ecom Dashboard.
    • Enter the callback URL.
    • Generate the webhook key.
  3. Share the generated webhook key to the webhook consumer.
  4. Share the integration steps with the WhatsApp provider.

Integration steps

The Ecom 360 Webhook monitors key events, such as abandoned checkouts, in real time. When a merchants subscribes to this webhook, it receives structured JSON payloads containing customer and order details. This allows businesses to automate actions such as sending reminders or promotional offers.

Subscribing to a webhook topic

To subscribe to the abandonedCheckout topic, provide the following details:
  • Topic name: abandonedCheckout
  • Callback URL: The URL where you want to receive event notifications.
  • Webhook version: v1
  • Secret key: Cashfree Payments provides this key to verify the authenticity of received events.
After subscribing, the webhook sends real-time notifications to the specified callback URL when an event occurs.

Sample webhook event payload

When the abandonedCheckout event triggers, the webhook sends the following payload:
{
  "event": "ABANDONED_CHECKOUT",
  "data": {
    "cart_id": "cart_123456",
    "store_url": "my-store.myshopify.com",
    "platform": "SHOPIFY",
    "cart_token": "abc123token",
    "email": "customer@example.com",
    "phone": "+1234567890",
    "abandoned_checkout_url": "https://my-store.myshopify.com/checkouts/abc123token",
    "original_total_price": 10000,
    "total_price": 8500,
    "total_discount": 1500,
    "utm_parameters": {
      "fbclid": "fbclid_123",
      "utm_campaign": "summer_sale"
    },
    "line_items": [
      {
        "product_id": "prod_001",
        "variant_id": "var_001",
        "sku": "SKU001",
        "price": 5000,
        "quantity": 2,
        "gram": 200,
        "title": "T-Shirt - Blue"
      },
      {
        "product_id": "prod_002",
        "variant_id": "var_002",
        "sku": "SKU002",
        "price": 3000,
        "quantity": 1,
        "gram": 150,
        "title": "Cap - Black"
      }
    ],
    "promotions": [
      {
        "code": "WELCOME10",
        "value": 1000
      },
      {
        "code": "SUMMER2025",
        "value": 500
      }
    ],
    "customer": {
      "email": "customer@example.com",
      "first_name": "John",
      "last_name": "Doe",
      "shipping_address": {
        "first_name": "John",
        "last_name": "Doe",
        "address1": "123 Elm Street",
        "address2": "Apt 4B",
        "city": "New York",
        "province": "NY",
        "country": "US",
        "zip": "10001",
        "phone": "+1234567890",
        "name": "John Doe",
        "province_code": "NY",
        "country_code": "US"
      }
    }
  }
}

Webhook headers

Each webhook request includes the following headers to help businesses identify and validate the request:
Header keyDescription
x-store-urlSpecifies the store URL associated with the event
x-webhook-topicIndicates the subscribed topic
x-webhook-versionDisplays the webhook version
x-webhook-signatureProvides the HMAC signature to verify authenticity
x-request-idAssigns a unique identifier for the request
User-AgentIdentifies the request as Ecom360-v1
Content-TypeDefines the payload format (application/json)
Note: For assistance with setup or further inquiries, contact your Cashfree Payments Account Manager or fill out the Support Form