[Read Before Posting] Custom Storefront + Storefront API F.A.Q

vix
Shopify Staff
534 104 110

Custom Storefronts FAQ

Welcome to the Custom Storefronts community board. Please read through this information prior to asking your question.

What is a custom storefront?

  • Think mobile apps for your business, a custom front end for your website, adding commerce into a video game, offline commerce such as a smart mirror - and more.
  • If you have questions about customizing your theme please post in the Shopify Design board.

Bug Reporting + Feedback:

  • If you are reporting a bug with a specific SDK please utilize the Github repos. Otherwise, please post it here with the title [bug] followed by a brief description.
  • For more discussion or to provide feedback, head to the Storefront API Feedback - Github Repo.

Setup Tips:

Rate Limiting:

  • The Storefront API is rated limited by the buyer IP and can not be utilized server-side or with a proxy for this reason.
  • The Storefront API utilizes a time-based leaky bucket algorithm and every request to the Storefront API costs at least 0.5 seconds to run.

Authentication:

  • The Storefront API is an unauthenticated API and access is managed by scopes
  • For a private app, you will utilize the storefront access token from the Admin. This is different from the API Key and Password used for the Admin API.
  • For a custom app or public Sales Channel, make sure the app is first installed, then request a Storefront API access token from the Admin API using either the StorefrontAccessToken REST resource orstorefrontAccessTokenCreate via GraphQL mutation.

Checkout + Performance:

  • The Storefront API returns a Web URL field that your customer will complete the checkout process on.
  • Sales Channels can request payment processing permissions to complete checkouts with mutations.
  • It is best practice to only initialize a checkout when necessary.

Custom Domain: 

  • If you are having issues with your .myshopify.com URL being surfaced at checkout, please check that you are initializing the client and API with the custom domain such as https://backyardbotanicgoods.com/api/2020-04/graphql vs. coolstore.myshopify.com/api/2020-04/graphql 

Flash Sales:

  • The Storefront API is not designed to be used for flash sales for two main reasons:
  • Bot protection is unavailable.
  • The Storefront API has a limit on the amount of checkouts that can be created per minute. If an API client exceeds this throttle, then a 200 Throttled error response is returned. Shopify recommends designing your app to be resilient to this scenario. For example, you could implement a request queue with an exponential backoff algorithm.

 

 

 
 
 
 
 

Vix | Developer Support @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog

Replies 0 (0)