Live data from Hacker News

What I wish I knew before building a Shopify App

ma.ttias.ch

31–40 of 175 posts

Re: What I wish I knew before building a Shopify App

#31
Ugh, I can so relate to this right now. I followed their Node embedded app tutorial closely, submitted my app, then found out they no longer allow embedded apps to use cookies like their tutorial does. Finding up to date documentation is a struggle and some of the components they suggest you use are closed source and completely undocumented.

Re: What I wish I knew before building a Shopify App

#32

Earlier quoted context omitted.

Is Gumroad a better fit perhaps for this use case?

Gumroad looks cool, but the percentages they are taking are extortionate, not sure if they are better. It would get to a point where I am giving thousands of pounds to Gumroad to lock myself in. How customisable is it, can it do Apple / Google Pay?

Not sure if it does mobile payments natively. Depending on your content, Ghost [1] might be another option with a more palatable cost.

[1] https://ghost.org/

Re: What I wish I knew before building a Shopify App

#33
post #28

We've just started developing a Shopify integration and used their Python API library because we're building it into an existing large Django codebase, and I've been shocked at the quality of the API library. We're now aiming to rewrite the bits we need. - `import shopify` makes an API request. If their API rate limits you, your server will probably crash. This happened to us in production. - That API request gets a…

> From what I can tell their API deprecation strategy is quite hostile to developers. Yes, every 3 months you need to revisit the API. It's good and bad. It means that if you're casually developing an app, this will consume a lot of time. Good because if forces you to update and keep your app relevant.

Well, yeah, but why do they need to make changes to their API so frequently? This is both developer and business hostile. I get extremely pissy when paying for a service where the provider regularly dumps non-value-adding work into my product backlog that sucks up time I could invest in more valuable areas.

Re: What I wish I knew before building a Shopify App

#34
post #14

Shopify is an extremely restrictive platform for merchants and developers, I urge people not to use it if they wish to build on top of it. There isn't ways to have a custom checkout (one page) with this system and subscriptions are not natively built in, relying on a third party ecosystem. Theme development is also arcane and not the standard way web developers build a simple website. Oh and they disallow you to use…

They integrate with a lot of payment gateways, even if Stripe isn't one of them. https://www.shopify.com/payment-gateways/united-states

In that case they still take 2% which is pretty absurd.

Re: What I wish I knew before building a Shopify App

#36
I built a print-on-demand system that integrates into Shopify stores. To vent a little...

* I can concur that their API is unreliable. About 1 in 5 of my CI runs fail with mysterious 500 errors. It's infuriating.

* The support channels are a wasteland. Do not expect help.

* The documentation is super thin. At first glance it looks decent - there's the objects, there's the fields those objects have. But it's missing all the details about how those fields are supposed to work. Example: A Fulfillment has a tracking_numbers array, but there doesn't seem to be any way to add multiple tracking numbers. The docs are silent, and questions about this in the support channels remain unanswered. For years.

* There are two completely different APIs (graphql and REST), which do not have equal capabilities. If Shopify is planning on deprecating one of them, they should give us guidance.

* The API is inconsistent. I count at least FIVE different representations of an Address structure, each slightly different for no apparent reason. Eg "country" vs "countryCode". This is the kind of thing that creeps into projects in dynamic languages when nobody's paying attention.

* There's a lot of overengineered stuff. The Metadata API is really unpleasant compared to Stripe's simpler approach.

* There's no way to set up common shipping scenarios like "$N for first item, $M for each additional".

I could go on. But I will say this: It's better than Etsy's API. Though Etsy is finally working on it again, so maybe that will change.

Re: What I wish I knew before building a Shopify App

#37
post #28

We've just started developing a Shopify integration and used their Python API library because we're building it into an existing large Django codebase, and I've been shocked at the quality of the API library. We're now aiming to rewrite the bits we need. - `import shopify` makes an API request. If their API rate limits you, your server will probably crash. This happened to us in production. - That API request gets a…

> From what I can tell their API deprecation strategy is quite hostile to developers. Yes, every 3 months you need to revisit the API. It's good and bad. It means that if you're casually developing an app, this will consume a lot of time. Good because if forces you to update and keep your app relevant.

Keeping your app relevant because the API it is built upon is unstable or has breaking changes is hardly a good.

Re: What I wish I knew before building a Shopify App

#38

I share some of the pains the author raises. One major thing that is a bit discouraging is the inconsistent feature support they have between REST and GraphQL APIs. Neither of them cover all functionalities, so sometimes you have to be bouncing back and forth between REST and GraphQL. On the other hand, they are doing an amazing job and constantly providing updates. Their docs are really good and improving everyday.…

Curious as to why this is being downvoted? Could down voters please share their views?

Re: What I wish I knew before building a Shopify App

#40

I built a print-on-demand system that integrates into Shopify stores. To vent a little... * I can concur that their API is unreliable. About 1 in 5 of my CI runs fail with mysterious 500 errors. It's infuriating. * The support channels are a wasteland. Do not expect help. * The documentation is super thin. At first glance it looks decent - there's the objects, there's the fields those objects have. But it's missing a…

Hey, I'm building an e-commerce operations platform that let's you connect any e-commerce platform to fulfillment and 3PL platforms. We're integrating with Printly and the like right now. Is there an API for your platform yet?
Post reply on HN