Welcome back to Developer Digest. As our platform evolves, we’re excited to work with you to solve merchant challenges.
In this edition, we introduce API versioning, new features to the platform, and the latest deprecations. And in case you missed it, we’ve got you covered with the details you need to know about Shopify Unite 2019—our largest annual conference and your opportunity to directly connect with the Shopify Partner community.
Let’s get started.
In this article
API versioning
To ensure that changes to the Shopify platform are predictable and clearly communicated, we’ve introduced API versioning at Shopify. This change provides a more reliable way to release valuable but complex projects that is less disruptive for our developer ecosystem to adopt.
Our first version of Shopify’s Admin API (GraphQL and REST), called 2019-04, has now been released. There will be no immediate effect on your app, but we encourage you to start calling 2019-04 in your private and public apps today. We are currently only versioning the Shopify Admin API.
To help you transition in between updates, you will be able to review the user interface of upcoming features with developer previews in the Partner Dashboard. This will allow you to test your apps and custom integrations, build new features, or update marketing and support documentation to better serve merchants.
What you need to know about API versioning:
- New versions will be released every quarter in January, April, July, and October and will be supported for 12 months after their release date.
- Our naming convention for new API versions is calendar-based and includes the year followed by the month. For example, 2019-04 is for the April 2019 release, 2019-07 for the July release, and so forth.
- Shopify API versions are explicitly declared in the URL that your app calls:
REST URLs:/admin/api/{ version }/{ endpoint }.json
GraphQL URL:/admin/api/{ version }/graphql.json
For example:
REST URLs:/admin/api/2019-04/products.json
GraphQL URL:/admin/api/2019-04/graphql.json
- Although not recommended for app production, you can also test new API changes in development using our unstable or release candidate versions without directly affecting your app. However, there is no guarantee that endpoints won’t change or that all features will remain the same.
- Our first version, 2019-04, has the same behavior as the API called with no version. You can continue to call the Admin API with no version, and Shopify will return with the oldest supported version.
Learn more about API versioning in our developer documentation.
You might also like: Introducing API Versioning at Shopify.
Shopify Unite 2019
Shopify Unite 2019, our fourth annual partner and developer conference, will take place at the Beanfield Centre in Toronto July 18-20, 2019.
As a Shopify app developer, this is your opportunity to meet like-minded entrepreneurs, attend workshops, and hear from leadership on new product releases. You can also book office hours to speak with a Shopify team member with technical or business strategy expertise.
In addition, we will have plenty of opportunities for networking with your peers, as well as an after hours party to ring in the weekend.
For more information on event details, check out the Shopify Unite 2019 website.
POS embedded apps are no longer supported on iOS 9 or earlier
An important reminder that apps that use the Shopify POS App SDK will no longer function on devices that use iOS 9 or earlier. Any calls to embedded apps will fail to return and your clients will receive an error page that prompts them to upgrade their device or operating system.
API throttling on paginated requests
As of April 1, 2019, there is a new limit on page-based pagination requests when the resource offset generated by a request is greater than 100,000. This allows the connection to remain open and errors to a minimum.
For these requests, apps will be limited to one API call every two seconds instead of the two calls per second provided by the standard API call limit.
In the event that you experience this throttle, we encourage you to adopt since_id
based pagination instead of using page. When using since_id
your requests will not be subject to the new pagination throttle as long as the page parameter isn’t used in the same request.
If you find yourself in a situation that requires a page parameter, you are encouraged to adopt the Retry-Afterresponse header and adjust your request rate accordingly.
Learn more in our API call limit documentation.
AJAX API now supports multi-currency
The AJAX API price, discount, and total values now reflect the customer's presentment currency on stores using multi-currency with Shopify Payments. This change impacts the following endpoints:
/cart.js
/products/{product-handle}.json
/recommendations/products.json
All monetary fields returned by these endpoints are returned in the customer's presentment currency. The ISO code for this currency is available via the currency field on the /cart.json
endpoint.
Learn more about AJAX API in the Shopify Help Center.
Increase speed on mobile with cookies between app loads
Fun fact: you can use cookies to reduce the app loading time for subsequent launches by switching to persisted cookies (cookies with an expiry date).
Find out more about using a rails engine to build Shopify apps, or use these instructions if you use the shopify_app
gem.
You might also like: 5 Ways to Stay Informed as a Shopify App Developer.
A stronger community
We hope that these updates instill the confidence you need to build on the Shopify platform, while helping you to grow the business of your dreams.
Read more
- Introducing the Shopify App Challenge: Commerce and COVID-19
- Free Webinar] Building Great App User Interfaces with Polaris
- Leveraging the Partner API: Useful Business Tools You Can Build
- How to Level Up Your App with Theme App Extensions
- How to Optimize API Rate Limits
- How to Build Powerful In-App Surveys: Put the User First
- 5 Community-Built API Tools Developers Should Check Out
- Ensuring trust and quality in the Shopify App Store
- Your Shopify App Isn’t Getting Any Installs. Now What?
- An Introduction to Rate Limits