Для AI-агентов: markdown этой страницы — /docs-content/entities/booking-resources/create.md индекс документации — /llms.txt
Создание: Ресурсы бронирования
POST /v1/booking-resources
Создаёт ресурс бронирования — специалиста, помещение или оборудование, на которое клиенты записываются онлайн.
Поля передаются в корне JSON, без обёртки fields.
Поля запроса (body)
Минимум для создания — name и typeId.
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
name |
string | да | Название ресурса |
typeId |
number | да | Идентификатор типа ресурса. Список: GET /v1/booking-resource-types. Без поля запрос отклоняется с 422 BITRIX_ERROR |
description |
string | null | нет | Описание ресурса. По умолчанию null |
isMain |
boolean | string | нет | Основной ресурс. true / false или "Y" / "N". По умолчанию true |
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 |
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 |
Все шесть сообщений клиентам по умолчанию включены. Чтобы ресурс их не отправлял, передайте false в каждом из шести полей is…NotificationOn, как в примерах ниже.
Примеры
curl — личный ключ
curl -X POST "https://vibecode.bitrix24.tech/v1/booking-resources" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Кабинет 3",
"description": "Приём по записи",
"typeId": 1,
"isInfoNotificationOn": false,
"isConfirmationNotificationOn": false,
"isReminderNotificationOn": false,
"isFeedbackNotificationOn": false,
"isDelayedNotificationOn": false,
"isCancellationNotificationOn": false
}'
curl — OAuth-приложение
curl -X POST "https://vibecode.bitrix24.tech/v1/booking-resources" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Кабинет 3",
"description": "Приём по записи",
"typeId": 1,
"isInfoNotificationOn": false,
"isConfirmationNotificationOn": false,
"isReminderNotificationOn": false,
"isFeedbackNotificationOn": false,
"isDelayedNotificationOn": false,
"isCancellationNotificationOn": false
}'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/booking-resources', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Кабинет 3',
description: 'Приём по записи',
typeId: 1,
isInfoNotificationOn: false,
isConfirmationNotificationOn: false,
isReminderNotificationOn: false,
isFeedbackNotificationOn: false,
isDelayedNotificationOn: false,
isCancellationNotificationOn: false,
}),
})
const { data } = await res.json()
console.log('Resource ID:', data.id)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/booking-resources', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Кабинет 3',
description: 'Приём по записи',
typeId: 1,
isInfoNotificationOn: false,
isConfirmationNotificationOn: false,
isReminderNotificationOn: false,
isFeedbackNotificationOn: false,
isDelayedNotificationOn: false,
isCancellationNotificationOn: false,
}),
})
const { data } = await res.json()
console.log('Resource ID:', data.id)
Поля ответа
При успехе возвращается HTTP-статус 201 Created.
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | true при успехе |
data |
object | Карточка созданного ресурса. Поля карточки — в разделе «Поля ответа» страницы Получить ресурс бронирования |
data.id |
number | Идентификатор ресурса. Его передают в resourceIds при создании бронирования |
Пример ответа
{
"success": true,
"data": {
"id": 51,
"description": "Приём по записи",
"typeId": 1,
"isMain": true,
"name": "Кабинет 3",
"senderCode": "bitrix24",
"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,
"templateTypeInfo": "inanimate",
"templateTypeConfirmation": "inanimate",
"templateTypeReminder": "base",
"templateTypeFeedback": "inanimate",
"templateTypeDelayed": "inanimate"
}
}
Пример ответа при ошибке
422 — типа ресурса с таким typeId нет:
{
"success": false,
"error": {
"code": "BITRIX_ERROR",
"message": "Resource type with id 999999 does not exist",
"b24Code": "1013"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | MISSING_REQUIRED_FIELDS |
Не передан name. Сообщение name 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 |
Типа ресурса с таким typeId нет, b24Code 1013 |
| 422 | BITRIX_ERROR |
Не передан typeId. Сообщение ResourceType not found, b24Code 1006 |
| 422 | BITRIX_ERROR |
Недопустимое значение шаблона, например в templateTypeInfo. Сообщение Invalid value of the templateTypeInfo field |
| 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 — Ошибки.