Для AI-агентов: markdown этой страницы — /docs-content/entities/recurring-deals/create.md индекс документации — /llms.txt
Создать настройку
POST /v1/recurring-deals
Создаёт настройку автоматического повторения сделки.
Поля запроса (body)
Поля передаются в корне JSON.
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
ПолеdealId |
Типnumber / string | Обяз.да | ОписаниеID исходной сделки, положительное целое число. Числовая строка также принимается. Источник — список сделок |
Полеactive |
Типboolean / string / null | Обяз.нет | ОписаниеАктивность автоматического повторения. Строковые формы: "true" / "false", "yes" / "no", "y" / "n", "1" / "0" |
ПолеstartDate |
Типdate / null | Обяз.нет | ОписаниеДата начала расписания, например 2027-01-01 |
ПолеcategoryId |
Типnumber / string / null | Обяз.нет | ОписаниеID воронки создаваемых сделок. Числовая строка также принимается. Источник — список воронок сделок |
ПолеisLimit |
Типstring | Обяз.нет | ОписаниеОграничение повторов: N — без ограничений, T — по числу limitRepeat, D — по дате limitDate |
ПолеlimitRepeat |
Типnumber / string / null | Обяз.нет | ОписаниеЦелое число повторов для режима T. Числовая строка также принимается |
ПолеlimitDate |
Типdate / null | Обяз.нет | ОписаниеПоследняя допустимая дата для режима D |
Полеparams |
Типobject | Обяз.нет | ОписаниеПолный объект расписания. Параметры перечислены ниже |
Полеparams.mode |
Типstring / number / null | Обяз.нет | ОписаниеРежим: single или multiple. Принимаются также числовые коды 1 и 2 |
Полеparams.singleBeforeStartDateValue |
Типnumber / string / null | Обяз.нет | ОписаниеЦелое неотрицательное смещение до даты начала. Числовая строка также принимается |
Полеparams.singleBeforeStartDateType |
Типstring / number / null | Обяз.нет | ОписаниеЕдиница смещения: day, week, month или year. Принимаются также числовые коды единиц |
Полеparams.multipleType |
Типstring / number / null | Обяз.нет | ОписаниеЕдиница повторения: day, week, month или year. Принимаются также числовые коды единиц |
Полеparams.multipleInterval |
Типnumber / string / null | Обяз.нет | ОписаниеЦелый неотрицательный интервал повторения. Числовая строка также принимается |
Полеparams.offsetBeginDateType |
Типstring / number / null | Обяз.нет | ОписаниеЕдиница смещения начала новой сделки: day, week, month или year. Принимаются также числовые коды единиц |
Полеparams.offsetBeginDateValue |
Типnumber / string / null | Обяз.нет | ОписаниеЦелое неотрицательное смещение начала новой сделки. Числовая строка также принимается |
Полеparams.offsetCloseDateType |
Типstring / number / null | Обяз.нет | ОписаниеЕдиница смещения завершения новой сделки: day, week, month или year. Принимаются также числовые коды единиц |
Полеparams.offsetCloseDateValue |
Типnumber / string / null | Обяз.нет | ОписаниеЦелое неотрицательное смещение завершения новой сделки. Числовая строка также принимается |
Примеры
curl — личный ключ
curl -X POST "https://vibecode.bitrix24.tech/v1/recurring-deals" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"dealId":51,"isLimit":"T","limitRepeat":1,"startDate":"2027-01-01","params":{"mode":"multiple","multipleType":"month","multipleInterval":1}}'
curl — OAuth-приложение
curl -X POST "https://vibecode.bitrix24.tech/v1/recurring-deals" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"dealId":51,"isLimit":"T","limitRepeat":1,"startDate":"2027-01-01","params":{"mode":"multiple","multipleType":"month","multipleInterval":1}}'
JavaScript — личный ключ
const response = await fetch('https://vibecode.bitrix24.tech/v1/recurring-deals', {
method: 'POST',
headers: { 'X-Api-Key': 'YOUR_API_KEY', 'Content-Type': 'application/json' },
body: JSON.stringify({"dealId":51,"isLimit":"T","limitRepeat":1,"startDate":"2027-01-01","params":{"mode":"multiple","multipleType":"month","multipleInterval":1}}),
})
const result = await response.json()
if (!result.success) throw new Error(result.error.message)
console.log(result.data)
JavaScript — OAuth-приложение
const response = await fetch('https://vibecode.bitrix24.tech/v1/recurring-deals', {
method: 'POST',
headers: { 'X-Api-Key': 'YOUR_APP_KEY', 'Authorization': 'Bearer USER_SESSION_TOKEN', 'Content-Type': 'application/json' },
body: JSON.stringify({"dealId":51,"isLimit":"T","limitRepeat":1,"startDate":"2027-01-01","params":{"mode":"multiple","multipleType":"month","multipleInterval":1}}),
})
const result = await response.json()
if (!result.success) throw new Error(result.error.message)
console.log(result.data)
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
Полеsuccess |
Типboolean | ОписаниеПризнак успешного запроса |
Полеdata |
Типobject | ОписаниеНастройка повторения. Полный состав — поля регулярной сделки |
Пример ответа
201 — настройка создана:
{
"success": true,
"data": {
"id": 11,
"dealId": 53,
"basedId": 51,
"active": true,
"categoryId": null,
"isLimit": "T",
"counterRepeat": null,
"limitRepeat": 1,
"limitDate": null,
"startDate": "2027-01-01",
"nextExecution": "2026-12-31T22:00:00.000Z",
"lastExecution": null,
"params": {
"mode": "multiple",
"singleBeforeStartDateValue": 0,
"singleBeforeStartDateType": null,
"multipleType": "month",
"multipleInterval": 1,
"offsetBeginDateType": null,
"offsetBeginDateValue": 0,
"offsetCloseDateType": null,
"offsetCloseDateValue": 0
}
}
}
Пример ответа при ошибке
400 — не передан dealId:
{
"success": false,
"error": {
"code": "MISSING_REQUIRED_FIELDS",
"message": "Body field \"dealId\" is required to create recurringDeal."
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| HTTP400 | КодMISSING_REQUIRED_FIELDS |
ОписаниеНе передан dealId |
| HTTP400 | КодINVALID_PARAMS |
ОписаниеНекорректный ID сделки, режим ограничения, тип значения или параметр расписания |
| HTTP400 | КодREADONLY_FIELD |
ОписаниеПередано поле только для чтения |
| HTTP400 | КодNESTED_FIELDS_ENVELOPE |
ОписаниеПоля переданы внутри объекта fields. Передавайте их в корне JSON |
| HTTP422 | КодBITRIX_ERROR |
ОписаниеУ сделки-шаблона уже есть настройки. Сообщение: Deal already have had recurring settings. |
| HTTP401 | КодMISSING_API_KEY |
ОписаниеНе передан заголовок X-Api-Key |
| HTTP401 | КодTOKEN_MISSING |
ОписаниеНет настроенных токенов доступа к Битрикс24 |
| HTTP403 | КодMANAGEMENT_KEY_NO_ENTITY_ACCESS |
ОписаниеКлюч управления не имеет доступа к методам сущностей |
| HTTP403 | КодSCOPE_DENIED |
ОписаниеAPI-ключ не имеет скоупа crm |
| HTTP403 | КодWRITE_BLOCKED_READONLY_KEY |
ОписаниеПосле проверки скоупа запись запрещена режимом ключа «только чтение» |
| HTTP403 | КодBITRIX_ACCESS_DENIED |
ОписаниеБитрикс24 отказал в доступе |
| HTTP422 | КодBITRIX_ERROR |
ОписаниеБизнес-отказ Битрикс24 или ограничение тарифа. Причина — в error.message |
| HTTP503 | КодBITRIX_TIMEOUT |
ОписаниеБитрикс24 не ответил вовремя |
| HTTP502 | КодBITRIX_UNAVAILABLE |
ОписаниеСетевой сбой или ошибка сервера Битрикс24 с HTTP-статусом 500 и выше |
| HTTP429 | КодRATE_LIMITED |
ОписаниеПревышен лимит запросов. Повторите после срока из заголовка Retry-After |
Полный список общих ошибок API — Ошибки.