booking.v1.resourceType.list
Получить список типов ресурсов
Описание
Метод booking.v1.resourceType.list возвращает список типов ресурсов по фильтру. Является реализацией списочного метода для типов ресурсов.
Параметры
FILTER
object
необязательный
Объект для фильтрации списка типов ресурсов в формате {"field_1": "value_1", ... "field_N": "value_N"}, где
- field_N — поле типа ресурса для фильтра
- value_N — значение поля
ORDER
object
необязательный
Объект для сортировки списка типа ресурсов в формате {"field_1": "value_1", ... "field_N": "value_N"}, где
- field_N — поле типа ресурса для сортировки
- value_N — направление сортировки
Направление сортировки может принимать значения:
- asc — по возрастанию
- desc — по убыванию
Значение по умолчанию — {ID: 'ASC'}
Параметры filter
searchQuery
string
необязательный
Поисковой запрос. Ищет по подстроке в названии типа ресурса
moduleId
string
необязательный
Модуль типа ресурса
name
string
необязательный
Название типа ресурса
code
string
необязательный
Код типа ресурса
Параметры order
id
string
необязательный
Сортировка по идентификатору
name
string
необязательный
Сортировка по названию
code
string
необязательный
Сортировка по коду
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":{"searchQuery":"рес","moduleId":"booking"},"order":{"id":"ASC","name":"DESC","code":"DESC"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/booking.v1.resourceType.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":{"searchQuery":"рес","moduleId":"booking"},"order":{"id":"ASC","name":"DESC","code":"DESC"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/booking.v1.resourceType.list
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type ResourceTypeResult = {
resource: ResourceType[]
}
type ResourceType = {
code: string
confirmationCounterDelay: number
confirmationNotificationDelay: number
confirmationNotificationRepetitions: number | null
confirmationNotificationRepetitionsInterval: number
delayedCounterDelay: number
delayedNotificationDelay: number
id: number
infoNotificationDelay: number | null
isConfirmationNotificationOn: string
isDelayedNotificationOn: string
isFeedbackNotificationOn: string
isReminderNotificationOn: string
name: string
reminderNotificationDelay: number
templateTypeConfirmation: string
templateTypeDelayed: string
templateTypeFeedback: string
templateTypeReminder: string
}
try {
// booking.v1.resourceType.list returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make + `start` variant when sort matters.
const response = await $b24.actions.v2.call.make<ResourceTypeResult>({
method: 'booking.v1.resourceType.list',
params: {
filter: {
searchQuery: 'res',
moduleId: 'booking',
},
order: {
id: 'ASC',
name: 'DESC',
code: 'DESC',
},
start: 0,
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('Resource types:', result.resource.length, result.resource)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function listResourceTypes() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
// booking.v1.resourceType.list returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make + `start` variant when sort matters.
const response = await $b24.actions.v2.call.make({
method: 'booking.v1.resourceType.list',
params: {
filter: {
searchQuery: 'res',
moduleId: 'booking',
},
order: {
id: 'ASC',
name: 'DESC',
code: 'DESC',
},
start: 0,
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('Resource types:', result.resource.length, result.resource)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', listResourceTypes)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.booking.v1.resource_type.list(
filter={
"searchQuery": "рес",
"moduleId": "booking",
},
order={
"id": "ASC",
"name": "DESC",
"code": "DESC",
},
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'booking.v1.resourceType.list',
[
'filter' => [
'searchQuery' => 'рес',
'moduleId' => 'booking',
],
'order' => [
'id' => 'ASC',
'name' => 'DESC',
'code' => 'DESC',
],
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
error_log($result->error());
echo 'Error: ' . $result->error();
} else {
echo 'Success: ' . print_r($result->data(), true);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error listing resource types: ' . $e->getMessage();
}
BX24.callMethod(
"booking.v1.resourceType.list",
{
filter: {
"searchQuery": "рес",
"moduleId": "booking"
},
order: {
id: "ASC",
name: "DESC",
code: "DESC"
}
},
result => {
if (result.error())
console.error(result.error());
else
console.dir(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'booking.v1.resourceType.list',
[
'filter' => [
'searchQuery' => 'рес',
'moduleId' => 'booking'
],
'order' => [
'id' => 'ASC',
'name' => 'DESC',
'code' => 'DESC'
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "booking.v1.resourceType.list", b24.Params{
"FILTER": b24.Params{
"searchQuery": "рес",
"moduleId": "booking",
},
"ORDER": b24.Params{
"id": "ASC",
"name": "DESC",
"code": "DESC",
},
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("booking.v1.resourceType.list: %w", err)
}
// Ответ приходит как json.RawMessage — разберите его
// в структуру под форму ответа, показанную ниже на этой странице.
fmt.Printf("%s\n", res.Result)
Ответ
HTTP-статус: 200
{
"result": {
"resource": [
{
"code": "equipment",
"confirmationCounterDelay": 10800,
"confirmationNotificationDelay": 86400,
"confirmationNotificationRepetitions": null,
"confirmationNotificationRepetitionsInterval": 10800,
"delayedCounterDelay": 300,
"delayedNotificationDelay": 300,
"id": 3,
"infoNotificationDelay": null,
"isConfirmationNotificationOn": "Y",
"isDelayedNotificationOn": "Y",
"isFeedbackNotificationOn": "N",
"isReminderNotificationOn": "Y",
"name": "ресурс",
"reminderNotificationDelay": -1,
"templateTypeConfirmation": "inanimate",
"templateTypeDelayed": "inanimate",
"templateTypeFeedback": "inanimate",
"templateTypeReminder": "base"
},
{
"code": "expert",
"confirmationCounterDelay": 10800,
"confirmationNotificationDelay": 86400,
"confirmationNotificationRepetitions": null,
"confirmationNotificationRepetitionsInterval": 10800,
"delayedCounterDelay": 300,
"delayedNotificationDelay": 300,
"id": 5,
"infoNotificationDelay": null,
"isConfirmationNotificationOn": "Y",
"isDelayedNotificationOn": "Y",
"isFeedbackNotificationOn": "N",
"isReminderNotificationOn": "Y",
"name": "ресурс 2",
"reminderNotificationDelay": -1,
"templateTypeConfirmation": "animate",
"templateTypeDelayed": "animate",
"templateTypeFeedback": "animate",
"templateTypeReminder": "base"
},
]
},
"time": {
"start": 1746540063.20403,
"finish": 1746540063.261006,
"duration": 0.0569760799407959,
"processing": 0.020888090133666992,
"date_start": "2025-05-06T17:01:03+03:00",
"date_finish": "2025-05-06T17:01:03+03:00",
"operating_reset_at": 1746540663,
"operating": 0
}
}
Возвращаемые данные
result
object
Корневой элемент ответа.
Cодержит массив объектов с информацией о типах ресурсов. Структура описана ниже
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "",
"error_description": "Invalid value {ASC} to match with parameter {order}. Should be value of type array."
}
| Код | Описание | Значение |
|---|---|---|
100 |
Invalid value to match with parameter {order}. Should be value of type array |
В параметр order передан не объект |
100 |
Invalid value to match with parameter {filter}. Should be value of type array |
В параметр filter передан не объект |

