Блог Горошко Андрея Bitrix24 Получить пользовательские настройки календаря calendar.user.settings.get

Получить пользовательские настройки календаря calendar.user.settings.get

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Получить пользовательские настройки календаря calendar.user.settings.get», разберем архитектурные особенности и предоставим готовые к интеграции примеры кода.

Получить пользовательские настройки календаря calendar.user.settings.get

> Scope: calendar
>
> Кто может выполнять метод: любой пользователь

Метод получает пользовательские настройки календаря.

Без параметров.

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/calendar.user.settings.get
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/calendar.user.settings.get
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'calendar.user.settings.get',
    		{}
    	);
    	
    	const result = response.getData().result;
    	console.log('Result:', result);
    }
    catch( error )
    {
    	console.error('Error:', error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'calendar.user.settings.get',
                []
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        echo 'Success: ' . print_r($result, true);
        // Нужная вам логика обработки данных
        processData($result);
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error getting user calendar settings: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        'calendar.user.settings.get',
        {}
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'calendar.user.settings.get',
        []
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

Обработка ответа

HTTP-статус: 200

{
    "result": {
        "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
                }
            ]
        },
        "timezoneName": "Europe/Riga",
        "timezoneOffsetUTC": 7200,
        "timezoneDefaultName": "",
        "work_time_start": "9.00",
        "work_time_end": "19.00"
    },
    "time": {
        "start": 1734434829.455204,
        "finish": 1734434829.797482,
        "duration": 0.34227800369262695,
        "processing": 0.0038161277770996094,
        "date_start": "2024-12-17T11:27:09+00:00",
        "date_finish": "2024-12-17T11:27:09+00:00"
    }
}

Возвращаемые данные

Название
тип
Описание
result
object
Корневой элемент ответа
view
string
Стандартное представление для календаря. Возможные значения:
— day — день
— week — неделя
— month — месяц
— list — список
meetSection
string
Календарь для приглашений
crmSection
string
Календарь для CRM
showDeclined
boolean
Показывать события, в которых пользователь отказался принять участие
denyBusyInvitation
boolean
Запрещать приглашать в событие, если время занято
collapseOffHours
string
Скрывать нерабочее время в календаре в недельном и дневном представлении. Возможные значения:
— Y — скрывать
— N — не скрывать
showWeekNumbers
string
Показывать номер недель. Возможные значения:
— Y — показывать
— N — не показывать
showTasks
string
Отображать задачи в календаре. Возможные значения:
— Y — отображать
— N — не отображать
syncTasks
string
Синхронизировать календарь задач. Возможные значения:
— Y — да
— N — нет
showCompletedTasks
string
Отображать завершенные задачи. Возможные значения:
— Y — отображать
— N — не отображать
lastUsedSection
string
Идентификатор календаря, который используется при создании событий, если в параметрах не передан идентификатор календаря.

Значение по умолчанию — false

sendFromEmail
string
E-mail для отправки почтовых приглашений
defaultSections
object
Настройки предустановленных календарей.

Ключем объекта настроек может быть:
— user[id] — тип Календарь пользователя c идентификатором пользователя. Например, user12 соответствует календарю пользователя с идентификатором 12
— group[id] — тип Календарь группы с идентификатором группы. Например, group36 соответствует календарю группы с идентификатором 36

Значением объекта является идентификатор календаря

syncPeriodPast
string
Количество месяцев для синхронизации в прошлом периоде
syncPeriodFuture
string
Количество месяцев для синхронизации в будущем периоде
defaultReminders
object
Объект со стандартными настройками напоминаний о событии
timezoneName
string
Таймзона календаря
timezoneOffsetUTC
integer
Смешение таймзоны относительно UTC в секундах
timezoneDefaultName
string
Если параметр timezoneName не установлен, здесь будет указан часовой пояс из параметра timezoneOffsetUTC
work_time_start
string
Время начала рабочего дня
work_time_end
string
Время окончания рабочего дня

Объект defaultReminders {#defaultReminders}

Название
тип
Описание
fullDay
array
Массив стандартных настроек напоминаний для целодневных событий
withTime
array
Массив стандартных настроек напоминаний для событий с указанием времени

Объект настроек напоминания {#reminder-settings}

Название
тип
Описание
type
string
Временной тип напоминания. Возможные значения:
— min — минуты
— hour — часы
— day — дни
count
integer
Числовое значение временного промежутка

Обработка ошибок

  • [](./index)
  • [](./calendar-settings-get)
  • [](./calendar-user-settings-set)

💡 Экспертное мнение и рекомендации

Ключевые выводы по теме «Получить пользовательские настройки календаря calendar.user.settings.get»:

Использование современных стандартов D7 при работе с calendar.user.settings.get позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Провести документ складского учета catalog.document.conductПровести документ складского учета catalog.document.conduct

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Провести документ складского учета catalog.document.conduct», проанализируем лучшие практики

Добавить пользователя к существующему заданию rpa.task.addUserДобавить пользователя к существующему заданию rpa.task.addUser

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Добавить пользователя к существующему заданию rpa.task.addUser». Мы подготовили подробный разбор принципов работы и развернутые примеры

Получить список событий календаря calendar.event.getПолучить список событий календаря calendar.event.get

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Получить список событий календаря calendar.event.get». Вы узнаете экспертные методики работы с calendar.event.get и