Для 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 — личный ключ

Terminal
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-приложение

Terminal
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 — личный ключ

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-приложение

javascript
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 при создании бронирования

Пример ответа

JSON
{
  "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 нет:

JSON
{
  "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 — Ошибки.

Смотрите также