Is public app the only way to access the admin APIs for other stores?

We want to get sales, orders, etc data from our user’s Shopify store to our web app. I believe OAuth2 with a public Shopify app is the only way to access those right? i.e GraphQL APIs.

Please suggest otherwise.

Right now, we are stuck in the public app approval process. Shopify review team wants sales data shown in our web app, but we cannot get sales data in test stores and cannot connect to real stores until the app is approved. Cyclic dependency, ah.

Any help is appreciated! Thanks!

The GraphQL API can retrieve Shopify orders. If your application type is dropshipping, then during the review process, you need to display product testing data on your application page and successfully push the product information to Shopify’s store. The product menu on Shopify will be displayed successfully and the information will be complete. reference Add product data using the new product model

2 Likes

Hey @koino,

Logan has some great suggestions above. In addition to that, you can add sales data to your test store using the ordersCreate mutation so that you have something to display for the review.

If you are building the app for multiple merchants, then Public apps are the required method.

1 Like

Thanks for the reply!
Able to get sales data on test store.

But it looks like our app doesn’t have the access to Order object (which is needed to show sales data):

{“errors”:[{“message”:“This app is not approved to access the Order object. See Work with protected customer data for more details.”,“locations”:[{“line”:1,“column”:168}],“path”:[“orderCreate”,“order”],“extensions”:{“code”:“ACCESS_DENIED”,“documentation”:“https://shopify.dev/docs/apps/launch/protected-customer-data"}}],“data”:{“orderCreate”:{“userErrors”:[],“order”:null}},“extensions”:{“cost”:{“requestedQueryCost”:21,“actualQueryCost”:10,“throttleStatus”:{“maximumAvailable”:2000.0,“currentlyAvailable”:1990,"restoreRate”:100.0}}}}

Thanks for sharing that. You’ll want to make sure you have filled in the protected data request in the partner dashboard. The link in that message should give you instructions, but if you get stuck anywhere, let me know.

1 Like