Catalog Releases Overview
Use the Catalog View API to publish a catalog and to retrieve product information.
Publishing a catalog creates a release of that catalog that you can use in a storefront or other shopper experience. You can retrieve the hierarchies and the products associated with a catalog release. You can see which parent nodes a product is associated with. This is useful if want to improve how your shoppers search your store, for example.
note
Currently, published catalogs are limited to the current release and two releases prior to the current release.
Use catalog rules to schedule a catalog to appear during a particular date and time, such as a seasonal catalog. The catalog may have different pricing than the other catalogs. You can have multiple published catalogs.
If you defined catalog rules and you want to retrieve a published catalog for a particular channel or a user-defined tag, you must set the appropriate headers in the request:
EP-Channel
- The channel, such as website or mobile app. Corresponds to thechannel
attribute in a Rule object.EP-Context-Tag
- A tag defined in the store, such asclearance
. Corresponds to thetag
attribute in a Rule object.
When a catalog is ready to be used in a store, you publish it. You can create and publish catalogs for different contexts and channels. You can see the differences between the last 2 consecutive catalog releases. You retrieve catalogs for your shopper experience by using the Catalog View API.
Understanding How Products And Nodes Are Associated
You can use breadcrumb metadata to understand how products and nodes are associated. This is useful if you want to improve how your shoppers search your store.
There are two different types of breadcrumb metadata. The type of breadcrumb metadata that you see depends on whether the endpoint you are using is with a product or a node.
- To see how products are associated with nodes, use:
bread_crumbs
metadata. Thebread_crumbs
metadata to see a tree of parent nodes and how products are associated with the parent nodes. If your products are all in a hierarchy root node, nobread_crumbs
metadata is generated.bread_crumb_nodes
metadata to see a list of parent nodes a product is associated with.
- To see the parent nodes that a node is associated with, use
bread_crumb
metadata. Thebread_crumb
metadata lists the parent nodes that the node is associated with.
bread_crumbs
metadata for products
Understanding An example of bread_crumbs
metadata is shown below.
{
“data”: {
“type”: “product”,
“attributes”: {
/*** other product attributes ommitted ***/
"bread_crumbs": {
"04e748f1-83db-4013-85c8-9edfb0e1b5fa": [
"e5a64eae-56c2-48cd-b8b1-f5d3be734d52",
"94b882fa-85de-470e-acb3-5b11358e02de"
],
"a96a898b-444c-40b6-9c27-5fc74d08e685": [
"e5a64eae-56c2-48cd-b8b1-f5d3be734d52"
]
}
}
}
}
The following diagram illustrates how the parent nodes are listed in the bread_crumbs
example above.
- The product is in Node 2. The ID for Node 2 is shown first in the first set of breadcrumbs.
- Node 2 is part of Hierarchy 1. The ID for Hierarchy 1 is shown second.
- Node 1 is the parent node of Node 2. The ID for Node 1 is shown last.
- The product is also in Node 3. The ID for Node 3 is shown first in the second set of breadcrumbs.
- Node 3 is in the root of Hierarchy 1. The ID for Hierarchy 1 is shown last.
In the bread_crumb_nodes
metadata, you can see a list of parent nodes a product is associated with. If you subsequently add a product to a new node, then the bread_crumb_nodes
metadata appends the new node to the top of the list. Using the example above, if we add the product to Node 1:
- The
bread_crumb_nodes
metadata is generated to show the new node appended to the top of the list. - The
bread_crumbs
metadata is updated with the new node.
{
“data”: {
“type”: “product”,
“attributes”: {
/*** other product attributes ommitted ***/
"bread_crumb_nodes": [
"94b882fa-85de-470e-acb3-5b11358e02de",
"04e748f1-83db-4013-85c8-9edfb0e1b5fa",
"a96a898b-444c-40b6-9c27-5fc74d08e685"
],
"bread_crumbs": {
"04e748f1-83db-4013-85c8-9edfb0e1b5fa": [
"e5a64eae-56c2-48cd-b8b1-f5d3be734d52",
"94b882fa-85de-470e-acb3-5b11358e02de"
],
"94b882fa-85de-470e-acb3-5b11358e02de": [
"e5a64eae-56c2-48cd-b8b1-f5d3be734d52"
],
"a96a898b-444c-40b6-9c27-5fc74d08e685": [
"e5a64eae-56c2-48cd-b8b1-f5d3be734d52"
]
}
}
}
}
bread_crumb
metadata for nodes
Understanding An example of bread_crumb
metadata is shown below.
{
“data”: {
“type”: “product”,
“attributes”: {
/*** other product attributes ommitted ***/
{
"bread_crumb": [
"04e748f1-83db-4013-85c8-9edfb0e1b5fa",
"94b882fa-85de-470e-acb3-5b11358e02de",
"a96a898b-444c-40b6-9c27-5fc74d08e685"
]
}
}
}
}
The following diagram illustrates how the nodes are listed in the bread_crumb
example above.
The bread_crumb
metadata is an array of nodes that the node is associated with.
The Release Object
Attribute | Type | Description |
---|---|---|
id | string | A unique identifier for the node. |
type | string | The type of object being returned. Always: catalog-release . |
attributes.hierarchy_ids | [array] | An array of references to the hierarchies in the release. |
catalog_id | string | A unique identifier for the catalog. |
attributes.description | string | A description of the node, such as the name of a category. |
attributes.name | string | The name of the release. |
attributes.published_at | string($date-time) | The date and time the release was published. |
meta | object | The meta data includes: is_full_delta (see publish a catalog), created_at , release_status and started_at attributes. |
relationships | object | The relationships data for the catalog. |