Sales Channel API is Non-Existent with GraphQL?

Highlighted
Shopify Expert
4099 22 371

Is it true? There is a RestAPI endpoint dedicated to Sales Channel but there is zero support for GraphQL?

 

Is there an ETA on when Sales Channel API calls can be made with GraphQL?

Custom Shopify Apps built just for you! hunkybill@gmail.com http://www.resistorsoftware.com
0 Likes
Highlighted
Shopify Staff
Shopify Staff
439 53 84

Hey @HunkyBill,

 

Which feature are you looking for specifically? Some functionality such as publications and resource feedback are available in the GraphQL admin API. Checkout and payment processing are available through GraphQL on the storefront API.

JB | Developer Support @ Shopify
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Click Accept as Solution 

0 Likes
Highlighted
Shopify Expert
4099 22 371

Specifically? Just the analog of what is in RestAPI. So for example, ProductListing and CollectionListing. These are not present at the moment AFAIK.

 

I currently have no need for Checkout or Payments. Just curious as to why the listings are not part of the list of queryable objects.

Custom Shopify Apps built just for you! hunkybill@gmail.com http://www.resistorsoftware.com
0 Likes
Highlighted
Shopify Partner
12 0 3

The ProductListing and CollectionListing endpoints in the "Sales Channel API" are equivalent to the Products and Collections objects in the Storefront GraphQL API. Like the REST counterparts you're describing, they can only be invoked using a Storefront Access Token.

You can create a Storefront Access Token for your app (if it's a channel) via the REST Admin API https://shopify.dev/docs/admin-api/rest/reference/access/storefrontaccesstoken?api[version]=2020-04.

EDIT: Sorry, I was wrong about the equivalent REST APIs. They actually do use an admin API token. Nevertheless, you'll need to generate a Storefront Access Token if you want to query those objects in the Storefront API.

1 Like
Highlighted
Shopify Expert
4099 22 371

Ok.. Thanks for the info. It is not that I need to go through the trouble of creating an access token for Storefront API calls. Seems that would involve more trouble than it is worth. Does seem a little strange. I guess this reveals that under the hood, a sales channel is used to back up a storefront and yet, the merchant would have no control over the contents of it like they would a sales channel. Interesting... 

Custom Shopify Apps built just for you! hunkybill@gmail.com http://www.resistorsoftware.com
0 Likes
Highlighted
Shopify Partner
12 0 3

You're right that a "sales channel" is essentially equivalent to a Storefront API client. In either case, the merchant can control which products are published to which surface in their admin.

 

The ProductListing and CollectionListing APIs were essentially an early precursor to the Storefront API. I wouldn't be surprised if those endpoints were deprecated sooner rather than later.

 

FWIW, generating a Storefront Access Token is rather easy. It's just a single POST request for the shop and the token does not expire. You can just store in your `Shops` table like you would an access token. Just a heads up, you'll need to request at least one `unauthenticated_` scope on the shop (in this case, you'll want `unauthenticated_read_products`) BEFORE provisioning the storefront access token or the request will fail.

1 Like