categories query
The categories query returns category data. If the subtree input object is specified, the query returns details about subcategories.
Syntax
Copied to your clipboardtype Query {categories(ids: [String!], roles: [String!], subtree: Subtree): [CategoryView]}
Where subtree is:
Copied to your clipboardinput Subtree {startLevel: Int!,depth: Int!}
If using the subtree input, only one category id can be specified in the query.
The subtree object allows you to specify how many levels of subcategories to return. Some sites may have a high number of subcategories, and returning the entire category tree could cause performance issues. It is recommended to keep depth to a maximum of 3 for the same reason.
Endpoints
- Testing:
https://catalog-service-sandbox.adobe.io/graphql - Production:
https://catalog-service.adobe.io/graphql
Required headers
Specify the following HTTP headers to run this query.
| Header | Description |
|---|---|
Magento-Customer-Group | Specify the customer group code for the API request. |
Magento-Environment-Id | This value is displayed at System > Commerce Services Connector > SaaS Identifier > Data Space ID or can be obtained by running the bin/magento config:show services_connector/services_id/environment_id command. |
Magento-Store-Code | The code assigned to the store associated with the active store view. For example, main_website_store. |
Magento-Store-View-Code | The code assigned to the active store view. For example, default. |
Magento-Website-Code | The code assigned to the website associated with the active store view. For example, base. |
X-Api-Key | Set this value to the unique API key generated for your Commerce environment. |
Find the customer group code
The customer group code is the encrypted value of the customer group ID, which determines discounts and tax class for pricing contexts. For B2B implementations, the customer group ID also determines the Shared Catalog context.
Use one of the following codes for a default customer group based on your requirements.
| Customer Group | Code |
|---|---|
NOT LOGGED IN | b6589fc6ab0dc82cf12099d1c2d40ab994e8410c |
General | 356a192b7913b04c54574d18c28d46e6395428ab |
Wholesale | da4b9237bacccdf19c0760cab7aec4a8359010b0 |
Retailer | 77de68daecd823babbb58edb1c8e14d7106e83bb |
For merchant-defined groups, the customer group code is the encrypted value of the ID, sha1(<customer_group_id>).
For B2B implementations, the customer group code is the encrypted value of the customer group ID associated with the shared catalog, sha1(<customer_group_id>).
Find a list of available customer group IDs from the Admin (Customers > Customer Groups). For details, see Customer Groups and Shared Catalogs in the Merchant Guide.
Example usage
The following query returns a category tree.
Copied to your clipboardcategories(ids: ["11"], roles: ["show_in_menu", "active"], subtree: {"depth": 3,"startLevel": 1}) {nameidlevelrolespathurlPathurlKeyparentIdchildren}
Copied to your clipboard[{"name":"Bottoms","id":"13","level":3,"roles":["active","show_in_menu"],"path":"1/2/11/13","urlPath":"men/bottoms-men","urlKey":"bottoms-men","parentId":"11","children":["18","19"]},{"name":"Tops","id":"12","level":3,"roles":["active","show_in_menu"],"path":"1/2/11/12","urlPath":"men/tops-men","urlKey":"tops-men","parentId":"11","children":["14","15","16","17"]},{"name":"Jackets","id":"14","level":4,"roles":["active","show_in_menu"],"path":"1/2/11/12/14","urlPath":"men/tops-men/jackets-men","urlKey":"jackets-men","parentId":"12","children":[]},{"name":"Pants","id":"18","level":4,"roles":["active","show_in_menu"],"path":"1/2/11/13/18","urlPath":"men/bottoms-men/pants-men","urlKey":"pants-men","parentId":"13","children":[]},{"name":"Tanks","id":"17","level":4,"roles":["active","show_in_menu"],"path":"1/2/11/12/17","urlPath":"men/tops-men/tanks-men","urlKey":"tanks-men","parentId":"12","children":[]},{"name":"Hoodies & Sweatshirts","id":"15","level":4,"roles":["active","show_in_menu"],"path":"1/2/11/12/15","urlPath":"men/tops-men/hoodies-and-sweatshirts-men","urlKey":"hoodies-and-sweatshirts-men","parentId":"12","children":[]},{"name":"Shorts","id":"19","level":4,"roles":["active","show_in_menu"],"path":"1/2/11/13/19","urlPath":"men/bottoms-men/shorts-men","urlKey":"shorts-men","parentId":"13","children":[]}]
Input fields
| Field | Data type | Description |
|---|---|---|
ids | [String!] | Array of category IDs to return. If using subtree, must contain only one ID. |
roles | [String!]! | The list of category roles to be queried. |
subtree | [subtree] | Defines how many subcategories to return. |
subtree input
| Field | Data type | Description |
|---|---|---|
startLevel | [Int!] | The level in the category tree where the search should begin. Minimum of 1. |
depth | [Int!]! | The number of subtrees to return. Values over 3 may impact performance. |
Output fields
The categories query returns the CategoryView object, which implements CategoryViewInterface.
CategoryView type
| Field | Data Type | Description |
|---|---|---|
availableSortBy | [String] | Lists the available sorting methods. Maps to Display Settings > Available Product Listing Sort By. |
children | [String!] | A list of subcategories within the category. |
defaultSortBy | String | The default sorting method. Maps to Display Settings > Default Product List Sort By. |
id | ID! | The category ID. |
level | Int | Indicates the depth of the category within the tree. |
name | String | The category display name. |
parentId | String! | ID of the parent category. |
path | String | The path to the category, as a string of category IDs, separated by slashes (/). For example, 1/2/20 |
roles | [String!]! | A comma-separated list of keywords that are visible only to search engines. |
urlKey | String | The part of the URL that identifies the category. |
urlPath | String | The URL path for the category. |
CategoryViewInterface attributes
The CategoryViewInterface returns information about the CategoryView
| Field | Data Type | Description |
|---|---|---|
availableSortBy | String | Lists the available sorting methods. Maps to Display Settings > Available Product Listing Sort By. |
defaultSortBy | String | The default sorting method. Maps to Display Settings > Default Product List Sort By. |
id | ID! | The category ID. |
level | Int | Indicates the depth of the category within the tree. |
name | String | The category display name. |
path | String | The path to the category, as a string of category IDs, separated by slashes (/). For example, 1/2/20 |
roles | [String!]! | A comma-separated list of keywords that are visible only to search engines. |
urlKey | String | The part of the URL that identifies the category. |
urlPath | String | The URL path for the category. |