booking.v1.resource.update
Обновить ресурс
Описание
Метод booking.v1.resource.update обновляет существующий ресурс.
Параметры
id
integer
обязательный
Идентификатор ресурса.
Можно получить в методах booking.v1.resource.add и booking.v1.resource.list
fields
object
обязательный
Объект, содержащий значения полей для обновления ресурса (подробное описание)
Параметр fields
name
string
необязательный
Название ресурса
description
string
необязательный
Описание ресурса
typeId
integer
необязательный
Идентификатор типа ресурса.
Список доступных типов можно узнать с помощью метода booking.v1.resourceType.list
isMain
string
необязательный
Как показывать ресурс. Возможные значения:
- Y — в колонках расписания
- N — при пересечении ресурсов
isInfoNotificationOn
string
необязательный
Сообщение клиенту о записи. Возможные значения:
- Y — включено
- N — выключено
templateTypeInfo
string
необязательный
Тип шаблона сообщения о записи. Возможные значения:
- inanimate — шаблон для бронирования оборудования и помещений
- animate — шаблон для записи к специалистам
isConfirmationNotificationOn
string
необязательный
Автоматическое подтверждение записи. Возможные значения:
- Y — включено
- N — выключено
templateTypeConfirmation
string
необязательный
Тип шаблона сообщения о подтверждении записи. Возможные значения:
- inanimate — шаблон для бронирования оборудования и помещений
- animate — шаблон для записи к специалистам
isReminderNotificationOn
string
необязательный
Напоминание о записи. Возможные значения:
- Y — включено
- N — выключено
templateTypeReminder
string
необязательный
Тип шаблона сообщения для напоминания. Возможные значения: base
isFeedbackNotificationOn
string
необязательный
Запрос обратной связи. Возможные значения:
- Y — включено
- N — выключено
templateTypeFeedback
string
необязательный
Тип шаблона сообщения для запроса обратной связи. Возможные значения:
- inanimate — шаблон для бронирования оборудования и помещений
- animate — шаблон для записи к специалистам
isDelayedNotificationOn
string
необязательный
Напоминание, когда клиент опаздывает. Возможные значения:
- Y — включено
- N — выключено
templateTypeDelayed
string
необязательный
Тип шаблона сообщения об опоздании. Возможные значения:
- inanimate — шаблон для бронирования оборудования и помещений
- animate — шаблон для записи к специалистам
infoDelay
integer
необязательный
Задержка, после которой клиенту приходит сообщение о записи. Указывается в секундах
reminderDelay
integer
необязательный
Время до записи, за которое клиенту приходит напоминание о записи. Указывается в секундах
delayedDelay
integer
необязательный
Время, через сколько отправить клиенту сообщение об опоздании. Указывается в секундах
delayedCounterDelay
integer
необязательный
Время, через сколько включить счетчик в календаре. Указывается в секундах
confirmationDelay
integer
необязательный
Время до записи, когда клиенту приходит первое сообщение для подтверждения записи. Указывается в секундах
confirmationRepetitions
integer
необязательный
Количество сообщений, которые приходят клиенту для подтверждения записи, не учитывая первого
confirmationRepetitionsInterval
integer
необязательный
Интервал между сообщениями о подтверждении записи. Указывается в секундах
confirmationCounterDelay
integer
необязательный
Время до записи, после которого загорается счетчик не подтвержденной записи. Указывается в секундах
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":10,"fields":{"name":"Новое название","description":"Новое описание","typeId":1,"isMain":"N","isInfoNotificationOn":"Y","templateTypeInfo":"inanimate","isConfirmationNotificationOn":"Y","templateTypeConfirmation":"animate","isReminderNotificationOn":"Y","templateTypeReminder":"base","isFeedbackNotificationOn":"N","templateTypeFeedback":"animate","isDelayedNotificationOn":"N","templateTypeDelayed":"animate","infoDelay":300,"reminderDelay":-1,"delayedDelay":300,"delayedCounterDelay":7200,"confirmationDelay":86400,"confirmationRepetitions":0,"confirmationRepetitionsInterval":0,"confirmationCounterDelay":7200}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/booking.v1.resource.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":10,"fields":{"name":"Новое название","description":"Новое описание","typeId":1,"isMain":"N","isInfoNotificationOn":"Y","templateTypeInfo":"inanimate","isConfirmationNotificationOn":"Y","templateTypeConfirmation":"animate","isReminderNotificationOn":"Y","templateTypeReminder":"base","isFeedbackNotificationOn":"N","templateTypeFeedback":"animate","isDelayedNotificationOn":"N","templateTypeDelayed":"animate","infoDelay":300,"reminderDelay":-1,"delayedDelay":300,"delayedCounterDelay":7200,"confirmationDelay":86400,"confirmationRepetitions":0,"confirmationRepetitionsInterval":0,"confirmationCounterDelay":7200},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/booking.v1.resource.update
// 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
try {
const response = await $b24.actions.v2.call.make<boolean>({
method: 'booking.v1.resource.update',
params: {
id: 10,
fields: {
name: 'New name',
description: 'New description',
typeId: 1,
isMain: 'N',
isInfoNotificationOn: 'Y',
templateTypeInfo: 'inanimate',
isConfirmationNotificationOn: 'Y',
templateTypeConfirmation: 'animate',
isReminderNotificationOn: 'Y',
templateTypeReminder: 'base',
isFeedbackNotificationOn: 'N',
templateTypeFeedback: 'animate',
isDelayedNotificationOn: 'N',
templateTypeDelayed: 'animate',
infoDelay: 300,
reminderDelay: -1,
delayedDelay: 300,
delayedCounterDelay: 7200,
confirmationDelay: 86400,
confirmationRepetitions: 0,
confirmationRepetitionsInterval: 0,
confirmationCounterDelay: 7200,
},
},
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 updated:', result)
}
} 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 updateResource() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'booking.v1.resource.update',
params: {
id: 10,
fields: {
name: 'New name',
description: 'New description',
typeId: 1,
isMain: 'N',
isInfoNotificationOn: 'Y',
templateTypeInfo: 'inanimate',
isConfirmationNotificationOn: 'Y',
templateTypeConfirmation: 'animate',
isReminderNotificationOn: 'Y',
templateTypeReminder: 'base',
isFeedbackNotificationOn: 'N',
templateTypeFeedback: 'animate',
isDelayedNotificationOn: 'N',
templateTypeDelayed: 'animate',
infoDelay: 300,
reminderDelay: -1,
delayedDelay: 300,
delayedCounterDelay: 7200,
confirmationDelay: 86400,
confirmationRepetitions: 0,
confirmationRepetitionsInterval: 0,
confirmationCounterDelay: 7200,
},
},
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 updated:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', updateResource)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.booking.v1.resource.update(bitrix_id=123, fields={
"name": "Updated name",
"description": "Updated description",
"typeId": 1,
"isMain": "N",
"isInfoNotificationOn": "Y",
"templateTypeInfo": "inanimate",
"isConfirmationNotificationOn": "Y",
"templateTypeConfirmation": "animate",
"isReminderNotificationOn": "Y",
"templateTypeReminder": "base",
"isFeedbackNotificationOn": "N",
"templateTypeFeedback": "animate",
"isDelayedNotificationOn": "N",
"templateTypeDelayed": "animate",
"infoDelay": 300,
"reminderDelay": -1,
"delayedDelay": 300,
"delayedCounterDelay": 7200,
"confirmationDelay": 86400,
"confirmationRepetitions": 0,
"confirmationRepetitionsInterval": 0,
"confirmationCounterDelay": 7200,
}).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.resource.update',
[
'id' => 10,
'fields' => [
'name' => 'Новое название',
'description' => 'Новое описание',
'typeId' => 1,
'isMain' => 'N',
'isInfoNotificationOn' => 'Y',
'templateTypeInfo' => 'inanimate',
'isConfirmationNotificationOn' => 'Y',
'templateTypeConfirmation' => 'animate',
'isReminderNotificationOn' => 'Y',
'templateTypeReminder' => 'base',
'isFeedbackNotificationOn' => 'N',
'templateTypeFeedback' => 'animate',
'isDelayedNotificationOn' => 'N',
'templateTypeDelayed' => 'animate',
'infoDelay' => 300,
'reminderDelay' => -1,
'delayedDelay' => 300,
'delayedCounterDelay' => 7200,
'confirmationDelay' => 86400,
'confirmationRepetitions' => 0,
'confirmationRepetitionsInterval' => 0,
'confirmationCounterDelay' => 7200,
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating resource: ' . $e->getMessage();
}
BX24.callMethod(
"booking.v1.resource.update",
{
id: 10,
fields: {
name: "Новое название",
description: "Новое описание",
typeId: 1,
isMain: "N",
isInfoNotificationOn: "Y",
templateTypeInfo: "inanimate",
isConfirmationNotificationOn: "Y",
templateTypeConfirmation: "animate",
isReminderNotificationOn: "Y",
templateTypeReminder: "base",
isFeedbackNotificationOn: "N",
templateTypeFeedback: "animate",
isDelayedNotificationOn: "N",
templateTypeDelayed: "animate",
infoDelay: 300,
reminderDelay: -1,
delayedDelay: 300,
delayedCounterDelay: 7200,
confirmationDelay: 86400,
confirmationRepetitions: 0,
confirmationRepetitionsInterval: 0,
confirmationCounterDelay: 7200
}
},
result => {
if (result.error())
console.error(result.error());
else
console.dir(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'booking.v1.resource.update',
[
'id' => 10,
'fields' => [
'name' => 'Новое название',
'description' => 'Новое описание',
'typeId' => 1,
'isMain' => 'N',
'isInfoNotificationOn' => 'Y',
'templateTypeInfo' => 'inanimate',
'isConfirmationNotificationOn' => 'Y',
'templateTypeConfirmation' => 'animate',
'isReminderNotificationOn' => 'Y',
'templateTypeReminder' => 'base',
'isFeedbackNotificationOn' => 'N',
'templateTypeFeedback' => 'animate',
'isDelayedNotificationOn' => 'N',
'templateTypeDelayed' => 'animate',
'infoDelay' => 300,
'reminderDelay' => -1,
'delayedDelay' => 300,
'delayedCounterDelay' => 7200,
'confirmationDelay' => 86400,
'confirmationRepetitions' => 0,
'confirmationRepetitionsInterval' => 0,
'confirmationCounterDelay' => 7200
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "booking.v1.resource.update", b24.Params{
"id": 10,
"fields": b24.Params{
"name": "Новое название",
"description": "Новое описание",
"typeId": 1,
"isMain": "N",
"isInfoNotificationOn": "Y",
"templateTypeInfo": "inanimate",
"isConfirmationNotificationOn": "Y",
"templateTypeConfirmation": "animate",
"isReminderNotificationOn": "Y",
"templateTypeReminder": "base",
"isFeedbackNotificationOn": "N",
"templateTypeFeedback": "animate",
"isDelayedNotificationOn": "N",
"templateTypeDelayed": "animate",
"infoDelay": 300,
"reminderDelay": -1,
"delayedDelay": 300,
"delayedCounterDelay": 7200,
"confirmationDelay": 86400,
"confirmationRepetitions": 0,
"confirmationRepetitionsInterval": 0,
"confirmationCounterDelay": 7200,
},
})
if err != nil {
return fmt.Errorf("booking.v1.resource.update: %w", err)
}
var ok bool
if err := json.Unmarshal(res.Result, &ok); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("выполнено:", ok)
Ответ
HTTP-статус: 200
{
"result": true,
"time": {
"start": 1724068028.331234,
"finish": 1724068028.726591,
"duration": 0.3953571319580078,
"processing": 0.13033390045166016,
"date_start": "2025-01-21T13:47:08+02:00",
"date_finish": "2025-01-21T13:47:08+02:00",
"operating": 0
}
}
Возвращаемые данные
result
boolean
Корневой элемент ответа, содержит true в случае успеха
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": 1007,
"error_description": "Resource not found"
}
| Код | Описание | Значение |
|---|---|---|
100 |
Could not find value for parameter |
Не передан обязательный параметр |
1007 |
Resource not found |
Указан несуществующий id ресурса |
1013 |
Resource type with id does not exist |
Указан несуществующий typeId |
422 |
Invalid value of the field |
Неверное значение поля |

