As a guy who automates web stores, I see a variety of different platforms. It’s like walking into a Starbucks and asking for “coffee.” It’s never just “coffee.” It’s frappy, frothy, mocha, mega, grande, and that’s before we get to the sweetener options. Except in my case I see Magento, WooCommerce, Shopify, PrestaShop, and lots of lesser known animals (I’m intentionally leaving out the marketplaces because that’s a whole story of its own). Each one has its own set of versions from beginning to end. Some have simple security and others are like Fort Knox. Some are easy to use and some act like a misbehaving child…
Me: Please add this picture to the Golden Boots, product 101.
System: OK…no, wait! Error 505
Me: What is error 505?
Me: (sigh) Please add this picture to product 101
This is a (slightly exaggerated) real life story based on a Magento integration. Using the Magento REST API I would weave product data into a beautiful catalog. Except once in a while it would just throw random errors. The solution was to drop the REST API entirely, eat a whole bottle of Aspirin, then code a solution that writes directly to the database. I have a lot of emotional scars from Magento.
If I was to set up a store for myself it would use WooCommerce. It’s like the 8′ kid that always gets picked first for basketball. WooCommerce has an awesome API, smart user interface, amazing upgrade facilities built-in, and a smart but not too smart security model. I used to think Shopify was the Cat’s pyjamas until I got under the hood with WooCommerce.
It comes with an API written by people who know how to write an API. If I need to list a set of products they make it easy. If I need to authenticate, that’s easy too.
Shopify is like that too because it’s based on the same engine. One thing Shopify has over Woo is the built-in attribute for a Manufacturer name. It’s a simple thing yet has such a big impact. Pretty much every supply feed has manufacturer names associated to products. When I integrate a Shopify store I can simply map it right over…voila! With other systems I have to reinvent the manufacturer name ‘wheel’.
PrestaShop’s XML output is pretty cool. I like it because I can grab a big chunk of products fast. Most systems use paging with ridiculously low limits which creates a pile of network traffic.
Are you choosing a platform right now? If you want to be able to automate it in the future make sure it has an API. Most systems use a REST (Representational State Transfer) API. At some point in time you’ll want to link up QuickBooks, a supplier (or multiple suppliers), shipping services, your Aunt Betsy’s coupon service, etc. Today I found out that it’s actually possible for an e-commerce platform to *not* have an API. SquareSpace promotes itself as an e-commerce platform but provides no way to integrate inventory, shipping, or anything else. Yikes!