App Review - Public App vs. Sales Channel App

5 0 2

Recently we submitted our public app for review and it was rejected.  Shopify said that we need to resubmit the app as a 'sales channel' app instead of as a 'public app'.  However, before we started this process, we reached out to Shopify and explained the goal of the app and they suggested we move forward with creating a ‘public app’.

Our app is designed to allow Shopify merchants to upload their products for sale on our website, which is a peer to peer marketplace for outdoor gear, similar to etsy, reverb and eBay. Our app is very similar to these apps, which we have confirmed are all 'public apps':

In further communicating with Shopify we have not received a clear answer on what we need to fix and they said we may not need to resubmit as a 'sales channel' app.   


We are using the Webhooks, Products, and Orders APIs. We are not using the Checkout API, so we thought that we would not need to create a Sales Channel app. We also confirmed that there isn't any data that we're accessing via the Orders API that we shouldn't be.

Are we able to move forward re-submitting this app as a ‘public app’ or do we need to resubmit as a ’sales channel app'?

We are doing our best to make sure we get this right, but would love some direction on how to proceed correctly.

Here is a summary of how we use the Shopify APIs:


Canceling an order from Geartrade cancels the corresponding Shopify order (POST /admin/api/2020-07/orders/{order_id}/cancel.json).
While canceling, if a note is specified, we use the order update API (PUT /admin/api/2020-07/orders/{order_id}.json).
Ordering through Geartrade uses the Orders API to create an order in Shopify (POST /admin/api/2020-07/orders.json).


Product GET is used for single products, triggered in response to the products/create, products/delete, and products/update webhooks. (GET /admin/api/2020-07/products/{product_id}.json)
Product list API is used when a store is first installed or when their config is updated in order to retrieve all of their products (GET /admin/api/2020-07/products.json).

We use the webook create endpoint in order to automatically set up webhooks when a store is installed (POST /admin/api/2020-07/webhooks.json)
Here are the webhooks we install:

Here are the access scopes we request:


The default read_orders and write_orders scopes only grant access to the last 60 days of orders. In order to access all orders, we would need to add the read_all_orders scope, which we aren't doing.

Is there anything we should be doing differently to get this approved through the public app channel?


Thanks so much for your help!!!!

Replies 3 (3)

Shopify Staff
836 100 223

Hey @rreinfurt,

Just to clarify, public apps can also be sales channels, they're not mutually exclusive. We define sales channels as 

Your sales channel might be a mobile app, a website, or an online marketplace.

So it definitely sounds like your app fits the description. I have a doc link here that explains how to convert your app into a sales channel.

JB | Solutions Engineer @ Shopify 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit or the Shopify Web Design and Development Blog

5 0 2
Thanks for your reply! If we do resubmit our app as a “sales channel” app do we have to rebuild it in Polaris? Our developer said this would cost us an additional $8-10K and we have already spent over $19K in creating the public app. We do not have the budget for this since we are a small company. We are not utilizing the checkout API nor do we require payment processing, so can we resubmit the app as a 'sales channel” without having to rebuild it? Also, we applied to to have Shopify approve the request to submit as a ‘sales channel’ a week ago, but still have not heard back. How long does this initial approval usually take? Thanks so much for your help.

5 0 2

@_JBthanks for your help.  see my reply above.  i had a few questions for you