# Регулярные сделки

Настройки регулярности описывают автоматическое создание сделок, например каждый месяц по абонентке. ID настройки отличается от ID сделки-шаблона. Доступность зависит от тарифа Битрикс24.

Bitrix24 API: `crm.deal.recurring.*`

Скоуп: `crm`

## Операции

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

## Поля

| Поле | Тип | Описание |
|---|---|---|
| `id` | number | ID настройки. Только чтение. |
| `dealId` | number | ID сделки-шаблона; обычная исходная сделка копируется при создании.  |
| `basedId` | number | ID исходной сделки. Только чтение. |
| `active` | boolean | Активность автоматического повторения.  |
| `nextExecution` | datetime | Дата следующего выполнения. Только чтение. |
| `lastExecution` | datetime | Дата последнего выполнения. Только чтение. |
| `counterRepeat` | number | Число выполнений. Только чтение. |
| `startDate` | date | Дата начала расписания.  |
| `categoryId` | number | Воронка создаваемых сделок.  |
| `isLimit` | string | Режим ограничения повторений.  |
| `limitRepeat` | number | Максимум повторов при T.  |
| `limitDate` | date | Последняя допустимая дата при D.  |
| `params` | object | Полные параметры расписания; заменяются целиком при обновлении.  |

## Параметры расписания

`params` использует camelCase. Единицы: `day`, `week`, `month`, `year`; Битрикс24 также принимает свои числовые коды единиц. Положительные интервалы — числа или числовые строки. Платформа нормализует свои значения по умолчанию; проверяйте расписание по возвращённой записи.

| Параметр | Тип | Значение |
|---|---|---|
| `mode` | string | single или multiple |
| `singleBeforeStartDateValue` | number | Смещение до даты начала |
| `singleBeforeStartDateType` | string | Единица смещения: day, week, month или year |
| `multipleType` | string | Единица повторения: day, week, month или year |
| `multipleInterval` | number | Интервал в единицах повторения |
| `offsetBeginDateType` | string | Единица смещения начала новой сделки |
| `offsetBeginDateValue` | number | Смещение начала новой сделки |
| `offsetCloseDateType` | string | Единица смещения завершения новой сделки |
| `offsetCloseDateValue` | number | Смещение завершения новой сделки |

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

`id` — ID настройки. `dealId` указывает на [сделку-шаблон](./deals/get.md), `basedId` — на исходную сделку. `active` управляет автоматическим повторением; `isLimit` — его ограничением.

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

Обычная исходная сделка копируется в отдельный шаблон. Сохраняйте возвращённые ID для удаления. `params` заменяется целиком. Ручной expose может создать сделку при отключённом автоматическом повторении.

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

Создайте [сделку](./deals/create.md), добавьте настройки регулярности, сохраните ID шаблона из ответа и при необходимости выполните expose. Удаление настроек при существующем шаблоне возвращает 422. Удаление собственного шаблона через сделки автоматически удаляет настройки; исходная и созданные сделки удаляются отдельно.

## Лимиты

Доступность зависит от тарифа Битрикс24 и CRM-прав пользователя. Списки используют стандартную пагинацию; объект расписания не поддерживает фильтрацию и сортировку. Повторный expose может создать ещё одну сделку.

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

- [Сделки](/docs/entities/deals)
- [Entity API](/docs/entity-api)
- [Синтаксис фильтрации](/docs/filtering)
- [Batch](/docs/batch)
