Для 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 — личный ключ
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-приложение
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 — личный ключ
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-приложение
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: список приходит целиком |
Пример ответа
Показаны основные поля карточки. Полный состав — на странице Получить тип ресурса бронирования.
{
"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 — поле фильтра не поддерживается:
{
"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 — «Помещение».