How to use Track my order 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
Track OrderPurpose of the skillRequirementsLimitationsHow to make changes to the skill?API 1 - Get order details via phone number/order IDAPI 2 - Get order status via order IDHow to analyse 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.
Track Order
Name of the skill on Conversation Studio - track_my_order
Purpose of the skill: To simplify and speed up tracking orders for users with a hassle-free and conversational experience.
Orders in transit can be tracked in real-time by the users through identifiers like order ID.
- The IVA will be trained to fetch the user's order status.
- The IVA will first present the list of active orders to the user.
- The user can proceed by selecting a specific order.
- The IVA will then fetch the status of that order via a Track Order API.
- The order details can be fetched with the help of any unique identifier - Order Id, tracking id, phone number.
What’s the design template going to look like?
This skill is designed to keep in mind quick resolution & added value to the user.
Reach out to Conversation Designer to get access to the design lucidchart or PDF.
Requirements
The Smart Skill is for authenticated users - which means the user is already authenticated either by the virtual assistant or on the website, and a guest user will have to enter a Phone Number/Order ID.
You will need 2 APIs
- Get order details via phone number/order ID
- Get tracking link for the specific order using order ID
Limitations
This is a no-code smart skill if the APIs are developed to match the structure previously added in the skill. If the business has additional rules or logic to be implemented for this use case, we would need to make changes (read more in the changes section) accordingly.
If you want to add further APIs, you will need to add more steps to this smart skill.
How to make changes to the skill?
The smart skill has 14 step, track order can be initiated by just one start step.
API 1 - Get order details via phone number/order ID
Name of step - codenode_to_fetch
Approach - In order to invoke the API, we need the user's phone number/order ID (request parameter). This order ID/phone number is coming from a static step(tracking number) entity as seen below
The mock API uses a phone number/order ID to proceed in the flow. The sample phone number is - 4405553333 or 4405553332
The sequence of events in the code -
- Section 1 from line number 15 to line number 22 is used to pull all entities & variables from other steps.
- Section 2 from line number 23 to line number 33 is used to make the API call.
- Section 3 from line number 35 to line number 45 will tell you if the user has any orders or not and pass the corresponding message to the output step which will, in turn, get displayed to the user.
- Section 4 from line number 47 to line number 55 returns the API response.
- Section 5 from line number 58 to line number 116 handles the timeout and failure conditions.
- Section 6 from line number 119 to line number 144 defines the entity class to return entity values.
- Section 7 from line number 146 to line number 187 defines the structure of the carousel if orders are present.
In the end, depending on the logic between lines 35-45 you can pass the corresponding response to the next step i.e Output Step - all order
.
API error/no orders are already defined. To move forward, you will have to pass through the all order
Output Step where order details are displayed in the form of a carousel.
How to change the API?
Section | Step Name | Entity & Format | API Name & Contract |
Fetch Order | Track Order | Order ID (Numbers) Additions that can be made to this module - OTP, Email address, zipcode |
Request { "phone_number": "4405553333" } Response { "results": { "orderList": [ { "orderId": "21838211", "status": "Shipped", "orderAmount": "1,000.00", "orderDt": "2020-07-29T18:04:56", "itemsName": "Apple MacBook Air", "orderImg": "https://maplestore.in/wp-content/uploads/2020/11/Mac-1.jpg" } ] }, "statusCode": 200 } |
API 2 - Get order status via order ID
Name of Step - Fetch Order Status
Approach - In order to invoke this API you need the user's order ID (request parameter). This order ID is saved in the output step as mentioned above.
The sequence of events in the code -
- Section 1 from line number 15 to line number 22 is used to pull all entities & variables from other steps.
- Section 2 from line number 23 to line number 26 is used to make the API call.
- Section 3 from line number 27 to line number 35 will generate and pass the corresponding message to the output step which will, in turn, get displayed to the user.
- Section 4 from line number 37 to line number 73 returns the API response.
- Section 5 from line number 75 to line number 95 handles the success, timeout, and failure conditions of the API.
- Section 6 from line number 98 to line number 123 defines the entity class to return entity values.
- Section 7 from line number 125 to line number 129 defines the structure of the message using details from API response.
In the end, depending on the logic between lines 27-35 you can pass the corresponding response to the next step i.e Output Step.
How to change the API?
Section | Step Name | Entity & Format | API Name & Contract |
Fetch order | Track order |
Order ID (Numbers)
Additions that can
be made to this module - OTP, Email address, zipcode
|
Request { "order_id": "21255919" } Response { "results": { "orderTrackingStatuses": [ "The order with Apple Wireless Airpods Pro has been shipped on 2019-12-28 & will be delivered to you by 2019-08-20." ], "order_id": "21255919", "amount": "249.00", "date_placed": "08-15-2020", "delivery_date": "08-20-2020", "product_name": "Apple Wireless Airpods Pro", "delivery_address": "Ms. Jane H. Doe, 19607 Detroit Rd, Rocky River, OH 44116, United States", "payment_mode": "ONLINE", "trackLink": "https://trackcourier.io/ekart-logistics-courier-tracking", "status": "Delivered" }, "statusCode": 200 } |
How to analyze your skill post go-live?
To track the usage of this skill on your virtual assistant, you can create Smart Funnels on the Intelligent Analytics tool. It will be able to tell you how many users are able to track their orders. You can learn here about Smart Funnels.
Smartfunnel suggestion: How many users were able to track their order successfully
-
Funnel 1
- Start point: tracking_number step
- Endpoint: all order step
-
Funnel 2
- Start point: all order step
-
Endpoints:
- Show Order Status step
- Timeout error step
- API error step
- Can't find order step
Below questions could be answered with the help of the above Smart Funnels, after you start getting real user data
- How many users were able to successfully track their orders
- Do a lot of users click on live tracking links to check the status
- If there are drop-offs after seeing the orders, probably there are more questions that are unanswered