Для AI-агентов: markdown этой страницы — /docs-content/entities/booking-resource-types/list.md индекс документации — /llms.txt

Список: Типы ресурсов бронирования

GET /v1/booking-resource-types

Возвращает все типы ресурсов бронирования портала одним ответом, с отбором по коду или названию и сортировкой.

Параметры

Параметр Тип Обяз. По умолч. Описание
filter (query) string нет — JSON-объект отбора. Поля: code — строка или массив строк, name — точное название, searchQuery — часть названия. Пример: ?filter={"code":["equipment","expert"]}
order (query) string нет {"id":"ASC"} JSON-объект сортировки по id, name или code, значения ASC или DESC. Пример: ?order={"name":"DESC"}

Пагинация. Постраничного вывода нет: список возвращает все подходящие типы одним ответом, до 500. Параметры limit и offset не принимаются — запрос с ними отклоняется с 400 INVALID_PARAMS. В запросе передавайте filter и order в URL-кодировке, как в примерах.

Примеры

curl — личный ключ

Terminal
curl -G "https://vibecode.bitrix24.tech/v1/booking-resource-types" \
  -H "X-Api-Key: YOUR_API_KEY" \
  --data-urlencode 'filter={"code":["equipment","expert"]}'

curl — OAuth-приложение

Terminal
curl -G "https://vibecode.bitrix24.tech/v1/booking-resource-types" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  --data-urlencode 'filter={"code":["equipment","expert"]}'

JavaScript — личный ключ

javascript
const params = new URLSearchParams({
  filter: JSON.stringify({ code: ['equipment', 'expert'] }),
})

const res = await fetch(`https://vibecode.bitrix24.tech/v1/booking-resource-types?${params}`, {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})

const { data, meta } = await res.json()
console.log(meta.total, data.map((type) => type.code))

JavaScript — OAuth-приложение

javascript
const params = new URLSearchParams({
  filter: JSON.stringify({ code: ['equipment', 'expert'] }),
})

const res = await fetch(`https://vibecode.bitrix24.tech/v1/booking-resource-types?${params}`, {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { data, meta } = await res.json()
console.log(meta.total, data.map((type) => type.code))

Поля ответа

Поле Тип Описание
success boolean true при успехе
data array Массив карточек типов. Поля карточки — в разделе «Поля ответа» страницы Получить тип ресурса бронирования
meta.total number Число типов в ответе
meta.hasMore boolean Всегда false: список приходит целиком

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

Показаны основные поля карточки. Полный состав — на странице Получить тип ресурса бронирования.

JSON
{
  "success": true,
  "data": [
    {
      "id": 3,
      "code": "equipment",
      "name": "Оборудование",
      "senderCode": null,
      "isInfoNotificationOn": true,
      "isConfirmationNotificationOn": true,
      "isReminderNotificationOn": true,
      "isFeedbackNotificationOn": false,
      "isDelayedNotificationOn": true,
      "isCancellationNotificationOn": true,
      "templateTypeConfirmation": "inanimate"
    },
    {
      "id": 5,
      "code": "expert",
      "name": "Специалист",
      "senderCode": null,
      "isInfoNotificationOn": true,
      "isConfirmationNotificationOn": true,
      "isReminderNotificationOn": true,
      "isFeedbackNotificationOn": false,
      "isDelayedNotificationOn": true,
      "isCancellationNotificationOn": true,
      "templateTypeConfirmation": "animate"
    }
  ],
  "meta": {
    "total": 2,
    "hasMore": false
  }
}

Пример ответа при ошибке

400 — поле фильтра не поддерживается:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "Unknown resource type filter"
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS Поле фильтра вне допустимых. Сообщение Unknown resource type filter
400 INVALID_PARAMS Значение поля фильтра — объект. Сообщение Filter values must be scalars or scalar arrays
400 INVALID_PARAMS Сортировка не по id, name, code или направление не ASC / DESC. Сообщение Invalid resource type order
400 INVALID_PARAMS filter или order — не JSON. Сообщение filter and order must be JSON objects
400 INVALID_PARAMS filter или order — JSON, но не объект, например массив. Сообщение filter and order must be objects
400 INVALID_PARAMS Передан параметр, кроме filter и order. Сообщение Only filter and order are supported
400 INVALID_PARAMS Параметр передан дважды. Сообщение Repeated query parameters are not supported
401 MISSING_API_KEY Не передан X-Api-Key
401 TOKEN_MISSING У ключа нет токенов Битрикс24
403 SCOPE_DENIED У ключа нет скоупа booking
429 RATE_LIMITED Превышена частота запросов. Действующий потолок — в заголовке x-ratelimit-limit
502 BITRIX_RESPONSE_INVALID На портале больше 500 типов, или Битрикс24 вернул список неожиданной формы

Полный список общих ошибок API — Ошибки.

Известные особенности

Фильтр по id не работает. Поле id и имена полей в верхнем регистре, например CODE, проходят проверку, но не отбирают записи: ответ содержит все типы портала. Чтобы получить один тип по идентификатору, вызовите GET /v1/booking-resource-types/:id.

Встроенные типы. Кроме созданных через API, в списке есть типы, которые Битрикс24 заводит сам, например equipment — «Оборудование» и room — «Помещение».

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