Продукты в каталоге могут быть отфильтрованы по нескольким параметрам. Часть значений передаются списком, часть единичным значением

Параметр Описание Данные
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"
        }
			]
}