Для AI-агентов: markdown этой страницы — /docs-content/entities/booking-resource-types/create.md индекс документации — /llms.txt
Создание: Типы ресурсов бронирования
POST /v1/booking-resource-types
Создаёт тип ресурса бронирования — категорию ресурсов онлайн-записи с настройками сообщений клиентам о записи.
Поля передаются в корне JSON, без обёртки fields.
Поля запроса (body)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
code |
string | да | Символьный код типа. Уникален среди типов портала: повтор кода отклоняется с 422 BITRIX_ERROR |
name |
string | да | Название типа |
isInfoNotificationOn |
boolean | string | нет | Сообщение клиенту о записи. true / false или "Y" / "N". По умолчанию true |
isConfirmationNotificationOn |
boolean | string | нет | Запрос подтверждения записи. По умолчанию true |
isReminderNotificationOn |
boolean | string | нет | Напоминание о записи. По умолчанию true |
isFeedbackNotificationOn |
boolean | string | нет | Запрос отзыва. По умолчанию true |
isDelayedNotificationOn |
boolean | string | нет | Сообщение клиенту, который опаздывает. По умолчанию true |
isCancellationNotificationOn |
boolean | string | нет | Сообщение клиенту об отмене записи. По умолчанию true |
senderCode |
string | null | нет | Служба отправки сообщений клиенту, например bitrix24. По умолчанию null |
infoNotificationDelay |
number | null | нет | Через сколько секунд после записи отправить сообщение о ней. По умолчанию null |
confirmationNotificationDelay |
number | null | нет | За сколько секунд до записи отправить первый запрос подтверждения. По умолчанию 86400 |
confirmationNotificationRepetitions |
number | null | нет | Сколько раз повторить запрос подтверждения, не считая первого. По умолчанию null |
confirmationNotificationRepetitionsInterval |
number | null | нет | Интервал между повторами запроса подтверждения, в секундах. По умолчанию 10800 |
confirmationCounterDelay |
number | null | нет | За сколько секунд до записи неподтверждённая запись попадает в счётчик. По умолчанию 10800 |
reminderNotificationDelay |
number | null | нет | За сколько секунд до записи отправить напоминание. -1 — утром в день записи. По умолчанию -1 |
delayedNotificationDelay |
number | null | нет | Через сколько секунд опоздания отправить сообщение клиенту. По умолчанию 300 |
delayedCounterDelay |
number | null | нет | Через сколько секунд опоздания запись попадает в счётчик календаря. По умолчанию 300 |
cancellationNotificationDelay |
number | null | нет | Задержка сообщения об отмене записи, в секундах. По умолчанию 600 |
templateTypeInfo |
string | нет | Шаблон сообщения о записи: inanimate, animate, inanimate_long. По умолчанию inanimate. Сохраняется, но в карточке типа не возвращается |
templateTypeConfirmation |
string | нет | Шаблон запроса подтверждения: inanimate, animate, inanimate_long. По умолчанию inanimate |
templateTypeReminder |
string | нет | Шаблон напоминания. Значение одно — base |
templateTypeFeedback |
string | нет | Шаблон запроса отзыва: inanimate, animate. По умолчанию inanimate |
templateTypeDelayed |
string | нет | Шаблон сообщения опоздавшему: inanimate, animate. По умолчанию inanimate |
Шаблоны animate стоят у встроенного типа «Специалист», inanimate — у типов «Оборудование», «Автомобиль» и «Помещение».
Примеры
curl — личный ключ
curl -X POST "https://vibecode.bitrix24.tech/v1/booking-resource-types" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Мастера",
"code": "master",
"isInfoNotificationOn": false,
"isConfirmationNotificationOn": false,
"isReminderNotificationOn": false,
"isFeedbackNotificationOn": false,
"isDelayedNotificationOn": false,
"isCancellationNotificationOn": false
}'
curl — OAuth-приложение
curl -X POST "https://vibecode.bitrix24.tech/v1/booking-resource-types" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Мастера",
"code": "master",
"isInfoNotificationOn": false,
"isConfirmationNotificationOn": false,
"isReminderNotificationOn": false,
"isFeedbackNotificationOn": false,
"isDelayedNotificationOn": false,
"isCancellationNotificationOn": false
}'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/booking-resource-types', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Мастера',
code: 'master',
isInfoNotificationOn: false,
isConfirmationNotificationOn: false,
isReminderNotificationOn: false,
isFeedbackNotificationOn: false,
isDelayedNotificationOn: false,
isCancellationNotificationOn: false,
}),
})
const { data } = await res.json()
console.log('Type ID:', data.id)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/booking-resource-types', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Мастера',
code: 'master',
isInfoNotificationOn: false,
isConfirmationNotificationOn: false,
isReminderNotificationOn: false,
isFeedbackNotificationOn: false,
isDelayedNotificationOn: false,
isCancellationNotificationOn: false,
}),
})
const { data } = await res.json()
console.log('Type ID:', data.id)
Поля ответа
При успехе возвращается HTTP-статус 201 Created.
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | true при успехе |
data |
object | Карточка созданного типа. Поля карточки — в разделе «Поля ответа» страницы Получить тип ресурса бронирования |
data.id |
number | Идентификатор типа. Его передают в typeId при создании ресурса бронирования |
Пример ответа
{
"success": true,
"data": {
"id": 31,
"code": "master",
"name": "Мастера",
"senderCode": null,
"isInfoNotificationOn": false,
"isConfirmationNotificationOn": false,
"isReminderNotificationOn": false,
"isFeedbackNotificationOn": false,
"isDelayedNotificationOn": false,
"isCancellationNotificationOn": false,
"infoNotificationDelay": null,
"confirmationNotificationDelay": 86400,
"confirmationNotificationRepetitions": null,
"confirmationNotificationRepetitionsInterval": 10800,
"confirmationCounterDelay": 10800,
"reminderNotificationDelay": -1,
"delayedNotificationDelay": 300,
"delayedCounterDelay": 300,
"cancellationNotificationDelay": 600,
"templateTypeConfirmation": "inanimate",
"templateTypeReminder": "base",
"templateTypeFeedback": "inanimate",
"templateTypeDelayed": "inanimate"
}
}
Пример ответа при ошибке
422 — тип с таким кодом уже есть:
{
"success": false,
"error": {
"code": "BITRIX_ERROR",
"message": "Resource type with code \"master\" already exists",
"b24Code": "1010"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | MISSING_REQUIRED_FIELDS |
Не передан code. Сообщение code is required |
| 400 | READONLY_FIELD |
В теле передан id. Сообщение id is read-only |
| 400 | INVALID_PARAMS |
Пустое тело. Сообщение Provide a non-empty object of fields |
| 400 | INVALID_PARAMS |
Поле не из таблицы «Поля запроса (body)». Сообщение Unknown booking field |
| 400 | INVALID_PARAMS |
Значение поля — объект или массив. Сообщение Fields must contain scalar values |
| 422 | BITRIX_ERROR |
Тип с таким code уже есть, b24Code 1010 |
| 422 | BITRIX_ERROR |
Не передан name. Сообщение Required fields: name |
| 401 | MISSING_API_KEY |
Не передан X-Api-Key |
| 401 | TOKEN_MISSING |
У ключа нет токенов Битрикс24 |
| 403 | SCOPE_DENIED |
У ключа нет скоупа booking |
| 403 | WRITE_BLOCKED_READONLY_KEY |
Ключ в режиме «Только чтение» |
| 429 | RATE_LIMITED |
Превышена частота запросов. Действующий потолок — в заголовке x-ratelimit-limit |
| 502 | BITRIX_RESPONSE_INVALID |
Битрикс24 вернул ответ неожиданной формы. Если это случилось при перечитывании карточки после записи, тип уже создан — найдите его в списке перед повтором |
Полный список общих ошибок API — Ошибки.