Browse Abandoned Recovery Integrations

If you want to create an integration where if a user does an activity on a store where using a third-party checkout solution - you can use QuickReply.ai integration to directly sync the events to QuickReply.ai where QuickReply.ai facilitates the messaging to the customer while maintaining a healthy personalised messaging sequence!

Flow Sequence

The flow scope looks like this:

  1. The checkout partner recognizes a user's activity on the user's website including a product view/ collection view/ add to cart/ checkout initiated/ etc.

  2. The checkout partner then keeps the buffer (e.g. 15 minutes) where if duplicate events of the same kind are done only the latest event is considered.

  3. Once the considered event is found - the checkout partner sends the event data to QuickReply.ai's endpoint - which will be unique for each store.

  4. QuickReply.ai schedules the recovery messages for the users in the future as per the personalisation requirements of the brand

  5. To exit the events in case of recoveries happening on checkout partner's end - QuickReply.ai uses an API extended by the checkout partner to fetch the recent events for the user and if a consecutive event is found - the journey exits for the user.

This approach extends the opportunity of integrations with multiple platforms with an efficient approach.

Event Webhooks

Add to Cart

{
  "event_id": "21h2sfef-56e0-4a1c-81ad-ff84j3615e22",
  "event_name": "cart_update",
  "sub_event_name": "add_to_cart | remove_from_cart",
  "timestamp": "2024-10-08T06:30:35.858469+00:00",
  "customer": {
    "customer_id": "21h2sfef-56e0-4a1c-81ad-ff84j3615e22",
    "email": "email@gmail.co",
    "phone": "+919876543210",
    "name": "Test User"
  },
  "event_data": {
    "empty_cart": false,
    "cart_link": "https://store.com/cart/3284672934",
    "recent_product_image": "https://sample.com/aa8ab4876d3d.jpg",
    "price": {
      "amount": 600,
      "currency": "INR"
    },
    "line_items": [
      {
        "quantity": 1,
        "title": "Denim Shirt - Blue",
        "line_price": "600.00",
        "variant_id": 45471627190248,
        "product_id": 8498962518296,
        "product_url": "https://sample.com/8498962518296",
        "image_url": "https://sample.com/test.jpg"
      }
    ],
    "items_added": [
      {
        "quantity": 1,
        "title": "Denim Shirt - Black",
        "line_price": "600.00",
        "variant_id": 45471627190249,
        "product_id": 8498962518299,
        "product_url": "https://sample.com/8498962518296",
        "image_url": "https://sample.com/test.jpg"
      }
    ],
    "items_removed": []
  }
}

Remove from Cart

{
  "event_id": "21h2sfef-56e0-4a1c-81ad-ff84j3615e22",
  "event_name": "cart_update",
  "sub_event_name": "add_to_cart | remove_from_cart",
  "timestamp": "2024-10-08T06:30:35.858469+00:00",
  "customer": {
    "customer_id": "21h2sfef-56e0-4a1c-81ad-ff84j3615e22",
    "email": "email@gmail.co",
    "phone": "+919876543210",
    "name": "Test User"
  },
  "event_data": {
    "empty_cart": false,
    "cart_link": "https://store.com/cart/3284672934",
    "recent_product_image": "https://sample.com/aa8ab4876d3d.jpg",
    "price": {
      "amount": 600,
      "currency": "INR"
    },
    "line_items": [
      {
        "quantity": 1,
        "title": "Denim Shirt - Blue",
        "line_price": "600.00",
        "variant_id": 45471627190248,
        "product_id": 8498962518296,
        "product_url": "https://sample.com/8498962518296",
        "image_url": "https://sample.com/test.jpg"
      }
    ],
    "items_added": [],
    "items_removed": [
      {
        "quantity": 1,
        "title": "Denim Shirt - Black",
        "line_price": "600.00",
        "variant_id": 45471627190249,
        "product_id": 8498962518299,
        "product_url": "https://sample.com/8498962518296",
        "image_url": "https://sample.com/test.jpg"
      }
    ]
  }
}

Product Viewed

{
  "event_id": "21h2sfef-56e0-4a1c-81ad-ff84j3615e22",
  "event_name": "product_view",
  "timestamp": "2024-10-08T06:30:35.858469+00:00",
  "customer": {
    "customer_id": "21h2sfef-56e0-4a1c-81ad-ff84j3615e22",
    "email": "email@gmail.co",
    "phone": "+919876543210",
    "name": "Test User"
  },
  "event_data": {
    "product_id": 8498962518296,
    "variant_id": 45471627190248,
    "title": "Denim Shirt - Blue",
    "currency": "INR",
    "price": 600,
    "quantity": 1,
    "line_price": "600.00",
    "product_url": "https://sample.com/8498962518296",
    "image_url": "https://sample.com/test.jpg"
  }
}

Collection Viewed

{
  "event_id": "21h2sfef-56e0-4a1c-81ad-ff84j3615e22",
  "event_name": "collection_view",
  "timestamp": "2024-10-08T06:30:35.858469+00:00",
  "customer": {
    "customer_id": "21h2sfef-56e0-4a1c-81ad-ff84j3615e22",
    "email": "email@gmail.co",
    "phone": "+919876543210",
    "name": "Test User"
  },
  "event_data": {
    "product_id": 8498962518296,
    "variant_id": 45471627190248,
    "title": "Denim Shirt - Blue",
    "line_price": "600.00",
    "collection_url": "https://sample.com/8498962518296",
    "image_url": "https://sample.com/test.jpg"
  }
}

Journey Exit API

To exit the events in case of recoveries happening on checkout partner's end - QuickReply.ai uses an API extended by the checkout partner to fetch the recent events for the user and if a consecutive event is found - the journey exits for the user.

This API consumes a unique ID of the user (e.g. customer_id) and then shares the recent N events done by the user on the store.

Journey Exit API with customer_id in Request Body

curl --location --request GET 'https://your-domain.com/fetch-user-events' \
--header 'Content-Type: application/json' \
--data '{
    "customer_id": "21h2sfef-56e0-4a1c-81ad-ff84j3615e22",
    "event_count" : 5
}'

Journey Exit API with customer_id in URL Parameter

curl --location 'https://your-domain.com/fetch-user-events?customer_id=21h2sfef-56e0-4a1c-81ad-ff84j3615e22&event_count=5'

Journey Exit API's Response

{
  "customer_id": "21h2sfef-56e0-4a1c-81ad-ff84j3615e22",
  "recent_events": [
    {
      "event_name": "cart_update",
      "sub_event_name": "add_to_cart",
      "timestamp": "2024-10-09T06:30:35.858469+00:00"
    },
    {
      "event_name": "product_view",
      "timestamp": "2024-09-08T06:30:35.858469+00:00"
    },
    {
      "event_name": "collection_view",
      "timestamp": "2024-05-06T06:30:35.858469+00:00"
    }
  ],
  "customer": {
    "customer_id": "21h2sfef-56e0-4a1c-81ad-ff84j3615e22",
    "email": "email@gmail.co",
    "phone": "+919876543210",
    "name": "Test User"
  }
}

Last updated

Was this helpful?