Live data from Hacker News

How Shopify Manages API Versioning and Breaking Changes

engineering.shopify.com

71–80 of 95 posts

Re: How Shopify Manages API Versioning and Breaking Changes

#71
post #67

The Shopify developer experience is terrible. No fluffy blog can change that fact. Shopify says the main product is the store owner. But the developers pick up all of the slack of Shopify. Recurring payments. App. Store backups. App. Theme backups. App. Order editing. Came late 2019. Checkout. So locked down. Where’s the API?! Slate tooling. Abandoned. Starter themes. Abandoned. Storefront SDK. Terrible documentation…

Shopify's business plan is offer minimum functionality for a low monthly fee and then users use the marketplace to add additional functionality which Shopify takes a 20% cut.

I'm actually working on an open-source fulfillment and operations app for Shopify:

https://github.com/openshiporg/openship

I use it to build small apps that interact with the API directly instead of paying and relying on any apps.

Re: How Shopify Manages API Versioning and Breaking Changes

#72
post #69
post #45

Earlier quoted context omitted.

Can you share more details? I run Shopify and that's not something we would do.

I believe you may have lost a connection to the developer experience over time Tobi and developers keep Shopify relevant. Look at any store it’s packed full of slow loading plugins picking up some of the very basics. It might be that 2020 is better suited to making some of the tooling better and if we can hope for consistent.

I'm working on an open-source app that allows users to use React and build their own interactions with the API instead of relying on apps:

https://github.com/openshiporg/openship

Re: How Shopify Manages API Versioning and Breaking Changes

#73
post #57

i know, i know, be constructive... but hey, shopify with +10k products is so slow they can version whatever they want...

At that point, I would use something like Gatsby which would build static pages for each of your product pages. You could host that on S3 with a CDN for cheap. You could downgrade the Shopify plan to $9/month since you're not going to be using their storefront.

Re: How Shopify Manages API Versioning and Breaking Changes

#74
post #67

The Shopify developer experience is terrible. No fluffy blog can change that fact. Shopify says the main product is the store owner. But the developers pick up all of the slack of Shopify. Recurring payments. App. Store backups. App. Theme backups. App. Order editing. Came late 2019. Checkout. So locked down. Where’s the API?! Slate tooling. Abandoned. Starter themes. Abandoned. Storefront SDK. Terrible documentation…

Shopify's business plan is offer minimum functionality for a low monthly fee and then users use the marketplace to add additional functionality which Shopify takes a 20% cut. I'm actually working on an open-source fulfillment and operations app for Shopify: https://github.com/openshiporg/openship I use it to build small apps that interact with the API directly instead of paying and relying on any apps.

But Shopify hold the transaction fee and charge 2% on top. So really in the end. Shopify is not that much cheaper. Considering bigcommerce doesnt charge this. I am bullish on the long term of bigcommerce. Or anything that goes after the small medium business.

I don’t think Shopify could sustain a real entrance by Adobe with Magento, or a product in the same space from someone like Microsoft. As these companies know developer tooling and in the end. Shopify needs developers. Developers don’t need Shopify.

Re: How Shopify Manages API Versioning and Breaking Changes

#75
I want to love Shopify but Shopify doesn't want to love developers. For example when their multi-location offering [0] _in beta_ they also announced that the Inventory API is going to breakingly change in 2 months and _none_ of their own SDKs supported locations at that point. This has happened with Shopify time and time again. Shopify doesn't manage API versioning or breaking changes: it just forces developers to update or endure with their broken applications and interfaces.

Sure, it's Shopify's choice. But considering how long their own changes take (for example multi-language is still in some sort of beta and it's been up and coming for like 5 years?) the API cycles are just brutal. And the saddest thing is that Shopify is still the best managed e-commerce platform for most usecases.

[0]: https://help.shopify.com/en/api/reference/inventory

Re: How Shopify Manages API Versioning and Breaking Changes

#76
post #74

Earlier quoted context omitted.

Shopify's business plan is offer minimum functionality for a low monthly fee and then users use the marketplace to add additional functionality which Shopify takes a 20% cut. I'm actually working on an open-source fulfillment and operations app for Shopify: https://github.com/openshiporg/openship I use it to build small apps that interact with the API directly instead of paying and relying on any apps.

But Shopify hold the transaction fee and charge 2% on top. So really in the end. Shopify is not that much cheaper. Considering bigcommerce doesnt charge this. I am bullish on the long term of bigcommerce. Or anything that goes after the small medium business. I don’t think Shopify could sustain a real entrance by Adobe with Magento, or a product in the same space from someone like Microsoft. As these companies know d…

Yes but their are ways to circumvent this. You could just use Shopify as a headless CMS for $9/month. Use their storefront API and a static site builder like Gatsby as your storefront. Then you can integrate your own payments and create the order on the backend. You could even use the new Stripe Checkout page.

Re: How Shopify Manages API Versioning and Breaking Changes

#77

Hi everyone. As the founder of an API company, this article has me wondering about the semantics of versioning — so I thought I’d ask the community a question. I hope the Shopify API team doesn’t mind! When you all think about API versioning, what makes the most sense to you — a semver approach (major.minor.patch) a la NPM, or a date-based approach (2020-01-07) a la AWS? Or is some combination of the two desirable? A…

V1

V2

V3-dev/v3-test/v3-rc - all related to how many changes you expect

V3

Re: How Shopify Manages API Versioning and Breaking Changes

#78
post #47

Earlier quoted context omitted.

Funny that you mention Stripe, because it was definitely the canonical backwards compatibility API for me. ... Until just recently in mid Nov they changed some behavior that caused us to double/triple/quadruple charge customers unintentionally in some not-so-uncommon edge cases... I’m still trying to square this one with their support, so details are a bit thin. But definitely a big surprise for me to see this happen…

Not sure if this helps but there was an issue with chrome submitting forms multiple times recently. It has been fixed in the recent 79 release.

It’s not that. Purely a Stripe backend change in this case. They confirmed it but I’m still waiting for more details.

Re: How Shopify Manages API Versioning and Breaking Changes

#79
post #59

Earlier quoted context omitted.

Hi Tobi, It was the change on limitations for variants. We woke up one day to product additions failing. Took about a week for the tech team to figure out that we were being throttled because we were exceeding 50k variants. Totally understandable in the bigger picture of things, but I didn't feel we received adequate warning. Developer support had told us that sometimes they grant temporary exemptions but in our case…

You couldn't pay the 6,000-8,000 for like 3-4 months and keep your business afloat until you rewrote it? Kind of sounds like your business was really really in the red already, or more information is missing?

Not everyone is in the “money is no object” startup economy. Outside of tech small businesses are actually small.

Re: How Shopify Manages API Versioning and Breaking Changes

#80
post #74

Earlier quoted context omitted.

Shopify's business plan is offer minimum functionality for a low monthly fee and then users use the marketplace to add additional functionality which Shopify takes a 20% cut. I'm actually working on an open-source fulfillment and operations app for Shopify: https://github.com/openshiporg/openship I use it to build small apps that interact with the API directly instead of paying and relying on any apps.

But Shopify hold the transaction fee and charge 2% on top. So really in the end. Shopify is not that much cheaper. Considering bigcommerce doesnt charge this. I am bullish on the long term of bigcommerce. Or anything that goes after the small medium business. I don’t think Shopify could sustain a real entrance by Adobe with Magento, or a product in the same space from someone like Microsoft. As these companies know d…

Hmm, for a small retailer, Shopify offers the same transaction fee as you would get from Square / Stripe which is about 3%.
Post reply on HN