# Типы смарт-процессов

Управление типами смарт-процессов: создание, получение, обновление, удаление, поиск. Тип — это шаблон (определение сущности), а не запись в нём. Для работы с элементами внутри типа используйте [`/v1/items/:entityTypeId`](/docs/entities/items).

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

## Операции

- [Создать тип](./smart-processes/create.md) — `POST /v1/smart-processes`
- [Список типов](./smart-processes/list.md) — `GET /v1/smart-processes`
- [Получить тип](./smart-processes/get.md) — `GET /v1/smart-processes/:entityTypeId`
- [Обновить тип](./smart-processes/update.md) — `PATCH /v1/smart-processes/:entityTypeId`
- [Удалить тип](./smart-processes/delete.md) — `DELETE /v1/smart-processes/:entityTypeId`
- [Поиск типов](./smart-processes/search.md) — `POST /v1/smart-processes/search`
- [Поля типа](./smart-processes/fields.md) — `GET /v1/smart-processes/fields`
- [Агрегация типов](./smart-processes/aggregate.md) — `POST /v1/smart-processes/aggregate`

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

| Поле | Описание |
|------|---------|
| `entityTypeId` | **Главный идентификатор типа.** Используется во всех запросах к элементам через `/v1/items/:entityTypeId`. Генерируется при создании автоматически, неизменяем |
| `title` | Название типа, которое видят пользователи в интерфейсе Битрикс24 |
| `isCategoriesEnabled` | Включены ли свои воронки и туннели продаж |
| `isStagesEnabled` | Включены ли свои стадии и канбан |
| `isClientEnabled` | Есть ли поле «Клиент» (контакты и компании) |
| `isLinkWithProductsEnabled` | Можно ли привязывать товары каталога |
| `relations` | Связи с другими сущностями CRM (сделки, контакты, другие смарт-процессы) |

Полный список из 27 полей — [Поля типа](./smart-processes/fields.md).

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

1. **Тип ≠ элемент.** `/v1/smart-processes` управляет **определениями** (шаблонами). Для записей внутри типа — `/v1/items/:entityTypeId`.
2. **`entityTypeId` — ключ связи с элементами.** После создания типа сохраните его и передавайте во все запросы к элементам. Изменить `entityTypeId` нельзя.
3. **Новый тип не инициализирован.** Сразу после `POST /v1/smart-processes` поле `isInitialized: false`. Для готовности к работе добавьте воронки и стадии через [`/v1/categories/:entityTypeId`](/docs/entities/categories).
4. **`relations` двунаправленные.** Связь, созданная в `parent` одного типа, автоматически появится в `child` у связанной сущности.

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

1. Посмотреть, какие типы уже есть: [`GET /v1/smart-processes`](./smart-processes/list.md).
2. Создать новый тип со всеми нужными возможностями: [`POST /v1/smart-processes`](./smart-processes/create.md) с флагами `isStagesEnabled`, `isCategoriesEnabled` и т. д.
3. Сохранить `entityTypeId` из ответа — он понадобится для всех дальнейших вызовов.
4. Настроить воронки для типа: [`POST /v1/categories/:entityTypeId`](/docs/entities/categories).
5. Работать с элементами внутри типа: [`/v1/items/:entityTypeId`](/docs/entities/items) — CRUD, поиск, товары, пользовательские поля.

## Лимиты

| Лимит | Значение |
|-------|----------|
| Максимум типов на портал | Зависит от тарифа Битрикс24 (при превышении — `CREATE_DYNAMIC_TYPE_RESTRICTED`) |
| Диапазон `entityTypeId` при автогенерации | Чётные числа `≥ 1030` |
| Диапазон `entityTypeId` при явной передаче | от `128` до `191` — `≥ 128` и `< 192` |
| Удаление типа с элементами | Запрещено — сначала удалите элементы через [`DELETE /v1/items/:entityTypeId/:id`](/docs/entities/items) |
| Ограничение частоты | Общее для API Вайбкод — см. [Лимиты и оптимизация](/docs/optimization) |

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

- [Элементы смарт-процессов](/docs/entities/items)
- [Воронки и стадии](/docs/entities/categories)
- [Пользовательские поля](/docs/userfields)
- [Entity API](/docs/entity-api)
- [Синтаксис фильтрации](/docs/filtering)
- [Справочник API](/docs/api-reference)
