There are lots of great additions to the upcoming 2021-07 release of the Storefront API. You’ll find detailed release notes for this version release here. Below are the highlights:
You can now retrieve subscription products from the sellingPlans object, and enable a buyer to purchase a subscription with Shopify’s native checkout.
Tutorial: Manage subscription products
The prices that display in a storefront can vary based on a buyer's location. Presentment currencies have been deprecated in favor of international pricing powered by the new GraphQL directive called @inContext. For example, you can use the @inContext(country: CA) directive to query the price of a product within the context of Canada. You can also explicitly set the context of a checkout and cart for a better buying experience.
With the Storefront API you can now query whether a product is in stock and available for local pickup at a specific location. You’re also able to return a list of in-store pickup locations, sorted based on the closest location to a customer's latitude and longitude.
Tutorial: Support local pickup
The Storefront API now supports metafields on the following additional resources: Article, Blog, Collection, Customer, Order, Page, and Shop. You can retrieve metafields to access information from different types of resources to enhance your commerce experience. Previously metafields were only supported on the Product and ProductVariant resources.
We have also added the following features to the unstable Storefront API version:
You can now use the Storefront API to build a cart during a customer's session. The cart enables buyers to collect the merchandise they intend to purchase, get the estimated cost of those items, and continue to a checkout once ready. It is optimized for performance and designed to scale without any store-wide rate limits. When a customer is ready to purchase their items, a checkout URL can be requested using the cartCheckoutURL mutation.
Tutorial: Manage a cart
Narrowing down your collections query by specifying which products to fetch can support a number of buyer experiences. For example, you can filter search results based on a subset of data, such as product size, color, and vendor.
Tutorial: Filter products in a collection
Build custom buyer experiences backed by Shopify's speed, scalability, and power. Hydrogen is a new toolkit for developers to build non-liquid custom web storefronts. You can also leverage Oxygen to host Hydrogen storefronts directly on Shopify that is fast, global and optimized for commerce.
We’re heads down building this right now, sign up for updates here
A new public repo has been created for all discussions and support regarding the Storefront API. This is the place to find proposed schema changes, report bugs, request features and more. We encourage you to direct your discussion there moving forward - check it out! https://github.com/Shopify/storefront-api-feedback
We look forward to engaging with you on GitHub!
Is it true that an app has to be a selling channel to be able to use Storefront API?
Is there a way to make an existing app a selling channel? Seems to be not possible for an existing app that already has installations...
Is there a way to use Storefront API in an existing application?
I need my app to be able to list product subscriptions (selling plans). The app has been using only Admin API so far, but Storefront API seems to be better fit for this.
(Btw, I can not list selling plans with Admin API either, but that is off-topic here)