метод REST scope: catalog

catalog.product.list

Получить список товаров по фильтру

Кто может выполнять: пользователь с правом на просмотр каталога товаров и правом на чтение инфоблока торгового каталога

Описание

Метод получает список товаров торгового каталога по фильтру.

Параметры

select array необязательный

Массив содержащий список полей, которые необходимо выбрать (смотрите поля объекта catalog_product).

Обязательные поля: id, iblockId

filter object необязательный

Объект для фильтрации выбранных товаров в формате {"field_1": "value_1", ... "field_N": "value_N"}.

Возможные значения для field соответствуют полям объекта catalog_product.

Обязательные поля:iblockId.

Ключу может быть задан дополнительный префикс, уточняющий поведение фильтра. Возможные значения префикса:
- >= — больше либо равно
- > — больше
- <= — меньше либо равно
- < — меньше
- % — LIKE, поиск по подстроке. Символ % в значении фильтра передавать не нужно. Поиск ищет подстроку в любой позиции строки.
- =% — LIKE, поиск по подстроке. Символ % нужно передавать в значении. Примеры:
- "мол%" — ищем значения начинающиеся с «мол»
- "%мол" — ищем значения заканчивающиеся на «мол»
- "%мол%" — ищем значения, где «мол» может быть в любой позиции
- %= — LIKE (аналогично =%)
- !% — NOT LIKE, поиск по подстроке. Символ % в значении фильтра передавать не нужно. Поиск идет с обоих сторон.
- !=% — NOT LIKE, поиск по подстроке. Символ % нужно передавать в значении. Примеры:
- "мол%" — ищем значения не начинающиеся с «мол»
- "%мол" — ищем значения не заканчивающиеся на «мол»
- "%мол%" — ищем значения, где подстроки «мол» нет в любой позиции
- !%= — NOT LIKE (аналогично !=%)
- = — равно, точное совпадение (используется по умолчанию). Для поиска IN можно передавать несколько значений массивом
- != — не равно
- ! — не равно. Для поиска NOT IN можно передавать несколько значений массивом

Для пользовательских полей propertyN формат значения в filter зависит от типа условия:
- если фильтруете свойство типа дата или дата-время по диапазону, используйте префикс в ключе, а значение передавайте в поле value
- если фильтруете числовое, строковое или списочное пользовательское поле по точному совпадению, передавайте значение напрямую, без value
- для поиска IN и NOT IN можно передавать массив значений

Примеры фильтрации по пользовательским полям:

filter: {
    iblockId: 23,
    '>=property424': {
        value: '2025-05-29T12:00:00+03:00' 
    },
    '<=property424': {
        value: '2025-05-30T13:00:00+03:00'
    },
    property996: 9636,
    property997: [9636, 568, 570, 9658],
}
order object необязательный

Объект для сортировки выбранных товаров в формате {"field_1": "order_1", ... "field_N": "order_N"}.

Возможные значения для field соответствуют полям объекта catalog_product.

Возможные значения для order:

  • asc — в порядке возрастания
  • desc — в порядке убывания
start string необязательный

Параметр используется для управления постраничной навигацией.

Размер страницы результатов всегда статичный — 50 записей.

Чтобы выбрать вторую страницу результатов необходимо передавать значение — 50. Чтобы выбрать третью страницу результатов значение — 100 и так далее.

Формула расчета значения параметра start:

start = (N-1) * 50, где N — номер нужной страницы

Примеры запроса

curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"select":["id","iblockId","name","active","available","barcodeMulti","bundle","canBuyZero","code","createdBy","dateActiveFrom","dateActiveTo","dateCreate","detailPicture","detailText","detailTextType","height","iblockSectionId","length","measure","modifiedBy","previewPicture","previewText","previewTextType","purchasingCurrency","purchasingPrice","quantity","quantityReserved","quantityTrace","recurSchemeLength","recurSchemeType","sort","subscribe","timestampX","trialPriceId","type","vatId","vatIncluded","weight","width","withoutOrder","xmlId","property258","property259"],"filter":{"iblockId":23,">id":10,"vatId":[1,2]},"order":{"id":"desc"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/catalog.product.list

Ответ

HTTP-статус: 200

{
    "result": {
        "products": [
            {
                "active": "Y",
                "available": "Y",
                "barcodeMulti": "Y",
                "bundle": "N",
                "canBuyZero": "Y",
                "code": "Tovar",
                "createdBy": 1,
                "dateActiveFrom": "2024-05-28T10:00:00+03:00",
                "dateActiveTo": "2024-05-29T10:00:00+03:00",
                "dateCreate": "2024-05-27T10:00:00+03:00",
                "detailPicture": {
                    "id": "6439",
                    "url": "\/rest\/catalog.product.download?fields%5BfieldName%5D=detailPicture\u0026fields%5BfileId%5D=6439\u0026fields%5BproductId%5D=1243",
                    "urlMachine": "\/rest\/catalog.product.download?fields%5BfieldName%5D=detailPicture\u0026fields%5BfileId%5D=6439\u0026fields%5BproductId%5D=1243"
                },
                "detailText": null,
                "detailTextType": "text",
                "height": 100,
                "iblockId": 23,
                "iblockSectionId": 47,
                "id": 1243,
                "length": 100,
                "measure": 5,
                "modifiedBy": 1,
                "name": "Товар",
                "previewPicture": {
                    "id": "6438",
                    "url": "\/rest\/catalog.product.download?fields%5BfieldName%5D=previewPicture\u0026fields%5BfileId%5D=6438\u0026fields%5BproductId%5D=1243",
                    "urlMachine": "\/rest\/catalog.product.download?fields%5BfieldName%5D=previewPicture\u0026fields%5BfileId%5D=6438\u0026fields%5BproductId%5D=1243"
                },
                "previewText": null,
                "previewTextType": "text",
                "property258": {
                    "value": "test",
                    "valueId": "9735"
                },
                "property259": [
                    {
                        "value": "test1",
                        "valueId": "9736"
                    },
                    {
                        "value": "test2",
                        "valueId": "9737"
                    }
                ],
                "purchasingCurrency": "RUB",
                "purchasingPrice": 1000,
                "quantity": 10,
                "quantityReserved": 1,
                "quantityTrace": "Y",
                "recurSchemeLength": 1,
                "recurSchemeType": "D",
                "sort": 100,
                "subscribe": "Y",
                "timestampX": "2024-06-05T10:05:06+03:00",
                "trialPriceId": 175,
                "type": 1,
                "vatId": 1,
                "vatIncluded": "Y",
                "weight": 100,
                "width": 100,
                "withoutOrder": "Y",
                "xmlId": "1243"
            }
        ]
    },
    "total": 1,
    "time": {
        "start": 1717661048.302644,
        "finish": 1717661049.079089,
        "duration": 0.7764449119567871,
        "processing": 0.3525362014770508,
        "date_start": "2024-06-06T11:04:08+03:00",
        "date_finish": "2024-06-06T11:04:09+03:00"
    }
}

Возвращаемые данные

result object

Корневой элемент ответа

products catalog_product[]

Массив объектов с информацией о выбранных товарах

total integer

Общее количество найденных записей

time time

Информация о времени выполнения запроса

Обработка ошибок

HTTP-статус: 400

{
    "error":200040300010,
    "error_description":"Access denied"
}
Код Описание Значение
200040300010 Недостаточно прав для чтения торгового каталога
0 Не указаны поля id, iblockId в полях выбора
0 Не указано поле iblockId в фильтре
0 Другие ошибки (например, фатальные ошибки)

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.