Prior to building Zenstores, CTO and cofounder Rob Ashcroft and I ran a business selling custom prints online. Selling the products themselves was only half the battle to becoming successful — managing orders and shipping items to customers became a huge drain on time and energy.
At the time, there wasn't a tool on the market to manage orders (often from multiple ecommerce platforms), print postage labels from various couriers, and dispatch products to buyers in a simple, fast, and hassle-free manner. So we decided to build it ourselves.
First we built out our user-interface, then we integrated with shipping providers like Royal Mail, MyHermes and Yodel. But the final piece of the puzzle was one of the most important — choosing an ecommerce platform that would enable us to validate our product as quickly and easily as possible.
At that stage, we were just a small team of three with limited resources, so we evaluated each ecommerce platform against a variety of metrics, such as how simple the API was to use; how good the testing environment was; the availability of customer support; whether an engaged developer community existed; and finally, what level of discoverability the platform offered for our app.
What we discovered is that for startups looking to validate their product against these criteria before rolling it out to a wider audience, Shopify fits the bill.
You might also like: 5 Reasons Why App Integrations Benefit Ecommerce Websites
1. The API is a breeze
If you’re looking for your first ecommerce integration, a well-structured and well-documented API are two key factors you’ll need to be up and running fast.
As one of the developers working on Zenstores, I scanned through the documentation of a number of platforms and immediately knew Shopify was going to be a good place to start. Remember, at this point all that was on our minds was getting an MVP together to validate a concept, so we needed to move fast while delivering a stable product that actually solved a problem for businesses.
Simply put, the Shopify API is a breeze — RESTful interface, nicely laid out JSON resources, OAuth2 for authentication, and a Python SDK. Awesome. As the first ecommerce integration we developed for Zenstores, this gave us a good foundation in terms of the layout in our code base that we could then apply to future integrations.
When a customer connects their Shopify store to Zenstores, the integration has two main objectives from that point on: make sure all orders from Shopify are in Zenstores, and update the status of these orders in Shopify when they are shipped from Zenstores.
To do this, when a customer adds their Shopify store to Zenstores, we configure webhooks for the customer. When an order is placed on Shopify, it's received by our servers from the webhook that is subsequently triggered. This enables us to reduce the amount we poll the API, whilst also offering an up-to-date list of orders for our customers to ship.
Pro tip: Stay up to date on the Shopify API by keeping an eye on the API Announcements forum for all info on upcoming API announcements.
2. Easy to use sandbox tool
I’ve worked on a fair number of integrations and I think, hands down, one of the most annoying and time consuming things is integrating with a service that doesn’t provide either a stable sandbox environment or (in some cases) no sandbox environment at all. Having a good sandbox to test in reduces development time significantly, especially in ecommerce where the alternative is to mock a buyer and seller relationship for testing in a live environment. Pretty ugly!
The bogus payment gateway in a Shopify dev store makes testing straightforward. I use this with my local dev environment, along with ngrok to receive webhooks from test orders placed. This gives a fast turnaround from placing a test order to getting it into my dev environment. It may sound like a minor thing, but in reality it saves a lot of time.
Pro tip: When developing for webhooks with a Shopify Dev shop, Ngrok is so handy. It essentially forwards the HTTP request to your local dev environment enabling you to inspect and replay each request. This saves a ton of time.
You might also like: 8 Merchant-Driven Ideas For Your Next Shopify App
3. Great customer support
The availability of customer support is of real importance when you’re trying to iron out the kinks in a new product, while keeping your nascent user base happy. Any roadblocks in your integration are going to delay your launch and prevent you from sorting out any problems following it. The speed and quality of response to technical questions is therefore a critical part of evaluating a platform’s suitability.
Making good use of the API and sandbox tool ensured our Shopify integration was as robust as possible, but there’s only so much you can do in a test environment so we expected to encounter one or two minor teething problems following launch.
We launched around midday on a Wednesday with several prospective Shopify users ready to start using Zenstores as soon as it was live. By the middle of the afternoon, orders were flying through our servers and by about 6 p.m. we were in the pub celebrating our first launch!
Fast forward to 10:30 p.m., and a support ticket from one of our early-adopters came through — something had gone wrong and her Shopify orders were no longer showing in her Zenstores dashboard. Although she wasn’t desperately worried, it wasn’t the start we wanted for our product. I jumped on Shopify’s live chat and in the span of 15 minutes, what turned out to be a minor integration issue between our platforms was sorted out. We got a message out to our user letting her know the issue was resolved before she went to bed!
Pro tip: Use a platform like Intercom.io to keep customer account information close at hand. That way when something goes wrong, it’s easy to reference them when talking to Shopify support. Once your app scales, it’s also a great way to run your own customer support!
4. A thriving developer community
When developing for a new platform, it's always useful to have a network of experienced developers available to answer technical questions, offer critical feedback, or simply share advice. When launching an app, this guidance can be extremely helpful and can save you a lot of time and allow you to avoid costly mistakes.
We found Shopify to have a really strong developer community with their active forums, worldwide meetups, unofficial communities such as “eCommTalk”, and presence on Stack Overflow. This support network really helped us as newcomers when we launched last year. It has also provided value over the following 12 months as we’ve kept tabs on all the open-source projects that are being worked on to share code and give developers better tooling.
The Shopify ecosystem is rich with open-source projects and code samples that can help your ecommerce app get off the ground quicker, both unofficial and official. The embedded_app_example project will provide a great reference point for building apps directly in the Shopify admin dashboard using the Embedded App SDK.
Pro tip: Check out the friendly Slack community eCommTalk (set up by TJ Mapes) for active discussions about all things Shopify development. There’s a great mix of app developers, theme designers, experts, and even business owners so it can be a great place to pick up tips and learn from others in the community.
5. A focus on app discoverability
Arguably the most important part of launching an app is attracting customers and getting them to install it! This is why the quality of an ecommerce platform’s app store (and the exposure it can provide you) can be a real deal-breaker when deciding where to launch your app. After all, you’re never going to iterate a product without any users!
Shopify does a good job of promoting apps on their app store and categorizing them to make it easy for customers to find. The website is easy to use, plus apps are suggested to Shopify users directly within their store dashboard and regularly featured in email newsletters. This can give you a great level of exposure to an already engaged audience.
As with any product, providing customer reviews will help to build trust and provide social proof that your app does what it says it will. Reviews on Shopify not only give you a great way of demonstrating the quality of your app, but they will also affect how well your listing is ranked on the app store. So if your customers love your app and leave positive reviews, it will improve its visibility and help attract more downloads.
Pro tip: Try asking your customers for a review of your app just after they have had a great experience or receive some great support from you! Customers are far more likely to take the time to write a positive review if they are in a positive mindset and happy.
In the year since we launched Zenstores on the Shopify platform, we’ve rolled out our product across a range of other marketplaces and ecommerce options for sellers.
If you’re building out an application for an ecommerce audience, it’s likely you too are going to need to integrate with more than one of them, and with each of those integrations it’s inevitable you’ll hit problems that are unique to each platform.
However, Shopify gives app developers a way to build, test, and market a robust and scalable product quickly and easily. If you build for Shopify, you give yourself a pretty good foundation from which to build out other integrations, and that’s proven to be of immense value to us in our journey so far.
You might also like: Why App Developers Should Use Shopify’s Integrated Billing