Plug Sample #8 - Track your ecommerce order real-time with Zobot - Zoho Commerce integration

Plug Sample #8 - Track your ecommerce order real-time with Zobot - Zoho Commerce integration

Hi Everyone!

Zoho SalesIQ's Zobot is an intelligent tool to increase customer engagement and provide support, especially in the e-commerce industry. A crucial aspect of e-commerce is ensuring your customers can easily keep track of their orders. Just imagine your Zobot providing real-time updates on your customers' order status, tracking URL, shipment details, and estimated delivery dates. Sounds cool, right? That's what we are going to look at in this post. 



Zoho Commerce is a comprehensive e-commerce platform for building a website, accepting orders, tracking inventory, processing payments, and more. With SalesIQ's Zobot seamlessly integrated with Zoho Commerce, you can now provide exceptional support and prioritize convenience for your customers by making your bot actively promote your key offers, assist in tracking orders, create support tickets, and much more. 

To learn more about chatbots usage in the e-commerce industry, check out our exclusive webinar and help article. Now, let's dive into the step-by-step process of how to make your bot track orders with the codeless bot builder.

Overview of tracking orders



Step 1 - Create a connection between SalesIQ and Zoho Commerce.

  •  In your SalesIQ Dashboard, navigate to Settings > Developers > Plugs > Click on Add.
  •  Provide your plug a name, and description, select the Platform as SalesIQ Scripts, and finally, click on Connection to your left bottom. You will be redirected to the connection interface.

  •  Click on Create connection at the top right corner. Under Default connection, select Zoho OAuth service. 

  • Provide your connection name, connection link name, and choose the scopes below.
    • ZohoCommerce.salesorders.READ
    • ZohoCommerce.items.READ
  • Click on Create And Connect to connect Zoho SalesIQ and Zoho Commerce. 


  • Upon successful authentication,  Zoho SalesIQ will be connected with Zoho Commerce. 
Note: The Connection Link Name will be used in the scripts to invoke URL tasks.
 

 

Step 2 - Fetch the "Shipped" orders (Plug 1)

First, let's look at how to list all the shipped orders of the visitor from Zoho Commerce. To do this, we need the email address of the visitor. By List all sales orders API, the bot can fetch all the orders from the visitors (email). Then using the status as a filter, all the Shipped orders can be fetched and displayed to the visitors as options. 

Input Parameter:
  • Name: email | Type: Email
Output Parameter: 
  • Name: orderList | Type : Options list


Copy/paste the below code to list all the shipped orders. 
 
  1. response = Map();
  2. if(session.containsKey("email"))
  3. {
  4. email = session.get("email").get("value");
  5. }
  6. params = Map();
  7. params.put("email",email);
  8. params.put("page","1");
  9. params.put("per_page","5");
  10. header = Map();
  11. //Insert your Zoho Commerce Org ID (From your Zoho Commerce, navigate to the Store > Settings > Organization Profile > Organization ID)
  12. header.put("X-com-zoho-store-organizationid","<org_ID>");
  13. check_status = invokeurl
  14. [
  15. url :"https://commerce.zoho.com/store/api/v1/salesorders"
  16. type :GET
  17. parameters:params
  18. headers:header
  19. connection:"zohocommerce"
  20. ];
  21. array = check_status.get("salesorders");
  22. optionList = List();
  23. for each  entry in array
  24. {
  25. salesorder_id = entry.get("salesorder_id");
  26. URL = "https://commerce.zoho.com/store/api/v1/salesorders/" + salesorder_id;
  27. get_order_details = invokeurl
  28. [
  29. url :URL
  30. type :GET
  31. headers:header
  32. connection:"zohocommerce"
  33. ];
  34. shipping_status = get_order_details.get("salesorder").toList().get(0).get("shipped_status").toUpperCase();
  35. //Printing the shipped orders
  36. if(shipping_status == "SHIPPED")
  37. {
  38. product_ordered = get_order_details.get("salesorder").get("line_items").toList().get(0).get("name");
  39. quantity = get_order_details.get("salesorder").get("line_items").toList().get(0).get("quantity").toNumber();
  40. display_text = product_ordered + " (" + quantity + ")";
  41. optionList.add({"id":salesorder_id,"text":display_text});
  42. }
  43. }
  44. response.put("orderList",optionList);
  45. return response;
  • Then, click Save, preview the plug and Publish it. 
Note: API invoked in the plug List all sales orders 

Step 3- Getting order details (Plug 2)

In the previous step, we fetched all the "Shipped" orders and displayed them to the visitors. When they click on a specific order, the bot will get the order details from the Retrieve sales order API and provide them to the visitor. 

Input Parameter:
  • Name : orderID | Type : String
Output Parameter: 
  • Name: shippingAddress | Type : String
  • Name: deliveredDate | Type : String
  • Name: orderName | Type : String
  • Name: orderNumber | Type : String
  • Name: quantity | Type : Number
  • Name: orderCost | Type : Number
  • Name: trackingUrl | Type : String
  • Name: shippedDate | Type : String
  • Name: paymentMode | Type : String
  • Name: shippingStatus | Type : String


 Copy and paste the below code to get the order details.
 
  1. if(session.containsKey("orderID"))
  2. {
  3. salesorder_id = session.get("orderID").get("value");
  4. }
  5. header = Map();
  6. //Insert your Zoho Commerce Org ID (From your Zoho Commerce, navigate to the Store > Settings > Organization Profile > Organization ID)
  7. header.put("X-com-zoho-store-organizationid","<ord_ID>");
  8. URL = "https://commerce.zoho.com/store/api/v1/salesorders/" + salesorder_id;
  9. get_order_details = invokeurl
  10. [
  11. url :URL
  12. type :GET
  13. headers:header
  14. connection:"zohocommerce"
  15. ];
  16. order_number = get_order_details.get("salesorder").toList().get(0).get("salesorder_number");
  17. product_ordered = get_order_details.get("salesorder").get("line_items").toList().get(0).get("name");
  18. cost = get_order_details.get("salesorder").get("line_items").toList().get(0).get("rate").toNumber();
  19. quantity = get_order_details.get("salesorder").get("line_items").toList().get(0).get("quantity").toNumber();
  20. payment_mode = get_order_details.get("salesorder").get("offline_payment_details").toList().get(0).get("payment_mode");
  21. shipping_address = get_order_details.get("salesorder").get("shipping_address").toList().get(0).get("address");
  22. tracking_url = get_order_details.get("salesorder").get("packages").toList().get(0).get("status_message");
  23. shipping_address = get_order_details.get("salesorder").get("shipping_address").toList().get(0).get("address");
  24. shipping_status = get_order_details.get("salesorder").toList().get(0).get("shipped_status").toUpperCase();
  25. if(shipping_status == "FULFILLED")
  26. {
  27. shipping_status = "Delivered";
  28. tracking_url = "No tracking URL";
  29. delivered_date = get_order_details.get("salesorder").get("packages").toList().get(0).get("shipment_date");
  30. shipped_date = get_order_details.get("salesorder").get("packages").toList().get(0).get("shipment_date");
  31. }
  32. else if(shipping_status == "SHIPPED")
  33. {
  34. shipping_status = "Shipped";
  35. tracking_url = get_order_details.get("salesorder").get("packages").toList().get(0).get("status_message");
  36. shipped_date = get_order_details.get("salesorder").get("packages").toList().get(0).get("shipment_date");
  37. delivered_date = get_order_details.get("salesorder").get("packages").toList().get(0).get("shipment_date");
  38. }
  39. else
  40. {
  41. shipping_status = "Yet to Ship";
  42. tracking_url = "No tracking URL available";
  43. shipped_date = "NA";
  44. delivered_date = "NA";
  45. }
  46. response = Map();
  47. response.put("orderNumber",order_number);
  48. response.put("orderCost",cost);
  49. response.put("orderName",product_ordered);
  50. response.put("quantity",quantity);
  51. response.put("shippingStatus",shipping_status);
  52. response.put("paymentMode",payment_mode);
  53. response.put("shippingAddress",shipping_address);
  54. response.put("trackingUrl",tracking_url);
  55. response.put("shippedDate",shipped_date);
  56. response.put("deliveredDate",delivered_date);
  57. return response;
  • Then, click Save, preview the plug and Publish it. 
Note: API invoked in the plug Retrieve sales order
 

Step 4 - Adding these plugs to the Codeless bot builder

  • Navigate to Settings > Bot > Add, provide the necessary information, and select Codeless Bot as a bot platform or open an existing bot.
  • To list the shipped orders, get the email address from the visitor by email card. 
  • Then, select the Plugs under Action Cards and select listShippedOrder (Plug 1). In the input parameters, select the Email context variable and provide a name (tracking.order) to save the list of shipped orders. 


  • Next, use the Single choice card to display all the shipped orders. Provide an option "Can't find my order" and click on dynamic suggestions and select the (tracking.order) variable. 

  • Next, click on Save in bot context (post.tracking.order) and store the visitor's order choice. 

  • Then, use the criteria router to route the flow based on the visitor's choice. 

  • After that, select the orderDetails plug in Plug card. And provide the post.tracking.order as the input and provide names for the outputs. 



  • Finally, use these context variables by typing % in the Send message card to display the order details to track orders. 

  • Also, use the markups to provide the tracking URL as a hyperlink.  


Bot Preview (Output)

  • The bot will ask for the email address and then provide the "shipped" orders list.  

  • Then the visitor selects one order, and the bot will provide the information about the order.  

  • Once the bot flow is complete, click Publish to deploy Zobot on your website or online store. Zobot will be ready to engage with your customers, provide support, and assist with their purchasing journey.
 
Related links:
To know more about the features of Zobot, kindly visit our Resources Section. 

    Access your files securely from anywhere









                          Zoho Developer Community




                                                • Desk Community Learning Series


                                                • Digest


                                                • Functions


                                                • Meetups


                                                • Kbase


                                                • Resources


                                                • Glossary


                                                • Desk Marketplace


                                                • MVP Corner


                                                • Word of the Day


                                                • Ask the Experts





                                                          Manage your brands on social media



                                                                Zoho TeamInbox Resources



                                                                    Zoho CRM Plus Resources

                                                                      Zoho Books Resources


                                                                        Zoho Subscriptions Resources

                                                                          Zoho Projects Resources


                                                                            Zoho Sprints Resources


                                                                              Qntrl Resources


                                                                                Zoho Creator Resources



                                                                                    Zoho CRM Resources

                                                                                    • CRM Community Learning Series

                                                                                      CRM Community Learning Series


                                                                                    • Kaizen

                                                                                      Kaizen

                                                                                    • Functions

                                                                                      Functions

                                                                                    • Meetups

                                                                                      Meetups

                                                                                    • Kbase

                                                                                      Kbase

                                                                                    • Resources

                                                                                      Resources

                                                                                    • Digest

                                                                                      Digest

                                                                                    • CRM Marketplace

                                                                                      CRM Marketplace

                                                                                    • MVP Corner

                                                                                      MVP Corner







                                                                                        Design. Discuss. Deliver.

                                                                                        Create visually engaging stories with Zoho Show.

                                                                                        Get Started Now


                                                                                          Zoho Show Resources

                                                                                            Zoho Writer

                                                                                            Get Started. Write Away!

                                                                                            Writer is a powerful online word processor, designed for collaborative work.

                                                                                              Zoho CRM コンテンツ






                                                                                                Nederlandse Hulpbronnen


                                                                                                    ご検討中の方




                                                                                                          • Recent Topics

                                                                                                          • Pass current date to a field using Zoho Flow

                                                                                                            I am trying to generate an invoice automatically once somebody submits a record in Zoho CRM. I get an error in the invoice date. I have entered {{zoho.currentdate}} in the Date field. When I test the flow, I get "Zoho Books says "Invalid value passed
                                                                                                          • API: Mark Sales Order as Open + Custom Status

                                                                                                            Hi, it's possible to create Custom Status (sub-status actually) states for the Sales Order. So you have Open, Void. Then under Open you can have Open, and create one called Order Paid, Order Shipped, etc etc...which is grouped under Open. I can use the
                                                                                                          • Zoho Quartz Screen Recording

                                                                                                            Hello, can we get access to Quartz, please, as a standalone solution? It would be great for creating training videos for current and future staff on how to use Zoho software according to our company requirements. Thank you
                                                                                                          • Tip 26: How to hide the "Submit" button from a form

                                                                                                            Hi everyone, Hope you're staying safe and working from home. We are, too. By now, we at Zoho are all very much accustomed to the new normal—working remotely. Today, we're back with yet another simple but interesting tip--how to hide the Submit button from your forms. In certain scenarios, you may want to hide the submit button from a form until all the fields are filled in.  Use case In this tip, we'll show you how to hide the Submit button while the user is entering data into the form, and then
                                                                                                          • How do I move Notes around within a Group?

                                                                                                            It says here: " You can now sort notes by title (alphabetically), or by date modified and date created. You can even organize your notes by dragging and dropping them into a particular order. To sort your notes, simply go to Settings and tap “Sort By.” Please note: all sort settings will be saved and synced across devices, except for custom sorting. Custom sorting will be device specific."However, I am unable to 'custom sort' in either Notebook for Mac or on the Web. In addition, I can't find the
                                                                                                          • javax.mail.authenticationfailedexception 535 authentication failed

                                                                                                            Hi, I am facing 535 authentication failed error when trying to send email from zoho desktop as well as in webmail. Can you suggest to fix this issue,. Regards, Rekha
                                                                                                          • Zoho Sign: need to leave document pending for up to a year, or maybe there's a better way?

                                                                                                            I have zoho one, maybe there's a better way to do this with another service than sending a zoho sign template from zoho crm. At the end of the day this requirement is due to regulations, no matter how dumb it may seem. I'm just looking for a way of getting
                                                                                                          • Separate Items & Services

                                                                                                            Hi, please separate items and services into different categories. Thank you
                                                                                                          • Unable to edit or delete email address

                                                                                                            I signed up for free Zoho today. I usually am pretty good at understanding and configuring things like this, but your interface baffles me, and your online help is cryptic to say the least. I have spent hours just trying to set up a couple of email accounts in Zoho before pointing my domain MX records to Zoho. I solved some other issues on my own, but I can't figure out this latest problem: I have created two email addresses in Zoho. Let's call the first one myname@mydomain.com and the second one
                                                                                                          • Mastering Zia Match Scores | Let's Talk Recruit

                                                                                                            Feeling overwhelmed by hundreds of resumes for every job? You’re not alone! Welcome back to Let’s Talk Recruit, where we break down Zoho Recruit’s features and hiring best practices into simple, actionable insights for recruiters. Imagine having an assistant
                                                                                                          • We are unable to process your request now. Please try again after sometime or contact support@zohoaccounts.com

                                                                                                            I cannot sign up and return the error of we are unable to process your request now. Please try again after sometime or contact support@zohoaccounts.com
                                                                                                          • Multi-currency - What's cooking ?

                                                                                                            Hi,       We have been doing this feature for sometime and we would like to give you some glimpses of it.  Working with Multi Currency :        Multicurrency support gives you the ability to handle business transactions in multiple currencies. You can define a base currency for your organization and add more currencies with exchange rates based on the base currency.  Setup :        From the setup page, you can manage all the currencies supported by your organization.       Currencies page        
                                                                                                          • How to reduce programmatically the image uploaded by user?

                                                                                                            I need a function that will automatically reduce the pixel dimension to 800 x 600 pixels / 180 resolution or (approx. 1.37MB) of image uploaded by user from digital camera, for example, 2271 x 1704 pixels /180 resolution or approx. 11.1MB. After the user selected the image, the function will able to detect if pixels is above 800x600, process the photo (crop/ reduce) and resume upload. Need help...  
                                                                                                          • Dark mode for Zoho Creator / Zoho CRM Code editor

                                                                                                            Hi Team, Is there any plans for Dark mode in Zoho creator / Zoho Crm code editor and development pages in pipeline?
                                                                                                          • Is there a way to make a button scroll down?

                                                                                                            Looking to have a button on a landing page scroll down to another section on the page. Any recomendations outside of coding?
                                                                                                          • ZOHO Android Client

                                                                                                            Hi, I installed the Android app, but it had an issue, so I reinstalled it. I was able to add multiple accounts, but now when I add the next account, it just duplicates the one I already have and will not even allow me to enter the info for another account.
                                                                                                          • I'd like to suggest a feature enhancement for SalesIQ that would greatly improve the user experience across different channels.

                                                                                                            Hello Zoho Team, Current Limitation: When I enable the pre-chat form under Brands > Flow Controls to collect the visitor’s name and email, it gets applied globally across all channels, including WhatsApp, Messenger, and Instagram. This doesn't quite align
                                                                                                          • Enhance Barcode/QR Code scanner with bulk scanning or continuously scanning

                                                                                                            Dear Zoho Creator, As we all know, after each scan, the scanning frame closes. Imagine having 100 items; we would need to tap 100 times and wait roughly 1 second each time for the scanning frame to reopen on mobile web. It's not just about wasting time;
                                                                                                          • Managing Rental Sales in Zoho Inventory

                                                                                                            I am aware that Zoho Inventory is not yet set up to handle rental sales and invoicing. Is anyone using it for rentals anyway? I'd like to hear about how others have found work arounds to manage inventory of rental equipment, rental payments, etc. Th
                                                                                                          • Zoho Flow to Creator 3001 Respoonse

                                                                                                            I have updated my Flows with the new V2 connection to Zoho Creator, but now some Flows do not work. They take in data from a Webhook and are supposed to create a record in Creator, however creator returns a 3001 message along with a failure, but I cannot
                                                                                                          • File Upload to Work Drive While Adding Records in Zoho Creator Application

                                                                                                            Hi I am trying to set a file attachment field in zoho creator form, to enable the user to upload a scanned document from their local pc. The file should be uploaded to zoho workdrive and not to the default zoho creator storage. The file link should be
                                                                                                          • Why not possible to generate?

                                                                                                            Using this https://desk.zoho.com/DeskAPIDocument#TicketCount#TicketCount_Getticketcountbyfield on my ZML script url :"https://desk.zoho.com/api/v1/ticketsCountByFieldValues?departmentId=XXXXXXXXXXX&accountId!=XXXXXXXXX&customField1=cf_country_1:XXXXXX&field=overDue"
                                                                                                          • email

                                                                                                            Hi My crm email is not working, can you check, I have zoho one account.
                                                                                                          • Need option to see Mass Emails & Cadences in Gmail Outbox OR a dedicated Zoho Outbox

                                                                                                            Hi everyone, Right now, when we send 1:1 emails from gmail (with gmail API connected to Zoho CRM), those emails appear both in gmail's sent folder and in Zoho CRM. That works well. But when we send Mass Emails or Cadence emails form Zoho CRM, they are
                                                                                                          • I can't found API for Sales Receipts

                                                                                                            Hello May you please help me to find an API document for Sales Receipts to get data and retrive a custom fields like Invoice and credit notes Regards
                                                                                                          • Kaizen #205 - Answering Your Questions | Managing Picklists and Enabling History Tracking via Zoho CRM APIs

                                                                                                            Hello everyone! Welcome back to another post in our Kaizen series. In this post, we will look at how you can manage picklist fields in Zoho CRM using APIs. This topic was raised as feedback to Kaizen #200, so we are taking it up here with more details.
                                                                                                          • Multiple Vendor SKUs

                                                                                                            One of the big concerns we have with ZOHO Inventory is lack of Vendor Skus like many other inventory software packages offer. Being able to have multiple vendor skus for the same product would be HUGE! It would populate the appropriate vendor Sku for
                                                                                                          • Internally created tickets

                                                                                                            Hi there When tickets are created internally on-behalf of customers - there is nothing to show that the ticket was created by an internal agent. This means, that it's easy for our agents to confuse tickets which were created by internal team members and
                                                                                                          • Automatically change website passwords

                                                                                                            Hi everyone, We just switched to a Professional package to also use the "Automatically change website passwords" function. But I cannot find anything about it, how to use it, anywhere. Does anyone know how I can use this function? Best, Caspar
                                                                                                          • Change Invoice Prices for an Effective Date

                                                                                                            Hi, It would be a really good feature to be able to change the prices on invoices/recurring invoices from an effective date in the event of price increases. For instance, I am in the process of increasing prices that will be effective from a specific
                                                                                                          • "Other Current Asset" accounts as "Paid Through" accounts in Expense

                                                                                                            It would be incredibly useful to be able to assign accounts of type Other Current Asset as Paid Through accounts in Expense. Currently, Other Current Liability are permitted as Paid Through Accounts. This makes sense, as Credit Cards are current liabilities.
                                                                                                          • Multi column open text questions that allows respondents to add rows for additional information

                                                                                                            I need to create a question that has 2 columns with open text, but I also need to allow respondents to click a "+" button, or something similar, so that they can add additional information if they choose to. I've tried using the Multiple Textboxes type
                                                                                                          • Bot Filtering & Apple Mail Privacy Protection Compliance in Zoho Campaigns

                                                                                                            Dear Campaigns Users, The wait is over! We’re excited to announce that the enhanced bot filtering feature is now live in Zoho Campaigns. This update brings greater accuracy to your email campaign reports by distinguishing real user engagement from automated
                                                                                                          • Découvrons les détails qui simplifient vos journées de travail avec Trident

                                                                                                            Nous nous installons dans des routines efficaces et rodées avec le temps. Chaque matin, nous ouvrons nos e-mails, passons aux messages, consultons notre agenda, puis attaquons nos tâches. Ce processus nous semble maîtrisé, mais est-il réellement optimisé
                                                                                                          • Issue with Purchase Rate Showing as “0” After Importing Items List

                                                                                                            Dear Zoho Books Support Team, Good day. I’m reaching out regarding an issue I’m facing while importing my items list into Zoho Books. Despite mapping all fields correctly and including the purchase price for each product in my Excel file, the Purchase
                                                                                                          • API for Task Entity in Zoho Books

                                                                                                            I’m working on automating task creation in Zoho Books via a custom button in the Bills Module. The goal is to create a task in the Tasks Module and assign it to the Finance Team, so they can track progress efficiently. While reviewing Zoho Books documentation,
                                                                                                          • create invoice in zoho books from the zoho forms

                                                                                                            Is there a native way to have create invoice in zoho books, when zoho form is completed?
                                                                                                          • Email undelivered

                                                                                                            GOod Day I am always receiving an uncategorized-bounce to my email. I am not sure why this is happening.
                                                                                                          • Add inventory_valuation_method to items endpooints

                                                                                                            To ensure consistent item creation it would be helpful to have the inventory_valuation_method (FIFO vs WAC) be able to be set at item creation or as an update (consistent with current behavior where it is not allowed for items with existing transactions)
                                                                                                          • Use Zoho to send sales receipts for Gocardless transactions

                                                                                                            I've been using gocardless for years and have d/d mandates set up on there. Each week we get bulk payments from customer d/d's. However, we need to send sales receipts to these customers. So I know I can sync mandates into Zoho, and then I can set up
                                                                                                          • Next Page