April 2020 — Shopify API
Welcome to the April 2020 edition of our API features roundup, designed to help you understand how all the changes of our latest API release can be adopted to improve the quality of your apps.
Most of the changes in our 2020-01 release focused on merchandising, and order and fulfillment flows. This quarter’s release, however, includes the introduction of duty and tax calculation, as well as updates to the Storefront API.
Let’s dig into the changes in the 2020-04 release by discovering new features and validation at checkout, and additional fields in Storefront API objects.
Released as part of 2020-04
Below are the features included in the 2020-04 release.
Build apps for Shopify merchants
Whether you want to build apps for the Shopify App Store, offer custom app development services, or are looking for ways to grow your user base, the Shopify Partner Program will set you up for success. Join for free and access educational resources, developer preview environments, and recurring revenue share opportunities.
1. Duty and tax calculation
For merchants selling internationally, allowing buyers to pay duties in the checkout can reduce the risk of delayed orders at customs, added shipment costs, and buyers rejecting shipments.
The 2020-04 version introduces a
Duties and taxes developer preview that gives you an early look at how your clients will be able to provide total cost clarity to their buyers using estimated duties and taxes at checkout. This will not only help your users’ customers pay for duties at checkout, but will also allow you to surface duties and taxes in your app’s workflows.
NOTE: Duty and tax estimates are placeholder values while the feature is in developer preview.
This release allows apps to read the duties paid on an order through the REST and GraphQL Admin API, and refund them through the GraphQL API. Refunds and order line items with duties now have a
duties field. Orders will also feature
original_total_duties_set as well as the
current_total_duties_set after refunds.
Most importantly, the
total_price_set on orders now includes any duties that have been paid during checkout across all API versions. Once this feature launches to merchants, all stores that enable duty and tax calculation will include duties in order totals by default and refunds will need to process duty returns on applicable orders.
To learn more about refunding duty and tax information through the API and how you can update your app to include duties, check out our tutorial.
2. Adding validation around
compare at pricing
To enable apps to trust the relationship between the
price field values on variants, we’re adding validation to ensure that the compare price is always higher than the actual price. This change allows apps to surface the
compare_at_price in new areas (like on a receipt) without worrying about odd values.
Validation only applies when modifying one of these fields, so apps using libraries that pass entire objects don’t encounter the validation when modifying an unrelated field, such as the variant’s weight.
To see the new validation in action, visit our versioning guide.
3. Storefront API additional fields on products and orders
In the 2020-01 version, we introduced order editing, allowing apps to help manage all aspects of orders on a shop, including edits to line items on existing orders. The Storefront API
Order object has been updated to reflect these new features and includes new fields to help you display orders on custom storefronts accurately—even after they’ve been edited.
The new Storefront
Order object includes
LineItem objects as well as order edit information, fulfillment status, and pricing details.
As part of the 2020-04 version, the Storefront API also exposes new fields to support translations and internationalization, and inventory status and counts.
You can read all about the new Storefront API fields in our release notes.
4. Exposing rich media filenames
In the last API version, we introduced a media connection for products in GraphQL. In order to make it easier to work with rich media files, we’re exposing media filenames with two new fields:
To learn more about how to use this connection and start including richer media experiences on the product page, visit our guide on working with product media.
2019-04 version removal postponement
As mentioned in our recent post on How Shopify Partners are Responding to COVID-19, we’ve decided to postpone the 2019-04 version removal to July 1, 2020, so that you can focus on helping merchants and other partners in these challenging times. Instead, both 2019-04 and 2019-07 API versions will be removed on July 1st.
This postponement also means that the move from page-based to cursor-based pagination will come into effect for all endpoints on July 1, which should simplify the migration process for your apps. You can find more information on how to migrate your app in our post on how to use relative pagination in your app.
For those of you who’ve already put in the time and energy to update, we want to say thank you for your diligence and understanding in the extension—your efforts haven’t gone to waste. You’re now ahead of the game, and can focus on more pressing matters for your business, clients, and app users.
Stay on top of changes
To stay up to date with the changes coming to the next release, remember to subscribe to the Developer Changelog so that you can start using features as soon as they ship into the release candidate for 2020-07. You can also subscribe to What’s New for Shopify Partners, our monthly product email, via the link below.