Not registered yet?
Register now! It is easy and done in 1 minute and gives you access to special discounts and much more!
By Deepak Kumar
I am a beginner to magento REST API, how i will get token and token secret to be fill in Postman REST resquest. I have only consumer key and consumer secret.
Please provide me the steps to follow.
Example request in Postman version 6.x.x
And response of this request is
You can get this credentials from Magento Admin. Click on edit icon in Integrations page.
like same how can i get customer list?
@Franklin P Strube Unfortunately, I don't have enough reputations to add a comment.
I would like to add the following. The Magento REST API does not require both outh params on the URL AND Oauth headers. This is not actually stated above. See the last note where it says you need to "add params to header". You do need to do this, but when you do you will find it sends both url params and oauth headers. You don't need the url parms, it will work fine without them.
btw: the franklin response worked great!
First, you want to request a valid OAuth token and secret. Do this by hitting the /oauth/initiate URL of your Magento store with a GET parameter for oauth_callback. We're going to use httpbin so that we can echo anything that is passed to our callback. Make sure you have "Auto add parameters" checked on the OAuth 1.0 settings for Postman.
That will give you an oauth_token and oauth_token_secret, which are only temporary. These are referred to as a "request token" and secret. Save these values somewhere because you will need them later.
Now, assemble a new regular HTTP request to the /admin/oauth_authorize URL of your Magento store. This will return a login form where you can accept the oauth token and authorize your app, however since we're using Postman we aren't able to interact with the form.
Instead, view the source and pull out the form_key hidden input value. Then assemble a new HTTP request to fake the submission of the authorization form. Make sure it is a POST request. Your new HTTP request should look like this.
Now, you need to actually confirm the authorization. Simply issue a GET to the /admin/oauth_authorize/confirm URL of your Magento store with the oauth_token as your parameter. When you send this request it will redirect to your oauth_callback from the first step. Now, you can see why we used httpbin as our callback in the first step.
OK. So, we're almost home. The last piece of the puzzle is to use the oauth_token, oauth_secret, and oauth_verifier all together to get a valid and persistent "access token". So, take the oauth_token_secret from the first step, and combine and assemble a new OAuth request like so.
You should get a returned token and secret. These will never expire! You can use them to query products and stuff.
Now, you can assemble your OAuth requests like this. Edit: Note, you must check the "Add params to header" checkbox in order for Magento REST calls to work properly.
Thanks a lot...you provided me what i actually need..thanks
Thanks a million... Exactly what I need to start requesting the Magento REST API!
@Franklin P Strube I am accessing it from an iOS app. Is this the right way to bypass the login window in step 2 (fetching the form_key)? I dont want the user to type in the username and password
This answer was incredibly helpful. The Magento API documentation is rather loose and only covers basic information.
Hi...can u help me with the same process in magento 2.1....Rest api oauth
Hi, I'm getting a bit stuck on the 4th step of the guide "Instead, view the source and pull out the form_key hidden input value. Then assemble a new HTTP request to fake the submission of the authorization form" - If I do this, it doesn't accept the form_key value, tells me that it's invalid.
It looks like the current version of Postman (5.5.0) doesn't properly handle oauth_verifier when signing the request for the access token. There's is an open issue for it.
Thanks a lot this provided me the details and it was clearly explained.. Just following what ever is mentioned here got me the things working..
In Step 2 I had to use /oauth/authorize instead of /admin/oauth_authorize