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

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

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

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

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

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

JSON
{
  "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 — тип с таким кодом уже есть:

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

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