User and Channel-specific Catalogs

When each user, channel, or application has its own product catalog, search personalization can be enabled to handle these scenarios. Search personalization is managed through endpoints named user*_, where the relevant filter logic is applied within these stacked calls. For example, in the user_product_catalog endpoint, you can assign a strategy that defines a user-specific catalog.

To enable or disable user-specific catalogs, please refer to this page: Settings Through SPARQUE Hub | Search Personalization.

Endpoint user_categorysuggest

This endpoint is used by the Wrapper’s /suggestions endpoint and is designed to output category objects. It expects product objects as input, specifically those that a particular user is permitted to view. The strategy extracts the categories from these products and presents them as suggestions, based on the provided keyword parameter.

OBJ -> user_categorysuggest/p/keyword/{STRING} -> OBJ

Endpoint user_categorytree

This endpoint is used by the Wrapper’s /categorytree endpoint and is designed to output category objects. It expects product objects as input, specifically those that a particular user is permitted to view. The strategy extracts and returns the categories, along with their parent categories, from these products. You can include all parent categories in the result description to represent the full category hierarchy.

OBJ -> user_categorytree/p/channel/{STRING} -> OBJ

Endpoint user_keywordsuggest

This endpoint is used by the Wrapper’s /suggestions endpoint and is designed to output keyword strings. It expects product objects as input, specifically products that a particular user is permitted to view. The strategy extracts and returns all keywords that are relevant to display as keyword suggestions.

OBJ -> user_keywordsuggest/p/locale/{STRING}/p/keyword/{STRING} -> STRING

Endpoint user_product_catalog

This endpoint is used by the Wrapper’s /products, /search, and /recommendations endpoints, among others, and is designed to output product objects. It expects product objects as input and will filter them based on which products the user is permitted to view.

OBJ -> user_product_catalog/p/channel/{STRING} -> OBJ