# Типы цен каталога

Типы цен портала: список, получение и фильтрация. Тип цены — это то, что [цены каталога](/docs/entities/catalog-prices) передают в поле `catalogGroupId`. Типы цен доступны только для чтения: их заводят в интерфейсе Битрикс24.

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

## Операции

- [Список типов цен](./catalog-price-types/list.md) — `GET /v1/catalog-price-types`
- [Получить тип цены](./catalog-price-types/get.md) — `GET /v1/catalog-price-types/:id`
- [Поиск типов цен](./catalog-price-types/search.md) — `POST /v1/catalog-price-types/search`
- [Поля типа цены](./catalog-price-types/fields.md) — `GET /v1/catalog-price-types/fields`

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

| Поле | Описание |
|------|---------|
| `id` | Идентификатор типа цены. Именно это значение передаётся в `catalogGroupId` при работе с [ценами каталога](/docs/entities/catalog-prices) |
| `name` | Название типа цены, как оно задано на портале |
| `base` | `Y` у базового типа цены портала, `N` у остальных. Значение `Y` несёт ровно один тип |
| `sort` | Порядок сортировки в интерфейсе Битрикс24 |
| `xmlId` | Внешний код, используемый интеграциями импорта и выгрузки. Может быть `null` |

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

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

1. **Идентификаторы типов цен зависят от портала.** На одном портале базовый тип имеет `id` 1, на другом — 3 или 7: номера выдаются по мере создания типов и не переиспользуются после удаления. Не зашивайте номер в интеграцию.
2. **Базовый тип цены ищется по `base`, а не по номеру.** Возьмите из [списка](./catalog-price-types/list.md) запись со значением `base` равным `Y` — она ровно одна — и используйте её `id`. Остальные типы удобнее находить по `name`.
3. **Типы цен доступны только для чтения.** Через API можно получить список и одну запись, а создание, изменение и удаление не поддерживаются. Все поля в ответе помечены «только для чтения».
4. **Чужой `catalogGroupId` даёт 422.** Если передать в [`POST /v1/catalog-prices`](/docs/entities/catalog-prices) номер типа, которого на портале нет, Битрикс24 отвечает `422` с сообщением про неверную группу цен. В таком ответе платформа добавляет подсказку со ссылкой на этот эндпоинт.
5. **Нужны права администратора портала.** Скоупа `catalog` мало: Битрикс24 отдаёт типы цен только пользователю с правом на их чтение — у администратора портала оно есть. Иначе приходит `422 BITRIX_ERROR` с сообщением Битрикс24 о недостатке прав.

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

1. Получить типы цен: [`GET /v1/catalog-price-types`](./catalog-price-types/list.md).
2. Взять `id` записи с `base: "Y"` — это базовый тип цены портала.
3. Создать цену с этим номером: [`POST /v1/catalog-prices`](/docs/entities/catalog-prices) с `catalogGroupId` из шага 2.

## Лимиты

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

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

- [Цены каталога](/docs/entities/catalog-prices)
- [Товары каталога](/docs/entities/catalog-products)
- [Каталоги](/docs/entities/catalogs)
- [Синтаксис фильтрации](/docs/filtering)
- [Справочник API](/docs/api-reference)
