Shopify Public App - How To Get Key, Token & Url - shopify

I am totally new to Shopify Public App development and I will need your help to understand it a bit better.
For a client, I need to build a Shopify Public App that will be used by several Merchants.
This application will have to access the Merchants' store via the Admin API.
If my understanding is correct, in order to access one specific Merchant's store via the Admin API, I need to have 3 pieces of information from that Merchant's store: the Public API Key, Token and URL.
Now, my question:
When the Shopify Public App is installed by a Merchant, how does my app get these 3 pieces of information (specific to that particular merchant) ?
Is there any "magic" trick? Does the Merchant need to input this info? ...
In advance, many thanks for your help

Each merchant will need to install your app. In the installation phase shopify will pass, as an argument, the access token, that is a token that you will need, to use the Admin API.
If we're talking about an embedded app is expected that every request made is authenticated.
Depending on which kind of app you want to create (embedded or not) and language you may want to use, using the Shopify Cli to create the first draft of the app is really reccommended. It will create the base to have an installable app. Here is the documentation https://shopify.dev/apps/getting-started/create
You need to install the Shopify Cli and then run
shopify app create (node | ruby | php)
depending on your language of choice.

For those who might be interested, I finally found the link to the information.
Shopify - Getting started with OAuth

Related

Migrating from Shopify Private App to Shopify Customer App

I have a few questions regarding ShopifySharp package and Shopify Custom App and Private App.
It has a warning that says:
Some of your private apps and/or admin webhook subscriptions may not work as expected because they are using deprecated API versions.
It also has say, private apps need to be updated before January 1, 2023.
To give you an idea, we created an application in C# built using ShopifySharp. It has been working for years already. It has API Key, password, and domain to connect to, to get the essential data from. It's understandable. Now here comes the confusion. I created a new app in Shopify by clicking "Create an app" in the Settings, putting the name, etc. So, it now says it's a Custom App below the app name.
It made me confused because I don't know if I'm going to replace the old Private App with the new Custom App and use its credentials.
I also don't know if those credentials I am seeing is what I am going to put in my C# application, like the API key and secret key. I don't even know the use of "Admin API access token". I am new this Shopify thingy by the way but I have been developing and updating the C# app but I was just concern on the API key and password in the Private App.
I am also seeing Webhooks subscription default to "2022-10" but I don't know what to do with it.
I already asked the ShopifySharp maintainer but I am not satisfied with the answer. All I have to do it to change the https://myshop.myshopify.com/admin/api/2020-07 to https://myshop.myshopify.com/admin/api/2022-04? Is that all?

How to display data in Shopify Store from external API using app proxy

My goal is to display data retrieved from a 3rd party (external) API that requires authentication in my Liquid Shopify theme.
I'm looking to access product options data from the Hulk Product Options API, which requires authentication, as documented here: https://productoption.hulkapps.com/api-docs/index.html
My goal would be to send a get request and retrieve data from the Hulk Product Options endpoint.
I've read that an App Proxy is what I need to set up, however I am new to the Shopify app world and am totally lost at how to set this up.
What I've done:
Followed the steps here to create an app and install it on a development store that I created through my partners dashboard.
Went to the partners dashboard, clicked "Apps" and found the app proxy section.
Questions:
What do I put in those fields? I can't find examples for filling out that section with info from an external API.
What code in which file do I need to add to the node app that was generated using shopify node create. Or is this app just necessary to be able to fill out the app proxy info?
What url can I send a GET request to using AJAX / JS in my liquid theme code?
I'm a theme developer new to app development and have never created an app, so if you can provide basic and specific instructions (code would be wonderful!) for someone who knows front-end and is competent but is lost in the app world it's much appreciated. I've asked other theme developers who also have also tried and not been able to figure this out, so there seems to be a gap in the tutorials and resources provided.
Thanks in advance!

What is the Shopify Public App Install Flow?

So I've been building a Shopify App.
Currently I've gotten to the point where I get the permanent access code.
My question lies with the flow of installation.
Currently the store owner would create an account on my website, then click a button to install our shopify app.
taken to shopify app install prompt -> clicks install -> redirects to my site where I exchange code for access code.
This works fine. But where I am having trouble is what if once my app is on the Shopify Store.
A store installs it from shopify directly (meaning they don't have an existing account with me) I then have no account to save the data to.
How do I go about this?
I looked at other apps on the store. Some apps like Shippo can take you straight to their site first to create an account and then install their app.
What's the solution?
You misunderstand the install from Shopify. When someone installs from Shopify, they come knocking on your door. They introduce themselves as being ***.myshopify.com. Once they approve your App and accept your terms of service, you get to confirm their account, and hence you persist their data in your database exactly the same as someone that installed your App outside Shopify.
So when you say you no account to save the data to, well of course. They are a new install. So make a new record. Instead of an update, you to a create.

Access Shopify API from an External App

I am trying to access the Shopify API from an external app that I am building (mobile). For example, I would like to access this API:
https://mystore.myshopify.com/admin/products.json
Of course I would need to authenticate my request first. So far everybody I asked (including Shopify support), suggested that the only way to access the data is through a Shopify App.
Can you suggest a way to do this?
I have found the answer. Follow these steps if you want to access the Shopify API from an external app:
Login to your store as an admin
Go to Apps
Create a Private App
Use the following pattern with every URL you create (I am using this to get all the orders)
https://:#.myshopify.com/admin/orders.json
The API Key and the password appear in your private app info page.

do I have to register as a shopify partner?

(I am reposting this question here because I tried on the google news group and got no responses.)
I need to build a shop for my client, and the client already has a domain and a web site. I need to integrate e-commerce functionality in to the site. This is going to be done by sending AJAX requests to the API.
my question is whether I need to get a partner account for this? I am not yet going to write an app that people would install, I am just building a store for my client. how is it done?
You do not need a Shopify Partner account for this. You can instead create a "Private application" within the normal shopify admin, which will give you the api credentials you need to make stuff happen.
This article on the shopify wiki gives a good overview of the process for getting started (the first sections are most relevant in your case):
http://wiki.shopify.com/Using_the_shopify_api_gem_with_the_credentials_of_a_private_app