Catalog Services provides endpoints and services to support users building out category browse and product details pages in a commerce-facing app. Building such pages can be complex to coordinate from a frontend perspective, and can result in a large number of requests made against the Catalog Services' APIs. That complexity is primarily due to the inherent complexity in the product domain with its many hierarchical, nested relationships.
Consider a configurable bundle where a customer can choose from a few different products that may also have their own configuration such as a t-shirt bundle. A t-shirt has a size and color to select in order to narrow down which Variant to add to the cart as part of the bundle. That means the page needs to retrieve at the least:
the base product (i.e., the bundle)
the bundled products (e.g., the t-shirt)
the variants of the t-shirt
the assets related to the products
any promotional products related to the base product
Normally, each product and each promotional product would required its own request to retrieve, and there isn’t necessarily a limit to how many or how complex each product’s own hierarchy can be.
Therefore, Catalog Services offers out-of-box endpoints to support building out the consolidated data for product details and category browse pages.
Tip
|
If integrating with external microservices such as the Pricing Services, consider using the CatalogBrowse microservice, which comes with such an integration already for category browse, product details, and search results pages. |