Skip to main content

Filter

Represents the Filter entity of your store, specifically designed to handle "range" selections (intervals). These filters allow users to narrow down their search based on numerical values, dates, or prices.

Filter Definition

PropertyTypeDescription
idstring (UUID)Unique identifier of the filter.
namestringDescriptive name of the filter.
operatorstringApplied logical operator (e.g., AND).
positionnumberDisplay order in the filter panel.
visiblebooleanDefines whether the filter is active and visible on the front-end.
typestringThe filter type: price, number, or date.
conditionIdsstring[]Array of linked condition IDs.
conditionsFilterCondition[]Array of condition objects defining the range limits.

FilterCondition

Defines the technical limits and data source for the filter.

PropertyTypeDescription
idstring (UUID)Identifier of the condition.
operatorstringUsually set to range.
minnumber | string | nullMinimum allowed value.
maxnumber | string | nullMaximum allowed value.
typestringData source: attribute (if linked to an attribute) or price.
attributeIdstring | nullLinked attribute ID (if type is attribute).
attributeObject | nullSimplified snapshot of the linked attribute.

Object Example

{
"id": "a9b1656d-b624-4ddd-8192-b6d2fd4d057f",
"name": "Price range filter",
"operator": "AND",
"position": 0,
"visible": true,
"type": "price",
"conditions": [
{
"id": "d6a5ca50-b33c-439f-8220-9b9e3232ee03",
"operator": "range",
"min": 0,
"max": 1000000,
"type": "price",
"attributeId": null,
"attribute": null
}
]
}

Range Logic

Unlike Tags (which work on discrete values), Range filters require sending a pair of values [min, max] via the search utilities to correctly filter products in the catalog.