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:
Orders
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:
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).
Webhook:
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:
products/create
products/delete
products/update
orders/fulfilled
orders/cancelled
app/uninstalled
Here are the access scopes we request:
write_products
read_products
read_orders
write_orders
read_inventory
write_inventory
read_shipping
write_shipping
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!!!!
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 | 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
User | Count |
---|---|
14 | |
12 | |
10 | |
8 | |
7 |