Продукты в каталоге могут быть отфильтрованы по нескольким параметрам. Часть значений передаются списком, часть единичным значением
| Параметр | Описание | Данные |
|---|---|---|
| shop_ids | Магазины | Список ID магазинов |
| category_ids | Категории | Список ID категорий |
| skus | Артикулы | Список ID артикулов |
| measurement_unit_ids | Единицы измерений | Список ID единиц |
| brand_ids | Бренды | Список ID брендов |
| supplier_ids | Поставщики | Список ID поставщиков |
| product_field_filters | Фильтр по аттрибутам или кастомным свойствам | массив объектов-свойств продукта |
| supply_price_from…supply_price_to | Цена поставки | Два значения диапазона цены поставки |
| retail_price_from…retail_price_from | Цена продажи | Два значения диапазона цены продажи |
| whole_sale_price_from…whole_sale_price_from | Оптовая цена | Два значения диапазона оптовой цены |
| group_variations | Группировка вариаций | Нужно ли группировать по вариациям (да\нет) |
Свойство продукта
Для фильтрации по аттрибутам или кастомным свойства используется один и тот же параметр product_field_filters. В него передаётся массив в
| Параметр | Описание |
|---|---|
| field_id | ID свойства |
| field_type | Тип свойства: custom или attribute (да тут нет опечатки) |
| field_values | Массив ID атрибутов или массив значений кастомных свойств для поиска |
Атрибут
{
"field_id": "491e1d8a-ad22-4180-bcc5-0c5699bdf4f9",
"field_type": "attribute",
"field_values": [
"aee6d71d-32ed-4695-8f3b-5516dacf75fe"
]
},
Кастомное свойство
{
"field_id": "3b6db763-eeaf-41c3-af99-48472add4e2e",
"field_type": "custom",
"field_values": [
"18"
]
}
пример поискового запроса
curl '<https://api-admin.billz.ai/v2/product-search-with-filters>' \
-H 'Authorization: Bearer ...' \
-H 'Content-Type: application/json' \
--request POST \
--data-raw '{
"category_ids": [
"15c1d3e9-f628-4094-8c69-7b0e67a6240d"
],
"status": "all",
"skus": [
"100-29",
"10276F"
],
"order": [
""
],
"group_variations": false,
"product_field_filters": [],
"field_search_key": "",
"archived_list": false,
"brand_ids": [
"e158f882-d0e0-499d-b6f8-9029ac1886ca"
],
"measurement_unit_ids": [
"c5336f71-d684-4e2e-b5bc-307138593543"
],
"is_free_price": null,
"supply_price_from": 1,
"supply_price_to": 10000000,
"retail_price_from": 1,
"retail_price_to": 10000000,
"whole_sale_price_from": 1,
"whole_sale_price_to": 10000000,
"shop_ids": [
"6f244db4-75d6-4fac-9841-14867d45e36a"
],
"supplier_ids":[
"5f4c5af2-3320-4fa4-aed9-65a35e1dab8f"
],
"product_field_filters": [
{
"field_id": "491e1d8a-ad22-4180-bcc5-0c5699bdf4f9",
"field_type": "attribute",
"field_values": [
"aee6d71d-32ed-4695-8f3b-5516dacf75fe"
]
},
{
"field_id": "84122e63-9993-4fac-80d6-6ad8bfa95f2e",
"field_type": "attribute",
"field_values": [
"6321d850-77a4-40cd-aa47-4548f0dc8707"
]
},
{
"field_id": "3b6db763-eeaf-41c3-af99-48472add4e2e",
"field_type": "custom",
"field_values": [
"18"
]
},
],
"statistics": true,
"limit": 10,
"page": 1
}'
Если передается параметр "group_variations": true, то в главном списке будет родительский товар вместо вариаций. А сами вариации находятся в поле variations.
Пример вызова
curl --request POST \
--url <https://api-admin.billz.ai/v2/product-search-with-filters> \
--header 'content-type: application/json' \
--data '{
"status": "all",
"order": [
""
],
**"group_variations": true,**
"product_field_filters": [],
"field_search_key": "",
"archived_list": false,
"brand_ids": [],
"supplier_ids": [],
"measurement_unit_ids": [],
"is_free_price": null,
"statistics": true,
"limit": 10,
"page": 14
}'
Ответ
{
"count": 134,
"total": 0,
"products": [
{
"id": "45ec2322-0c1f-4028-b888-f26467863f5d",
"is_variative": true,
"name": "разные категории",
"sku": "DWZ-15067",
"brand_id": "edd59cab-edbc-4797-99a5-c853da9f6266",
"brand_name": "Добрик от Бобрика",
"variations": [
{
"id": "2fd21551-ab78-461b-9ddf-d7f5b95c60ae",
"name": "разные категории / s / green",
"base_name": "разные категории",
"barcode": "2000000000251",
"sku": "DWZ-15067",
"variation_id": "DWZ-15067"
},
{
"id": "6ce0e570-9e57-4117-9992-7bdea0d92d84",
"name": "разные категории / m / red",
"base_name": "разные категории",
"barcode": "2000000000268",
"sku": "DWZ-15067",
"variation_id": "DWZ-15067"
}
],
"base_name": "разные категории",
"variation_id": "DWZ-15067"
}
]
}