Docs
Product Repository API

Filter

A filter is a reusable expression over product attributes that selects a subset of products. Filters are used directly in product list endpoints via filterCriteria, saved as named resources via this API, and referenced by Customer Specific Assignment Rules.

Filter language reference

Field names

Fields follow the pattern schema.attribute[language]. Use eclear for standard product attributes and merchant for your own declared attributes.

FieldDescription
eclear.productName[de]Product name in German. Use [en] for English.
eclear.productDescription[de]Product description in German. Use [en] for English.
eclear.productTags[de]Product tags in German. Use [en] for English.
eclear.customsCodes.customsTariffCodeCustoms tariff code
eclear.customsCodes.taricCodeTARIC code
eclear.customsCodes.eztCodeEZT code
eclear.customsCodes.taresCodeTARES code
eclear.customsCodes.ukgtCodeUKGT code
eclear.customsCodes.tolletatenCodeTOLLETATEN code
eclear.productUids.gtinGTIN unique product identifier
eclear.productUids.asinASIN unique product identifier
eclear.productUids.isbnISBN unique product identifier
eclear.productUids.issnISSN unique product identifier
eclear.productUids.ismnISMN unique product identifier
eclear.manufacturerNameManufacturer name
merchant.fieldNameA merchant product attribute. Replace fieldName with the name you declared.
merchant.fieldName[de]A language-specific merchant product attribute in German. Use [en] for English.

Logical operators

OperatorMeaningExample
&AND — both conditions must be trueeclear.productName[de] = "Boot" & eclear.customsCodes.taricCode = "6402991600"
|OR — at least one condition must be trueeclear.productName[de] = "Boot" | eclear.productName[en] = "Boot"
!NOT — negates a condition or expression!(eclear.customsCodes.taricCode = "6402991600")

Use parentheses to control precedence: (A & B) | C.

Comparison operators

OperatorMeaning
=Equal to
!=Not equal to
>Greater than
>=Greater than or equal to
<Less than
<=Less than or equal to
%in%Value exists in a list — e.g. merchant.alcohol %in% (3, 4, 5)

Arithmetic operators

Arithmetic expressions can be used to combine numeric fields before comparing them.

OperatorMeaningExample
+Additionmerchant.weight + merchant.packaging_weight >= 1.5
-Subtractionmerchant.weight - merchant.tare > 0
*Multiplicationmerchant.width * merchant.height > 100
/Divisionmerchant.net_weight / merchant.unit_count < 0.5

Functions

FunctionReturns
is_null(field)true if the field has no value
substr(field, start, end)Substring of the field value, from position start to end (0-indexed)
contains(field, "string")true if the field value contains the given string

Example

The following filter selects products whose German product name contains "drink" and whose merchant attribute alcohol_content_percent is less than 0.05:

(contains(eclear.productName[de], "drink")) & merchant.alcohol_content_percent < 0.05

On this page