How to use Return/Replacement Smart Skill?
- Getting Started
- Bot Building
- Smart Agent Chat
- Conversation Design
-
Developer Guides
Code Step Integration Static Step Integration Shopify Integration SETU Integration Exotel Integration CIBIL integration Freshdesk KMS Integration PayU Integration Zendesk Guide Integration Twilio Integration Razorpay Integration LeadSquared Integration USU(Unymira) Integration Helo(VivaConnect) Integration Salesforce KMS Integration Stripe Integration PayPal Integration CleverTap Integration Fynd Integration HubSpot Integration Magento Integration WooCommerce Integration Microsoft Dynamics 365 Integration
- Deployment
- External Agent Tool Setup
- Analytics & Reporting
- Notifications
- Commerce Plus
- Troubleshooting Guides
- Release Notes
Table of Contents
Return/ReplacementPurpose of the skillRequirementsLimitationsHow to make changes to the skill?How to analyze your skill post go-live?The Ecommerce Smart Skills are eligible to fulfill critical customer support queries. The Smart Skills are selected based on market research and user behavior of the retail vertical.
Return/Replacement
Name of the skill on Conversation Studio - return_replacement_ecommv1
Purpose of the skill - Allow user to place a return/replacement request on an ordered item
- The IVA will ask the user to select between Return/Replacement order type
- The IVA will present a list of orders eligible for Return/Replacement based on user-selected choice.
- The user can proceed by selecting a specific order for Return/Replacement
- The IVA will ask the user to provide a reason for the Return/Replace request and also the preferred time slot for the pickup.
- The IVA then creates a Return/Replace request for the selected order and sends the reference ID to the user accordingly.
What’s the design template going to look like?
The skill is designed to keep in mind quick resolution & added value to the user. Reach out to the Conversation Designer for access to the design lucidchart or PDF.
Requirements
- The smart skill assumes the end-user is authenticated already.
- If you wish to add an authentication flow within the bot, you can combine this with the OTP authentication Smart Skill.
- For users already logged into your platform (website, apps, etc), authentication can happen via custom signup.
- The client has 2 APIs already developed with them -
- Get orders via a unique User ID.
- Return/Replace order request via unique order ID, the user ID.
Limitations
This is a no-code smart skill if the APIs are developed to match the API structure added in the skill. If the business has additional rules or logic to be implemented for this use case, you will need to make changes accordingly (read more in the changes section). If the client wants to add further APIs, they will need to add more steps to this smart skill.
How to make changes to the skill?
For UI-related or bot response changes, refer to Generic smart skill.
API calls are made on 2 code steps in the skill.
API 1 - Get orders via a unique user ID(collected during authentication)
Name of step - get_recent_orders
Approach - In order to invoke the API, we need the user’s phone number (request parameter) which would have been collected during authentication.
From the API response, we will be getting a list of user’s past orders with an eligibility flag as a key which will signify whether the order is eligible for return or replacement or both. Based on this information we filter out the user’s order and display them in a carousel format in the output step.
The sequence of events in the code and where to change them-
- Section 1 is used to pull all entities & variables from other steps.
- Section 2 is used to make a call to fetchRecentOrders() function by passing a phone number as a function parameter which will return an API response that will contain all recent orders w.r.t to the user with an eligibility flag for return/replacement.
- Section 3 is used to handle API success case and checks whether the user have any recent order(s) or not and if the user has any recent_orders then it contains the logic as well to filter out the list based on user selection as the return/replace and passes the corresponding list of orders to the output step in form of carousels which will, in turn, get displayed to the user.
- Section 4 handles the API error/timeout cases.
- Section 5 is used to send the final response to the output step
- Section 6 contains the Sample API response and also API-related details which are required to invoke the API.
- Example: API endpoint, payload, header, etc which can be configured as per the requirement.
- Section 7 can be used to edit the design properties required to change the look and feel of the Carousel HSL like height and width.
- Section 8 can be used to edit actionable properties related to carousels in order to define both the existence & action of CTAs(Call to action).
- Section 9 can be used to edit details like title, sub_title, or descriptions of the carousel.
Section Name |
|
|
Section 6 - Fetches all the user’s orders & details |
|
Request:Phone number of the user { "phone_number": "8888456788" } Response: { "status": "success", "user_name": "Chris", "recent_orders_with_status": [ { "order_id": "119830552", "order_status": { "order_placed_on": "", "order_status": "Delivered", "arriving_on": " ", "delivered_on": "" }, "eligible_status": { "return": "True", "replace": "True" }, "product_name": "", "price": "INR 65000", "payment_type": "Pre-paid", "address": "", "image_url": "" ] }
|
Section 7 |
|
API 2 - Return/Replace order via a unique order ID (selected by the user)
Name of step - return/replace_item
Approach - In order to invoke the API, we need the unique orderId(request parameter) collected once the user confirms the order for which they need to place the return/replace request and returns a reference_id as API response.
The sequence of events in the code and where to change them-
- Section 1 is used to pull all entities & variables from other steps.
- Section 2 is used to make API call by calling return_replace_order() function and passing order_id and order_cancel_reason as a functional parameter and will then return a response which will contain referece_id for the request placed for the same.
- Section 3 & 4 are used to handle API success cases and API error/timeout cases respectively.
- Section 5 is used to send the final response to the output steps.
- Section 6 contains the Sample API response and also API-related details which are required to invoke the API.
Example: API endpoint, payload, header, etc which can be configured as per the requirement.
Section Name | Nature of Changes possible | API Contract |
Section 6 - Placing return/replacement request |
Request : ID of policy user wants a copy of { "order_id" : " ", "phone_number" : " ", "cancel_reason" : " " } Response : { "status": "success", "message": " ", "ref_id": 176 } |
How to analyze your skill post go-live?
Create smart funnels on our Intelligent Analytics to analyze how many users are able to reach the end of the chatflow and successfully able place return/replace the order request
- Smartfunnel suggestion: How many users were able to view their recent order(s) successfully
- Start point: Order details start
- Endpoints:
- Show_recent_orders
- No orders
- Smartfunnel suggestion: How many users were able to place return/replace order requests successfully
- Start point: Order details start
- Endpoints:
- return_output
- replacement_output