Для AI-агентов: markdown этой страницы — /docs-content/entities/booking-resource-types/update.md индекс документации — /llms.txt
Частичная правка: Типы ресурсов бронирования
PATCH /v1/booking-resource-types/:id
Изменяет переданные поля типа ресурса бронирования. Поля, которых нет в теле запроса, сохраняют прежние значения.
Поля передаются в корне JSON, без обёртки fields. В каждом запросе нужен новый code — см. «Известные особенности».
Параметры
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
id (path) |
number | да | Идентификатор типа. Список: GET /v1/booking-resource-types |
Поля запроса (body)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
code |
string | да | Новый символьный код типа. Должен отличаться от текущего и от кодов других типов |
name |
string | нет | Название типа |
isInfoNotificationOn |
boolean | string | нет | Сообщение клиенту о записи. true / false или "Y" / "N" |
isConfirmationNotificationOn |
boolean | string | нет | Запрос подтверждения записи |
isReminderNotificationOn |
boolean | string | нет | Напоминание о записи |
isFeedbackNotificationOn |
boolean | string | нет | Запрос отзыва |
isDelayedNotificationOn |
boolean | string | нет | Сообщение клиенту, который опаздывает |
isCancellationNotificationOn |
boolean | string | нет | Сообщение клиенту об отмене записи |
senderCode |
string | null | нет | Служба отправки сообщений клиенту, например bitrix24 |
infoNotificationDelay |
number | null | нет | Через сколько секунд после записи отправить сообщение о ней |
confirmationNotificationDelay |
number | null | нет | За сколько секунд до записи отправить первый запрос подтверждения |
confirmationNotificationRepetitions |
number | null | нет | Сколько раз повторить запрос подтверждения, не считая первого |
confirmationNotificationRepetitionsInterval |
number | null | нет | Интервал между повторами запроса подтверждения, в секундах |
confirmationCounterDelay |
number | null | нет | За сколько секунд до записи неподтверждённая запись попадает в счётчик |
reminderNotificationDelay |
number | null | нет | За сколько секунд до записи отправить напоминание. -1 — утром в день записи |
delayedNotificationDelay |
number | null | нет | Через сколько секунд опоздания отправить сообщение клиенту |
delayedCounterDelay |
number | null | нет | Через сколько секунд опоздания запись попадает в счётчик календаря |
cancellationNotificationDelay |
number | null | нет | Задержка сообщения об отмене записи, в секундах |
templateTypeInfo |
string | нет | Шаблон сообщения о записи: inanimate, animate, inanimate_long. Сохраняется, но в карточке типа не возвращается |
templateTypeConfirmation |
string | нет | Шаблон запроса подтверждения: inanimate, animate, inanimate_long |
templateTypeReminder |
string | нет | Шаблон напоминания. Значение одно — base |
templateTypeFeedback |
string | нет | Шаблон запроса отзыва: inanimate, animate |
templateTypeDelayed |
string | нет | Шаблон сообщения опоздавшему: inanimate, animate |
Примеры
curl — личный ключ
curl -X PATCH "https://vibecode.bitrix24.tech/v1/booking-resource-types/31" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Мастера маникюра",
"code": "master-2"
}'
curl — OAuth-приложение
curl -X PATCH "https://vibecode.bitrix24.tech/v1/booking-resource-types/31" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Мастера маникюра",
"code": "master-2"
}'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/booking-resource-types/31', {
method: 'PATCH',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Мастера маникюра',
code: 'master-2',
}),
})
const { data } = await res.json()
console.log(data.name, data.code)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/booking-resource-types/31', {
method: 'PATCH',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Мастера маникюра',
code: 'master-2',
}),
})
const { data } = await res.json()
console.log(data.name, data.code)
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | true при успехе |
data |
object | Карточка типа после изменения. Поля карточки — в разделе «Поля ответа» страницы Получить тип ресурса бронирования |
Пример ответа
{
"success": true,
"data": {
"id": 31,
"code": "master-2",
"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 — в теле передан текущий code:
{
"success": false,
"error": {
"code": "BITRIX_ERROR",
"message": "Resource type with code \"master\" already exists",
"b24Code": "1011"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 404 | ENTITY_NOT_FOUND |
Типа с таким id нет. Сообщение Booking record not found |
| 422 | BITRIX_ERROR |
code совпадает с текущим или с кодом другого типа, b24Code 1011 |
| 422 | BITRIX_ERROR |
В теле нет code. Сообщение Internal server error. |
| 400 | INVALID_PARAMS |
id — не целое положительное число. Сообщение id must be a positive safe integer |
| 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 |
| 400 | READONLY_FIELD |
В теле передан id. Сообщение id is read-only |
| 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 — Ошибки.
Известные особенности
Обновление требует нового code. Запрос без code отклоняется с 422 BITRIX_ERROR и сообщением Internal server error., запрос с текущим кодом — с 422 BITRIX_ERROR о том, что такой код уже есть. Чтобы изменить другие поля и сохранить прежний код, сделайте два запроса: первый — с временным code, второй — с прежним.