Установить пользовательские настройки календаря calendar.user.settings.set
Scope:
calendarКто может выполнять метод: любой пользователь
Метод устанавливает пользовательские настройки календаря для текущего пользователя.
Параметры метода
Обязательные параметры отмечены *
|
Название |
Описание |
|
settings* |
Объект со значениями пользовательских настроек календаря |
Параметр settings
|
view |
Стандартное представление для календаря. Возможные значения:
|
|
meetSection |
Календарь для приглашений |
|
crmSection |
Календарь для CRM |
|
showDeclined |
Показывать события, в которых пользователь отказался принять участие |
|
denyBusyInvitation |
Запрещать приглашать в событие, если время занято |
|
collapseOffHours |
Скрывать нерабочее время в календаре в недельном и дневном представлении. Возможные значения:
|
|
showWeekNumbers |
Показывать номер недель. Возможные значения:
|
|
showTasks |
Отображать задачи в календаре. Возможные значения:
|
|
syncTasks |
Синхронизировать календарь задач. Возможные значения:
|
|
showCompletedTasks |
Отображать завершенные задачи. Возможные значения:
|
|
lastUsedSection |
Идентификатор календаря, который используется при создании событий, если в параметрах не передан идентификатор календаря. Значение по умолчанию — |
|
sendFromEmail |
E-mail для отправки почтовых приглашений |
|
defaultSections |
Настройки предустановленных календарей. Ключем объекта настроек может быть:
Значением объекта является идентификатор календаря |
|
syncPeriodPast |
Количество месяцев для синхронизации в прошлом периоде |
|
syncPeriodFuture |
Количество месяцев для синхронизации в будущем периоде |
|
defaultReminders |
Объект со стандартными настройками напоминаний о событии |
Объект defaultReminders
|
Название |
Описание |
|
fullDay |
Массив стандартных настроек напоминаний для целодневных событий |
|
withTime |
Массив стандартных настроек напоминаний для событий с указанием времени |
Объект настроек напоминания
|
Название |
Описание |
|
type |
Временной тип напоминания. Возможные значения:
|
|
count |
Числовое значение временного промежутка |
Примеры кода
Как использовать примеры в документации
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"settings":{"view":"month","meetSection":"4","crmSection":"4","showDeclined":true,"denyBusyInvitation":false,"collapseOffHours":"N","showWeekNumbers":"N","showTasks":"Y","syncTasks":"N","showCompletedTasks":"N","lastUsedSection":"false","sendFromEmail":"","defaultSections":{"user1":"4","group6":"49"},"syncPeriodPast":"3","syncPeriodFuture":"12","defaultReminders":{"fullDay":[{"type":"min","count":15}],"withTime":[{"type":"min","count":50}]}}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/calendar.user.settings.set
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"settings":{"view":"month","meetSection":"4","crmSection":"4","showDeclined":true,"denyBusyInvitation":false,"collapseOffHours":"N","showWeekNumbers":"N","showTasks":"Y","syncTasks":"N","showCompletedTasks":"N","lastUsedSection":"false","sendFromEmail":"","defaultSections":{"user1":"4","group6":"49"},"syncPeriodPast":"3","syncPeriodFuture":"12","defaultReminders":{"fullDay":[{"type":"min","count":15}],"withTime":[{"type":"min","count":50}]}},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/calendar.user.settings.set
try
{
const response = await $b24.callMethod(
'calendar.user.settings.set',
{
settings: {
view: 'month',
meetSection: '4',
crmSection: '4',
showDeclined: true,
denyBusyInvitation: false,
collapseOffHours: 'N',
showWeekNumbers: 'N',
showTasks: 'Y',
syncTasks: 'N',
showCompletedTasks: 'N',
lastUsedSection: 'false',
sendFromEmail: '',
defaultSections: {
user1: '4',
group6: '49'
},
syncPeriodPast: '3',
syncPeriodFuture: '12',
defaultReminders: {
fullDay: [
{
type: 'min',
count: 15
}
],
withTime: [
{
type: 'min',
count: 50
}
]
}
}
}
);
const result = response.getData().result;
console.log('Result:', result);
// Нужная вам логика обработки данных
processResult(result);
}
catch( error )
{
console.error('Error:', error);
}
try {
$response = $b24Service
->core
->call(
'calendar.user.settings.set',
[
'settings' => [
'view' => 'month',
'meetSection' => '4',
'crmSection' => '4',
'showDeclined' => true,
'denyBusyInvitation' => false,
'collapseOffHours' => 'N',
'showWeekNumbers' => 'N',
'showTasks' => 'Y',
'syncTasks' => 'N',
'showCompletedTasks' => 'N',
'lastUsedSection' => 'false',
'sendFromEmail' => '',
'defaultSections' => [
'user1' => '4',
'group6' => '49'
],
'syncPeriodPast' => '3',
'syncPeriodFuture' => '12',
'defaultReminders' => [
'fullDay' => [
[
'type' => 'min',
'count' => 15
]
],
'withTime' => [
[
'type' => 'min',
'count' => 50
]
]
]
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error setting user calendar settings: ' . $e->getMessage();
}
BX24.callMethod(
'calendar.user.settings.set',
{
settings: {
view: 'month',
meetSection: '4',
crmSection: '4',
showDeclined: true,
denyBusyInvitation: false,
collapseOffHours: 'N',
showWeekNumbers: 'N',
showTasks: 'Y',
syncTasks: 'N',
showCompletedTasks: 'N',
lastUsedSection: 'false',
sendFromEmail: '',
defaultSections: {
user1: '4',
group6: '49'
},
syncPeriodPast: '3',
syncPeriodFuture: '12',
defaultReminders: {
fullDay: [
{
type: 'min',
count: 15
}
],
withTime: [
{
type: 'min',
count: 50
}
]
}
}
}
);
require_once('crest.php');
$result = CRest::call(
'calendar.user.settings.set',
[
'settings' => [
'view' => 'month',
'meetSection' => '4',
'crmSection' => '4',
'showDeclined' => true,
'denyBusyInvitation' => false,
'collapseOffHours' => 'N',
'showWeekNumbers' => 'N',
'showTasks' => 'Y',
'syncTasks' => 'N',
'showCompletedTasks' => 'N',
'lastUsedSection' => 'false',
'sendFromEmail' => '',
'defaultSections' => [
'user1' => '4',
'group6' => '49'
],
'syncPeriodPast' => '3',
'syncPeriodFuture' => '12',
'defaultReminders' => [
'fullDay' => [
[
'type' => 'min',
'count' => 15
]
],
'withTime' => [
[
'type' => 'min',
'count' => 50
]
]
]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Обработка ответа
HTTP-статус: 200
{
"result": true,
"time": {
"start": 1733318565.183275,
"finish": 1733318565.695058,
"duration": 0.5117831230163574,
"processing": 0.29406094551086426,
"date_start": "2024-12-04T13:22:45+00:00",
"date_finish": "2024-12-04T13:22:45+00:00"
}
}
Возвращаемые данные
|
Название |
Описание |
|
result |
Возвращает |
Обработка ошибок
HTTP-статус: 400
{
"error": "",
"error_description": "Не задан обязательный параметр "settings" для метода "calendar.user.settings.set""
}
|
Название |
Описание |
|
error |
Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания |
|
error_description |
Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде |
Возможные коды ошибок
|
Код |
Сообщение об ошибке |
Описание |
|
Пустая строка |
Не задан обязательный параметр "settings" для метода "calendar.user.settings.set" |
Не передан обязательный параметр |
Статусы и коды системных ошибок
HTTP-статус: 20x, 40x, 50x
Описанные ниже ошибки могут возникнуть при вызове любого метода
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Текущий метод не разрешен для вызова с помощью batch |
|
|
|
Превышена максимальная длина параметров, переданных в метод batch |
|
|
|
Неверный access-токен или код вебхука |
|
|
|
Для вызовов методов требуется использовать протокол HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих планах |
|
|
|
У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав |
|
|
|
Манифест недоступен |
|
|
|
Запрос требует более высоких привилегий, чем предоставляет токен вебхука |
|
|
|
Предоставленный access-токен доступа истек |
|
|
|
Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |
Продолжите изучение
- Календарь: обзор методов
- Получить основные настройки календаря calendar.settings.get
- Получить пользовательские настройки календаря calendar.user.settings.get