Appearance
Categories
Categories is the main part of the headless API. By categories you will be able no navigate through the store and find products.
Best practice
- Call category route and present category description, filters etc
- Call category products and present products
- Use filters and sort based on user input
Category
GET: /headless_api/categories/{category_slug}
Returns an object with category data and filter tags
{
"data": {
"id": 1,
"parent_id": null,
"breadcrumbs": [
{
"title": "Home",
"slug": ""
},
{
"title": "Clothes",
"slug": "clothes"
}
],
"name": "Clothes",
"slug": "clothes",
"description": "Category description",
"image": null,
"meta_title": "Meta title",
"meta_description": "Meta description",
"children": [],
"filter_tags": [
{
"type": "COLOR", // Available COLOR, CHECKBOX
"title": "Color",
"tags": [
{
"tag": "color_red",
"group_title": "Color",
"attribute_title": "Red"
}
]
}
],
"template_components": [
// Array of template components
]
}
}
Category products
Returns paginated products related to category
GET: /headless_api/categories/{category_slug}/products
Filters
GET: ?page=1&sort=price_low&filters=color_red
GET | Type | Values |
---|---|---|
page | int | - |
sort | string | price_low, price_high, published, name_z, name_a, popular |
filters | string | filter_tags comma separated |
Result
{
"data": [ // Products
{
"name": "Black t-shirt",
"primary_sku": "810021-555-00",
"slug": "black-t-shirt",
"is_new": false, // Boolean
"image": {
"id": 6188,
"sort_order": 0,
"name": "9G0ueaMwZrtRwf61633359232",
"title": "Black t-shirt",
"alt_tag": "",
"path_xs": "https://d3dnwnveix5428.cloudfront.net/image_hash",
"path_small": "https://d3dnwnveix5428.cloudfront.net/image_hash",
"path_medium": "https://d3dnwnveix5428.cloudfront.net/image_hash",
"path_large": "https://d3dnwnveix5428.cloudfront.net/image_hash",
"path_xl": "https://d3dnwnveix5428.cloudfront.net/image_hash"
},
"primary_price": {
"currency": {
"name": "Svenska kronor",
"iso": "SEK",
"format": "{value} kr",
"decimal_separator": ",",
"thousand_separator": " "
},
"tier": 1,
"price": 223.2,
"price_inc_vat": 279,
"formatted_price": "279 kr",
"price_in_cents": 22320,
"price_in_cents_inc_vat": 27900,
"compare_price": 0,
"compare_price_inc_vat": 0,
"formatted_compare_price": "0 kr"
},
"stock": 4,
"brand": null,
"meta_description": ""
}
],
"links": {
"first": "https://yourdomain.com/headless_api/categories/{category_slug}/products?page=1",
"last": "https://yourdomain.com/headless_api/categories/{category_slug}/products?page=3",
"prev": null,
"next": "https://yourdomain.com/headless_api/categories/{category_slug}/products?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 3,
"links": [
{
"url": null,
"label": "« Föregående",
"active": false
},
{
"url": "https://yourdomain.com/headless_api/categories/{category_slug}/products?page=1",
"label": "1",
"active": true
},
{
"url": "https://yourdomain.com/headless_api/categories/{category_slug}/products?page=2",
"label": "2",
"active": false
},
{
"url": "https://yourdomain.com/headless_api/categories/{category_slug}/products?page=3",
"label": "3",
"active": false
},
{
"url": "https://yourdomain.com/headless_api/categories/{category_slug}/products?page=2",
"label": "Nästa »",
"active": false
}
],
"path": "https://yourdomain.com/headless_api/categories/{category_slug}/products",
"per_page": 48,
"to": 48,
"total": 114
}
}