# Каталоги

Торговые каталоги портала: список, получение и фильтрация. Каталог задаёт `iblockId`, по которому работают [товары](/docs/entities/catalog-products), [разделы](/docs/entities/catalog-sections) и [цены](/docs/entities/catalog-prices). Каталоги доступны только для чтения.

Битрикс24 API: `catalog.catalog.*`
Скоуп: `catalog`

## Операции

- [Список каталогов](./catalogs/list.md) — `GET /v1/catalogs`
- [Получить каталог](./catalogs/get.md) — `GET /v1/catalogs/:id`
- [Поиск каталогов](./catalogs/search.md) — `POST /v1/catalogs/search`
- [Поля каталога](./catalogs/fields.md) — `GET /v1/catalogs/fields`

## Ключевые поля

| Поле | Описание |
|------|---------|
| `id` | Идентификатор каталога. Совпадает с `iblockId` |
| `iblockId` | ID информационного блока каталога. Используется как фильтр в [`GET /v1/catalog-products`](/docs/entities/catalog-products), [`GET /v1/catalog-sections`](/docs/entities/catalog-sections), [`GET /v1/catalog-prices`](/docs/entities/catalog-prices) |
| `name` | Название каталога |
| `iblockTypeId` | Тип информационного блока, например `CRM_PRODUCT_CATALOG` |
| `productIblockId` | У каталога предложений — `iblockId` связанного каталога товаров. У базового каталога товаров — `null` |
| `skuPropertyId` | У каталога предложений — ID свойства, связывающего предложение с товаром. У базового каталога — `null` |

Полный список полей — [`GET /v1/catalogs/fields`](./catalogs/fields.md).

## Что нужно знать перед работой

1. **Каталоги доступны только для чтения.** Через API можно получить список и одну запись; создание, изменение и удаление не поддерживаются. Все поля в ответе помечены «только для чтения».
2. **Каталог — источник `iblockId` для остальных эндпоинтов товарного каталога.** Чтобы получить товары, разделы или цены, сначала возьмите `iblockId` нужного каталога из [`GET /v1/catalogs`](./catalogs/list.md) и передайте его фильтром в [`GET /v1/catalog-products`](/docs/entities/catalog-products), [`GET /v1/catalog-sections`](/docs/entities/catalog-sections), [`GET /v1/catalog-prices`](/docs/entities/catalog-prices).
3. **Базовый каталог товаров и каталог предложений различаются по двум полям.** У каталога предложений заполнены `productIblockId` (ссылка на каталог товаров) и `skuPropertyId`; у базового каталога товаров оба равны `null`.

## Типичный сценарий

1. Получить список каталогов: [`GET /v1/catalogs`](./catalogs/list.md) — взять `iblockId` нужного каталога.
2. Получить товары этого каталога: [`GET /v1/catalog-products?filter[iblockId]=25`](/docs/entities/catalog-products).
3. При необходимости — разделы и цены: [`GET /v1/catalog-sections`](/docs/entities/catalog-sections), [`GET /v1/catalog-prices`](/docs/entities/catalog-prices).

## Лимиты

| Лимит | Значение |
|-------|----------|
| Максимум записей на запрос | 5000 (`limit ≤ 5000`) |
| Авто-пагинация | включается при `limit > 50` |
| Batch-запросы | каталоги доступны только для чтения — операции записи в [`POST /v1/batch`](/docs/batch) не поддерживаются |
| Rate limit | общий для API Вайбкод — см. [Лимиты и оптимизация](/docs/optimization) |

## Смотрите также

- [Товары каталога](/docs/entities/catalog-products)
- [Разделы каталога](/docs/entities/catalog-sections)
- [Цены каталога](/docs/entities/catalog-prices)
- [Синтаксис фильтрации](/docs/filtering)
- [Справочник сущностей](/docs/entities-index)
