{"errors":"[API] Invalid API key or access token (unrecognized login or wrong password)"

Highlighted
New Member
4 0 0

I'm using a private app to generate the api key and password

I have used the url to call the api, but getting invalid url.

https://api:password@mystore.myshopify.com/admin/api/2019-04/orders.json

 

When I remove the api keys from the url, however keep the "search.json" at the end of the url I get an error. So the url I get the error with is:

https://mystore.myshopify.com/admin/api/2019-04/customers/search.json

 

When I remove the" "search.json" at the end and my url becomes:

https://meshedstore.myshopify.com/admin/api/2019-04/customers/

 

I get a good response, however I would like data in JSON format because I am using the chatbot service called Manychat and they can only read data in JSON format.

 

What I am trying to do, is from manychat, call out to Shopify to search for a customer in the store by name, then display back into manychat the orderstatus, fullfilled, the tracking number, the URL  for tracking

 

I have attached some screenshots

This screenshot, I used the URL without the api key and passoword in the URL, but it is on the headers page

11.JPG

 

This Screenshot shows the response headers jargon22.JPG33.JPG

This is where I get a good response back, however I've removed the very end of the api key"search.json", and of course it doesn't really return the data that I would like.

44.JPG

 

0 Likes
Highlighted
Shopify Partner
94 5 10

HI Triston,

From this point, I assume that, you have resolved the "Invalid API Key or Token issue as you are receiving the data".

 

As for the other query, from the documentation, I think you are looking for this endpoint - 

 

 /admin/api/2019-04/customers.json

 

to retrieve all the customers. Important to note is that this call is paginated, so you get a maximum of 250 results in a page & then query the next page like this - 

 /admin/api/2019-04/customers.json?page=2 & so on.

 

You can get the count of all customers with this endpoint -

 

 /admin/api/2019-04/customers/count.json

 

If there are more than 250, you may want to query the next page.

 

Thanks

 

0 Likes
Highlighted
New Member
4 0 0
Hi,

The “Invalid API Key or Token issue” is only technically resolved only once I remove the “ /admin/api/2019-04/customers.json” from the URL I am using to call out to shopify. This however doesn’t return the data I am seeking.

If I use “https://mystore.myshopify.com/admin/api/2019-04/“ the call works, as I put the API key and password into the headers, but again, doesn’t return the data I am seeking. From following the documentation, I should be using “https://myapikey:myapipassword@mystore.myshopify.com/admin/api/2019-04/customers.json” for example and this URL gives me the error.

All I am trying to do is: use manychat to call to shopify, get the status of an order, then spit it back to manychat.

0 Likes
Highlighted
Shopify Partner
94 5 10

Hi,

First thing first, make sure that you are copying the key & Password from here -

https://_YOUR_SHOP_NAME.myshopify.com/admin/apps/private/

Besides,

https://apikey:password@myshopdomain.myshopify.com/admin/api/2019-04/orders.json?status=any

https://apikey:password@myshopdomain.myshopify.com/admin/api/2019-04/orders.json

https://apikey:password@myshopdomain.myshopify.com/admin/api/2019-04/orders/order_id.json?fields=id,name,fulfillment_status,financial_status

where order_id is the actual order id you are querying.

All of the above works for me everywhere, the browser, the POSTMAN, Python shell, PHP, Node.js, etc.,

 

Make sure that you have copied the Key & Password as well as the scope correctly & you have the orders in your store to query though this has nothing to do with 404 or incorrect api key or password.

If still doesn't work for you, it would be nice, if  you could share the steps you are following.
Thanks

2 Likes
Highlighted
Shopify Partner
94 5 10

Just a point - you need to include the API KEY & Password as a part of URL & need not to send as headers.

1 Like
Highlighted
New Member
4 0 0
Hi,

Thanks for you time.

The URL works for me as well in my browser, it returns data. However, in Manychat is where it displays invalid URL.

It may be as simple as the request headers not being inputted correctly.

Do you have any experience with manychat as a software to shed some light how my request headers should be structured?
0 Likes
Highlighted
Shopify Partner
94 5 10

Hi,

I do not have experience with Manychat, however, if it is a GET request to shopify, you do not need any additional headers.

Are you able to make a request on POSTMAN? Can you share something? 

The URL should look something like this - 

https://{YOUR_API_KEY_HERE}:{YOUR_API_PASSWORD_HERE}@SHOP_NAME.myshopify.com/admin/api/2019-04/orders.json

 

Please use this & let me know if you are able to sort it out in POSTMAN.

 

Thanks

0 Likes
Highlighted
New Member
1 0 0

I am facing same issue while calling this api - 

API

https://<<domain>>.myshopify.com/admin/api/2019-10/customers.json

 

HEADER

["Content-Type: application\/json; charset=utf-8","Accept: application\/json;","X-Shopify-Access-Token: <<shopify access token>>"]

 

REQUEST 

{"customer":{"first_name":"Hello Dev","last_name":"","email":"devsdatest@notify.com","phone":"566655446","verified_email":true,"send_email_invite":true}}

 

RESPONSE

[API] Invalid API key or access token (unrecognized login or wrong password)"}

 

Can you please help me in this

 

0 Likes
Highlighted
New Member
2 0 0

Hi 

 

Have you got any solution for this, i am also facing similar issue

0 Likes
Highlighted
New Member
2 0 0

Hi

https://{{api_key}}:{{api_password}}@{{store_name}}.myshopify.com/admin/api/{{api_version}}/customers.json?

I can able to get a response using postman

 

I am using React Native after integrating with application getting a response a follows

 

Object {
"errors": "[API] Invalid API key or access token (unrecognized login or wrong password)",
}

 

return axios
.get(
"https://{{api_key}}:{{api_password}}@{{store_name}}.myshopify.com/admin/api/{{api_version}}/customers.json?"
)
.then(function(response) {
// handle success
console.log(response);
// this.setState({ dt: response });
})
.catch(function(error) {
// handle error
console.log(error);
})
.finally(function() {
// always executed
});
 
Can you help me with this issue to resolve it

 

0 Likes