We have an app that needs to render elements dynamically based on user interaction. Pulling all this data at once during initial render is wasteful and heavily increases initial load times.
For pulling data dynamically (as needed based on user input), the Storefront API was the best option, but there is no way to access Storefront API for a public app that is not a sales channel. But since our app is not a sales channel as far as the documentation describes one, I don’t think we can create a sales channel app just to get access to the Storefront API of a store (we do not publish products on to a secondary marketplace).
Other options like section rendering APIs don’t work since they don’t accept query parameters. App proxy is an option but Storefront API feels like a much better option that perfectly suited for a job.
Would it be against Shopify T&C to ask a client who installs our public app to create a private app, get its Storefront API key and paste it somewhere in our app’s admin portal and then we could use that instead?
Any other ways or suggestions to achieve the same?