We were actually working on a quick document yesterday to aid in the decision making process when it comes to building marketplaces on moltin. In short we don’t have full marketplace support out of the box but it is possible to build around our APIs to achieve results with a few caveats, details below.
Deciding on an architecture
There are two options available to you when building a marketplace on moltin. There is a fairly simple decision tree that you can use to discern which approach is best for your business.
Can an end user add products from multiple vendors into the same cart together?
If this is the case, a single superstore may be the right solution. If it is not, using a single moltin store per vendor will work well. In most cases, we recommend a store per vendor as the simpler approach.
Store per vendor
One moltin store used for each individual vendor. Lookup table used to switch between stores as needed.
- No need to filter by vendor at all, filtering is done at the API key and auth level before making requests.
- Simple to manage
- Separate reporting for each vendor
- Vendor can use moltin dashboard
- No mixing of vendors products in carts/orders
- Store switching must be handled if the user can look at multiple vendors products
- No current programmatic store creation, only manual creation from the accounts dashboard.
- Multiple authentication requests and API calls required if merging multiple vendors product data into a single frontend view.
One moltin store holds all vendors products together. Flows (custom objects and fields) are used to create a vendor entity, and to relate products etc. to individual vendors so that separation can be done on the front end.
- Only ever one set of keys to manage.
- Everything is in one place.
- You can see an aggregate data.
- Mix multiple vendors products together in carts.
- Filtering by vendor must be done by you for now (filter by custom fields has been passed back as feedback to our product team).
- Orders/carts must be split out per vendor for fulfilment.
- Reporting and any billing or business logic requirements need to be addressed.
- Moltin dashboard cannot be used by vendors (this is irrelevant if you are building a dashboard in the way you want to anyway).