I'm in the middle of creating an app in Adalo but the inbuilt database cannot handle concurrent requests and especially not with a lot of users. My app may have 300+ users trying to purchase 300 available tickets at the same time so I need to make sure the database can stay in sync and prevent overselling. I've asked the Shopify tech team to confirm on this point but if anyone has any experience please let me know.
Anyway.. to the question about the APIs. I want to have Shopify handle the whole order process from my app by linking from the app to Shopify and then back to the app again. I want to pass the user email (the user is logged into my app at this point) to Shopify to be used in the order that the user will make. Once the user has made the order I want to pass the user email and order details back to my app so that I can display the orders in the app for the users convenience.
In order for this to work seamlessly I need the user to not have to login to make a the purchase on Shopify (as they're already logged into my app). Is this possible and does the above sound feasible?
Thanks for your help in advance and apologies for the novice questions.
If you are managing the inventory with Shopify and the product doesn't have "Continue selling when out of stock" enabled, you should not need to worry about overselling.
Regarding integrating your website's login with your Shopify store, we do have a Plus-only feature which would allow that called Multipass login. If you are working with a Shopify Plus store, you can implement this to allow your customers to make a Shopify purchase after logging into your website. You can read more about this here: https://shopify.dev/api/admin/rest/reference/plus/multipass
Thanks for the reply.
Unfortunately I won't be using a Shopify Plus store as I'm just starting out with Shopify. Do I have any other options for integrating Shopify without the user having the log in again?
You have the option of disabling accounts entirely, or making them optional, on the Shopify store. You can change this under Settings > Checkout in the Customer accounts section.