Navigational Queries
Use the Product Search API to power category and landing pages by sending a special query pattern.
This approach is works only with the Platform API. The search plugin does not support navigational queries.
Before you start
- Endpoint: see Product Search API
- Method:
- GET for simple query-string calls (no JSON body)
- POST when sending JSON (e.g., with preSetFilters)
- IDs you may need: projectId, and optionally conceptIdName(s)
Category navigation
To return products in a specific category, set the query to start with _# and provide the full path to the leaf category, using # as a separator.
Example (path Consumer Electronics > Mobile Phones > Smartphones):
_#Consumer Electronics#Mobile Phones#Smartphones
If a category name contains #, escape it with a backslash. Example: _#Catalog \#1
Prefer identifiers? Use the leaf category’s concept identifier with _##:
_##conceptid12345
Only pass the leaf conceptIdName, not the full path. You can find conceptIdNames in the Data Platform (open the category concept in Ontology) or via the “Get concepts” API.
Landing pages
For landing pages, use _# as the query and set filters to narrow results (e.g. brand, product line). Use the special pre-load filter parameter preSetFilters so results are constrained before users see them.
- Query:
_#
- Request body (POST):
{
"query": "_#",
"preSetFilters": [
{
"name": "Brand",
"type": "products",
"values": [
{ "name": "BrandABC" }
]
}
]
}
Send the JSON payload with an HTTP POST request to the Product Search endpoint.