Overview

Note

This SDK is not yet publicly available, but you can apply to become eligible.

Sales channel apps let Shopify merchants sell their products directly on a specific platform or marketplace, such as Facebook or Pinterest. You can use the Sales Channel SDK to build an app that merchants will use to sell their products through your channel platform.

Merchants use the Shopify admin to select specific products to sync with your channel. You can use the ProductListing API to read the products that are meant for your channel. You can use the Checkout API to deliver a fully customizable checkout experience.

This diagram shows the high-level architecture of a sales channel app:

Sales channel architecture grey 2
  • Merchants publish products to your platform using the Shopify admin.
  • The ProductListing API is used to surface merchant products on your platform.
  • Customers add products and follow the checkout flow to purchase. Your app uses the Checkout API to enable this experience.

Requirements

Sales channel apps require the Embedded App SDK, which helps to structure the merchant experience when managing channel-specific settings in the Shopify admin.

Your app also must meet the best practices and design guidelines that are set out in the UI Kit. The UI Kit also includes CSS and JS resources for building UI components.

Key resource types

ProductListing - A product listing is a subset of products that merchants have chosen to publish in your channel. You can read this subset of products for display on your platform and stay in sync using webhooks.

CollectionListing - A collection is a subset of products that can be surfaced and viewed together for convenience.

Checkout - A checkout is an object used to manage a user’s cart as it transitions to a paid checkout. This includes calculating taxes and shipping rates, attaching a shipping address, and associating one or more payments.

Sales channel use cases

There are a variety of different use cases for sales channel apps.

Reading products and staying in sync

Merchants select specific products and collections to publish on your channel. You can use the ProductListing and CollectionListing APIs to read products and collections. The product_listings and collection_listings webhooks provide a convenient way to keep your channel in sync as merchants update their products.

Creating checkouts

Users of your platform can purchase a merchant's products through your sales channel app, powered by the Checkout API. Using the Checkout API, your app can programmatically create a Shopify cart, reserve inventory, retrieve shipping rates, calculate taxes and process payments for a Shopify merchant.

Attributing carts

Rather than using the Checkout API, you might find it preferable to leverage Shopify’s online store checkout experience using cart permalinks.

All Shopify stores come with a beautiful, responsive web checkout. Cart permalinks allow you to link to a pre-filled web checkout containing product variants of your choosing. You can make sure that the resulting checkout will be attributed to your application by adding the access_token URL parameter to the cart permalink. The access_token param is a valid Storefront Access Token.

https://your-store.myshopify.com/cart/70881412:1,70881382:1?access_token=b8aa30d8f1d398883f0eeb5079777c41

You can pass other marketing attribution data to Shopify using utm URL parameters. Learn more.

Next Steps

Requirements

Product Listings API

Collection Listings API

Checkout API