Shopper Catalog API

Get a Node

Returns a node from the catalog.

If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. For information about how rules are matched, see Resolving Catalog Rules.

You can see the parent nodes a node is associated with in the breadcrumbs metadata for each node. This is useful if you want to improve how your shoppers search your store, for example. See Product and Node Associations in Breadcrumb Metadata.

The response lists the products associated with a node. If products are curated, they are displayed in curated_products. Product curation allows you to promote specific products within each of your nodes, enabling you to create unique product collections in your storefront.

  • If you don't provide any curated_products, products are listed by their updated_at time in descending order, with the most recently updated product first.
  • If you configure curated_products for only a few products, the curated products are displayed first and the other products are displayed in the order of updated_at time.
  • You can only curate 20 products or less. You cannot have more than 20 curated products.
  • A product that is curated has the "curated_product": true attribute displayed.
  • If a curated product is removed from a node, the product is also removed from the curated_products list.
get/catalog/nodes/{node_id}

Request

Path parameters

node_idstring required

The catalog node ID.

Headers

EP-Channelstring

The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the EP-Channel header in your requests.

EP-Context-Tagstring

Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the EP-Context-Tag header.

accept-languagestring

The language and locale your storefront prefers. See Accept-Language.

Response

The catalog node.

Example response

{
  "data": {
    "attributes": {
      "created_at": "1970-01-01T00:00:00.000",
      "published_at": "1970-01-01T00:00:00.000",
      "description": "Formal dresswear",
      "label": "category",
      "name": "Formal dresswear",
      "slug": "formal",
      "curated_products": [
        "8dbb35b2-ef04-477e-974d-e5f3abe6faae"
      ],
      "status": "live",
      "updated_at": "1970-01-01T00:00:00.000"
    },
    "id": "e871df93-c769-49a9-9394-a6fd555b8e8a",
    "relationships": {
      "products": {
        "data": [
          {
            "type": "product"
          }
        ]
      },
      "parent": {
        "data": {
          "type": "node",
          "id": "8fccaa19-dba9-4621-8d11-31a222a68c7c"
        }
      },
      "hierarchy": {
        "data": {
          "type": "hierarchy",
          "id": "8fccaa19-dba9-4621-8d11-31a222a68c7c"
        }
      }
    },
    "type": "node",
    "meta": {
      "language": "en-GB",
      "bread_crumb": [
        "8dbb35b2-ef04-477e-974d-e5f3abe6faae"
      ],
      "breadcrumbs": [
        {
          "id": "e871df93-c769-49a9-9394-a6fd555b8e8a",
          "name": "Formal dresswear",
          "slug": "formal"
        }
      ],
      "has_children": true
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.