Skip to content

Latest commit

 

History

History
278 lines (237 loc) · 10.9 KB

calendar-user-settings-set.md

File metadata and controls

278 lines (237 loc) · 10.9 KB

Установить пользовательские настройки календаря calendar.user.settings.set

Scope: calendar

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

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

Параметры метода

{% include Сноска о параметрах %}

#| || Название тип | Описание || || settings* object | Объект со значениями пользовательских настроек календаря || |#

Параметр settings {#settings}

#| || 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 | Объект со стандартными настройками напоминаний о событии || |#

Объект defaultReminders {#defaultReminders}

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

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

#| || Название тип | Описание || || type string | Временной тип напоминания. Возможные значения:

  • min — минуты
  • hour — часы
  • day — дни || || count integer | Числовое значение временного промежутка || |#

Примеры кода

{% include Сноска о примерах %}

{% list tabs %}

  • cURL (Webhook)

    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_webbhook_here**/calendar.user.settings.set
  • cURL (OAuth)

    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
  • JS

    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
                        }
                    ]
                }
            }
        }
    );
  • PHP

    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>';

{% endlist %}

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

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 boolean | Возвращает true в случае успешного выполнения || |#

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

HTTP-статус: 400

{
    "error": "",
    "error_description": "Не задан обязательный параметр "settings" для метода "calendar.user.settings.set""
}

{% include notitle обработка ошибок %}

Возможные коды ошибок

#| || Код | Сообщение об ошибке | Описание || || Пустая строка | Не задан обязательный параметр "settings" для метода "calendar.user.settings.set" | Не передан обязательный параметр settings || |#

{% include системные ошибки %}

Продолжите изучение