Для AI-агентов: markdown этой страницы — /docs-content/entities/booking-resources.md индекс документации — /llms.txt
Ресурсы бронирования
Ресурс бронирования — специалист, помещение или оборудование, на которое клиенты записываются онлайн. Каждый ресурс относится к одному типу, а бронирование резервирует один или несколько ресурсов.
Битрикс24 API: booking.v1.resource.*
Скоуп: booking
Создание: Ресурсы бронирования
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 | Код | Описание |
|---|---|---|
| HTTP400 | КодMISSING_REQUIRED_FIELDS |
ОписаниеНе передан name. Сообщение name is required |
| HTTP400 | КодREADONLY_FIELD |
ОписаниеВ теле передан id. Сообщение id is read-only |
| HTTP400 | КодINVALID_PARAMS |
ОписаниеПустое тело. Сообщение Provide a non-empty object of fields |
| HTTP400 | КодINVALID_PARAMS |
ОписаниеПоле не из таблицы «Поля запроса (body)». Сообщение Unknown booking field |
| HTTP400 | КодINVALID_PARAMS |
ОписаниеЗначение поля — объект или массив. Сообщение Fields must contain scalar values |
| HTTP422 | КодBITRIX_ERROR |
ОписаниеТипа ресурса с таким typeId нет, b24Code 1013 |
| HTTP422 | КодBITRIX_ERROR |
ОписаниеНе передан typeId. Сообщение ResourceType not found, b24Code 1006 |
| HTTP422 | КодBITRIX_ERROR |
ОписаниеНедопустимое значение шаблона, например в templateTypeInfo. Сообщение Invalid value of the templateTypeInfo field |
| HTTP401 | КодMISSING_API_KEY |
ОписаниеНе передан X-Api-Key |
| HTTP401 | КодTOKEN_MISSING |
ОписаниеУ ключа нет токенов Битрикс24 |
| HTTP403 | КодSCOPE_DENIED |
ОписаниеУ ключа нет скоупа booking |
| HTTP403 | КодWRITE_BLOCKED_READONLY_KEY |
ОписаниеКлюч в режиме «Только чтение» |
| HTTP429 | КодRATE_LIMITED |
ОписаниеПревышена частота запросов. Действующий потолок — в заголовке x-ratelimit-limit |
| HTTP502 | КодBITRIX_RESPONSE_INVALID |
ОписаниеБитрикс24 вернул ответ неожиданной формы. Если это случилось при перечитывании карточки после записи, ресурс уже создан — найдите его в списке перед повтором |
Полный список общих ошибок API — Ошибки.