In this blog post, we will show you how to get the categories from a Magento website by using the Magento REST API. Therefore, you can use a tool to access the API. Here we are using Postman. And to get the category list, first, we need to get the access token of the admin user: Endpoint: “http(s)://yourdomain.com/rest/V1/integration/admin/token” Method: POST
Request:
{ "username" : "string", "password" : "string" }
Response: “token” (string)
For example:
Magento system will check whether that username is available or not, then API will return the access token as a string.
For example:
If your username and password are not correct, the API will return errors like the following:
Now, we have the access token. Let’s begin to get the categories data from API. Endpoint: “http(s)://yourdomain.com/rest/ V1/categories/list” Method: GET Request: searchCriteria. Header: Authorization : Bearer (Token) Response: token(string)
For example:
If the access token is correct, the API will return the Customer’s information. For example:
If the access token is incorrect, the API will return errors as below:
Magento 2 doesn’t support get all categories but they allow us to get a specific category that contains children category. Endpoint: “http(s)://yourdomain.com/graphql” Query structure:
category ( id: int ): CategoryTree
Request example:
{ category(id: 20) { products { total_count page_info { current_page page_size } } children_count children { id level name path children { id level name path children { id level name path children { id level name path } } } } } }
Response example:
{ "data": { "category": { "products": { "total_count": 0, "page_info": { "current_page": 1, "page_size": 20 } }, "children_count": "8", "children": [ { "id": 21, "level": 3, "name": "Tops", "path": "1/2/20/21", "children": [] }, { "id": 22, "level": 3, "name": "Bottoms", "path": "1/2/20/22", "children": [ { "id": 27, "level": 4, "name": "Pants", "path": "1/2/20/22/27", "children": [] }, { "id": 28, "level": 4, "name": "Shorts", "path": "1/2/20/22/28", "children": [] } ] } ] } } }
Now let’s write down the endpoint and your request:
And then click run to send the request to the server. API will return a response which has data like below:
That’s it! We hope this post has been helpful for you.