Since migrating to GraphQL, we’ve seen an unprecedented number of API errors across our client base which is extremely frustrating. Some examples:
cURL error 28: Failed to connect to XXXXX.myshopify.com port 443 after 129613 ms: Couldn’t connect to server
cURL error 18: transfer closed with outstanding read data remaining
500 Internal Server Error response: {“errors”:“Internal Server Error”}
[message] => Internal error. Looks like something went wrong on our end. Request ID: f3d6a74a-266c-4dad-8c40-198e07686b09-1738466062 (include this in support requests)
It’s actually becoming quite hard to successfully read data for our clients across their whole catalogue.
Any advice on what’s going on, and how we can alleviate these issues?
Unfortunately we can’t currently integrate the Bulk Query APi, so please don’t recommend that as an option.
Outages can happen. You can check the Shopify Status page, but it’s really tailored more for merchant use and I’ve heard it’s segmented based on which region your *.myshopify.com account is based in because of the multi-tenant nature of Shopify’s infrastructure.
Regardless, implementing a background job queue is the best practice way of recovering automatically after an outage. You should be using background jobs with retries so that way when the Shopify API recovers, your system can pick back up where it left.
Also, I know you said not to recommend it, but yes the Bulk Operation API is a great resource for large queries. I’ve come to rely on it for many things and it’s robust.
You can report these outages to Shopify Partner support from you dashboard, but in my experience the amount of escalation it takes to actually get the problem in front of a Shopify Engineer is so long.
By the time I go back and forth with Shopify Partner Support the issue usually recovers and opening a ticket was a waste of time. Just my experience, you might have better luck than me.
It’s complicated to work with, with the webhooks/polling and only running one query per merchant at a time. But I’ve had great success with it for consolidating missing webhooks from Shopify.
Got it. I’ve asked Shopify API team to see if anything we need to take care of. Or they can modify the API response in more better way just like we have for API Credits Usage.