I am planning to develop a mobile client app using shopify storefront api as a backend. I've read docs and community forum and I conclude that it is possible by creating private app and enable storefront api access token. So it can be used in mobile client app to accessing data. However I have a couple of question that I want to clarify.
1. Unauthenticated access scope, does this mean that my users/customers don't need to login in order to view product, view collection, checkout. if yes, how can I make it reverse, users/customers should login first in order to do all of that or at least initiate checkout? I know it is possible to configure the flow from client side but I wanna know whether it is possible from storefront api perspective?
2. Payment, Would that be possible to perform the payment process within the mobile client? I read some discussion that we need to convert the private app to sales channel, let's say I don't want to do that, what options do I have in order to perform the checkout inside the mobile client?
3. Authenticating user, the default option to create user is using email and password, is it possible to integrate it with social login ex: google/fb I see there is this mutation https://shopify.dev/docs/storefront-api/reference/mutation/customeraccesstokencreatewithmultipass?ap... but also in this post it says, we need to upgrade the plan to shopify plus. is this correct?
Thanks in advance
You've come to the right place. We have the two Mobile Buy SDKs to help get setup faster if developing for Android / IOS
1. The storefront API itself is an unauthenticated API - this means you are not utilizing an API key / Password but instead a Storefront Access Token that can be exposed. With this access token you are able to make api calls to gather information from Shopify. To display your customers orders, you would need to have the customer login https://shopify.dev/docs/storefront-api/reference/mutation/customeraccesstokencreate?api[version]=20... and get the access token. With this access token, you could access their orders to display.
2. Yes, you can fill out the form here for a native mobile app. This is linked on both of the repos listed above.
3. Multipass is a shopify Plus feature. For authentication, you would use the email / pass. If you are implementing social login, this would need to be mapped to that email/password login without multipass.
Hey @vix thank you for your reply,
Our team decided to use flutter, a cross-platform framework to build the client and that should be okay since all of our use cases available through the storefront api.
Related to get the customer's orders, is there any possible way to query that information without having the customer to login?, meaning we don't need the customer/user to login to the app. I am thinking to query that information based on email, but is that available through storefront api?