Custom Shopify Multi Vendor App Development: Key Insights
Shopify is undoubtedly one of the most user-friendly eCommerce store builder in the market. It’s success (over 500,000+ active stores) largely depends upon the fact that it is a self-hosted solution which provides an easy to use interface that can be operated with minimal coding knowledge.
However, can you run a Multi-vendor marketplace like Amazon or eBay using Shopify?
For starters, let clear up the air by mentioning that establishing a Shopify multi-vendor marketplace has never come that easy. This is not surprising as it is something that none of its competitors are able to do by default as well.
What makes things worse for Shopify is that there are not many options available on the Shopify app store using which a store owner can set up a Shopify multi-vendor store. There are only a couple of Shopify Marketplace apps on the App store and one look at their reviews would reflect that the users using these extensions run into issues every now and then.
While the Shopify user base is dealing with lack of Shopify multi vendor apps, the Shopify development team at The Brihaspati Infotech recently had the chance to create a custom Shopify multi vendor marketplace app from the ground up.
For those who have been regular followers of our Information technology blog, we regularly share our experiences with developing and delivering custom solutions for our client. Through this article, we attempt to shed light on the intricacies involved in developing a custom Shopify multi vendor marketplace app with references to an actual project we delivered.
So let’s press the accelerator and enjoy the ride.
Shopify Multi Vendor Marketplace Requirements
When it comes to developing an eCommerce marketplace, there are three core features around which a store is built. These include:
- 1. Interface for sellers to register and set up their profiles.
- 2. Easy to use functions for sellers to add products, define shipping methods and review orders.
- 3. The ability for store managers to set up commissions, review sales, and seller performance.
Most of the multi vendor marketplaces are built around these 3 core functionalities, including Amazon and eBay. Store owners can hire Shopify developer to further extend these core features to deliver a unique customer experience.
The Approach For Shopify Marketplace App Development
While CMS solutions like Magento, WordPress, OpenCart, and others are fully open source, i.e, they allow us to create extensions that can override the core files without customizing them, we need a different approach for Shopify.
Shopify doesn’t provide access to override its core files. Instead, separate interfaces are required to be created for a Shopify application, which is then used as an embedded app within the Shopify back-end panel using an Iframe.
Note: Shopify apps can also be implemented as non-embedded apps. Non-embedded apps do not open up in the same window as the Shopify store and load their own interface in a separate browser tab.
Using the Shopify APIs and webhooks, we can POST and GET data TO and FROM the Shopify website to our custom-built interface.
Developing a Shopify Multivendor Marketplace app
The above-mentioned multi vendor store requirements and the Shopify app development approach meant that we had to create two custom-built interfaces for:
- a.Shopify store owner
- b.Vendors who would be using the store owner’s website.
Both of these interfaces were built using the YII / LAMP technology stack.
The Store owner interface was hosted as a Shopify app on the client’s server and linked to the Shopify website using client’s Shopify partner account.
On the other hand, the vendor interface was hosted on a sub-domain of the store owners website and vendors were able to access it by logging in with their vendor accounts.
Using this approach our Shopify development team created a Multi-vendor Marketplace Shopify app that included the following features:
Robust Seller Dashboard
The landing page of the seller dashboard included a clean and crisp interface that provided a real-time overview of the number of Products, Orders, Buyers(Members) and Messages received by the Seller.
The dashboard also includes an overview in the form of Bargraph where we utilized the ever so famous HighCharts to implement dynamic charts functionality.
In addition to these default features, the Seller had default options to Create new Products, Buyers, Purchase Orders, Review Order History and Respond to Buyer Messages.
Easy To Use Admin Interface
Unlike the buyer dashboard, which was hosted on a subdomain and was accessible after entering buyer’s account details, the Shopify store admin interfaces were made available within the Shopify admin dashboard interface itself by utilizing the Embedded Apps functionality.
The Products, Orders and Customers data was synced with the default Shopify database utilizing the respective Shopify APIs.
Whereas, for managing the Seller accounts, and Products submitted by the sellers, the Store admin can simply launch the Shopify multi vendor app within his Shopify dashboard and manage all the available data.
Challenges We Faced
1. Creating Custom Nested Product Filters
The initial challenge we faced in configuring our custom developed Shopify Multi-vendor Marketplace plugin was while setting up custom filters that worked in a nested manner. This means, that the selection of one filter directly affected the options of another filter.
As you can notice in the screenshot below, if we selected the “Collections” as Spirits, the Product type filter changes to “Spirit Types”, whereas, if change collection to “Wine”, the product filter changes to Reds and displays the different products available under the specific product category.
As we were required to set up these nested filters based on products created by the sellers, hence the default Shopify product filters were of no use.
To resolve the conundrum, we created separate product creation forms: a unique form for each collection.
By pre-defining the Product categories in the store, we were able to set up tags for each product type based on which filters were able to show relevant data. These tags were added automatically and were visible to the store admin.
As the product forms were built in YII under the MVC architecture, the plugin remains adaptable to any business requirements and the forms can always be modified and enhanced as per the business needs.
2. Creating Live Chat
The website also features a one to one live chat functionality within the buyer and a seller. However, unlike any other live chat, where chat data is lost when the chat uses leave the chat, the website’s chat functionality was built to provide a link to the buyer for re-starting the chat from the point where he left.
On the Seller end, all the incoming, on-going and past chats are made visible under the Messages section.
The chat system was implemented by assigning a unique Chat ID to both Seller and Buyer. Based on these ID’s we programmatically identified who has submitted a message and then displayed the message to the corresponding user ID.
Using this approach, not only were we able to implement real-time one to one chat, but we were also able to save and access the chat record between buyer and merchant in the database.
3. Real-Time Synchronization Of Seller and Shopify Database
As the Shopify multi vendor app had its seller dashboard as a separate interface built in YII and hosted on a separate server, it was crucial to make sure that whenever a product is created by a seller, it is also created in Shopify at the very same instance.
A well-synchronized system was a must in order to deliver a fluid user experience.
To implement a well-synchronized solution we utilized Shopify’s Console runner to run background processes. The console runner allowed us to programmatically hit the Shopify Product API every time someone creates a new product.
As all the processes were running in the background being managed by the console runner, there were no conflicts in case multiple sellers were trying to create products on a single instance.
While there were many other facades to the custom Shopify multi vendor marketplace extension we have built, such as:
- Integration with Hubspot
- The ability for Sellers to define custom shipping method and tracking ID
- The ability for store admins to set up commission rate
We’ve tried to share the key functionalities of a Multi-vendor store and the approach we took to make them available for a Shopify store owner.
At The Brihaspati Infotech, we are armed with the required skills to help you provide highly robust and tailor-made solutions which have the potential to amplify your business. Do you have questions regarding the Shopify multi vendor app we developed or are you looking to hire Shopify experts for your store? Get access to the most dedicated and dependable pool of web developers for Shopify by dropping us an email.