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

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации

Scope: calendar

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

Метод получает список событий календаря.

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

Обязательные параметры отмечены *

Название
тип

Описание

type*
string

Тип календаря:

  • user — календарь пользователя
  • group — календарь группы
  • company_calendar — календарь компании

ownerId*
integer

Идентификатор владельца календаря.

Для календаря компании параметр ownerId имеет значение 0

from
date

Дата начала выборки.

Значение по умолчанию — месяц до текущей даты

to
date

Дата окончания выборки.

Значение по умолчанию — три месяца после текущей даты

section
array

Массив идентификаторов календарей

Примеры кода

Как использовать примеры в документации

  1. Получить события пользователя с id = 1 за период с 2024-06-20 по 2024-08-20

    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"type":"user","ownerId":1,"from":"2024-06-20","to":"2024-08-20","section":[21,44]}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/calendar.event.get
    
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"type":"user","ownerId":1,"from":"2024-06-20","to":"2024-08-20","section":[21,44],"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/calendar.event.get
    
    BX24.callMethod(
        'calendar.event.get',
        {
            type: 'user',
            ownerId: 1,
            from: '2024-06-20',
            to: '2024-08-20',
            section: [21, 44]
        }
    );
    
    from b24pysdk.errors import BitrixAPIError, BitrixSDKException
    
    try:
        bitrix_response = client.calendar.event.get(
            type="user",
            owner_id=1,
            from_date="2024-06-20",
            to="2024-08-20",
            section=[
                21,
                44,
            ],
        ).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}")
    
    require_once('crest.php');
    
    $result = CRest::call(
        'calendar.event.get',
        [
            'type' => 'user',
            'ownerId' => 1,
            'from' => '2024-06-20',
            'to' => '2024-08-20',
            'section' => [21, 44]
        ]
    );
    
    echo '<PRE>';
    print_r($result);
    echo '</PRE>';
    
    // client и ctx уже созданы — см. раздел «SDK для Go»
    res, err := client.Core().Call(ctx, "calendar.event.get", b24.Params{
    	"type":    "user",
    	"ownerId": 1,
    	"from":    "2024-06-20",
    	"to":      "2024-08-20",
    	"section": []int{21, 44},
    }, b24.WithIdempotent())
    if err != nil {
    	return fmt.Errorf("calendar.event.get: %w", err)
    }
    
    // Ответ приходит как json.RawMessage — разберите его
    // в структуру под форму ответа, показанную ниже на этой странице.
    fmt.Printf("%s\n", res.Result)
    
  2. Получить события календаря компании.

    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"type":"company_calendar","ownerId":""}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/calendar.event.get
    
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"type":"company_calendar","ownerId":"","auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/calendar.event.get
    
    BX24.callMethod(
        'calendar.event.get',
        {
            type: 'company_calendar',
            ownerId: 0
        }
    );
    
    from b24pysdk.errors import BitrixAPIError, BitrixSDKException
    
    try:
        bitrix_response = client.calendar.event.get(
            type="company_calendar",
            owner_id="",
        ).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}")
    
    require_once('crest.php');
    
    $result = CRest::call(
        'calendar.event.get',
        [
            'type' => 'company_calendar',
            'ownerId' => ''
        ]
    );
    
    echo '<PRE>';
    print_r($result);
    echo '</PRE>';
    
    // client и ctx уже созданы — см. раздел «SDK для Go»
    res, err := client.Core().Call(ctx, "calendar.event.get", b24.Params{
    	"type":    "company_calendar",
    	"ownerId": "",
    }, b24.WithIdempotent())
    if err != nil {
    	return fmt.Errorf("calendar.event.get: %w", err)
    }
    
    // Ответ приходит как json.RawMessage — разберите его
    // в структуру под форму ответа, показанную ниже на этой странице.
    fmt.Printf("%s\n", res.Result)
    

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

HTTP-статус: 200

{
    "result": [
        {
            "ID": "1265",
            "PARENT_ID": "1265",
            "DELETED": "N",
            "CAL_TYPE": "user",
            "OWNER_ID": "1",
            "NAME": "Event Name",
            "DATE_FROM": "12/11/2024 05:59:00 pm",
            "DATE_TO": "12/11/2024 06:59:00 pm",
            "ORIGINAL_DATE_FROM": null,
            "TZ_FROM": "Europe/Riga",
            "TZ_TO": "Europe/Riga",
            "TZ_OFFSET_FROM": "7200",
            "TZ_OFFSET_TO": "7200",
            "DATE_FROM_TS_UTC": "1733932740",
            "DATE_TO_TS_UTC": "1733936340",
            "DT_SKIP_TIME": "N",
            "DT_LENGTH": 3600,
            "EVENT_TYPE": null,
            "CREATED_BY": "1",
            "DATE_CREATE": "12/05/2024 01:48:41 pm",
            "TIMESTAMP_X": "12/05/2024 01:48:41 pm",
            "DESCRIPTION": "Description for event",
            "PRIVATE_EVENT": "",
            "ACCESSIBILITY": "free",
            "IMPORTANCE": "normal",
            "IS_MEETING": true,
            "MEETING_STATUS": "H",
            "MEETING_HOST": "1",
            "MEETING": {
                "HOST_NAME": "User Name",
                "NOTIFY": false,
                "REINVITE": false,
                "ALLOW_INVITE": false,
                "HIDE_GUESTS": false,
                "MEETING_CREATOR": 1,
                "LANGUAGE_ID": "ru",
                "MAIL_FROM": ""
            },
            "LOCATION": "test location",
            "REMIND": [
                {
                "type": "min",
                "count": 50
                }
            ],
            "COLOR": "#9dcf00",
            "RRULE": {
                "FREQ": "WEEKLY",
                "BYDAY": {
                "MO": "MO",
                "WE": "WE"
                },
                "INTERVAL": 1,
                "UNTIL": "12/24/2024",
                "~UNTIL": "12/24/2024",
                "UNTIL_TS": 1734998400
            },
            "EXDATE": "11/28/2024;12/05/2024;12/12/2024;12/19/2024;12/26/2024",
            "DAV_XML_ID": "20241211T155900Z-534185204b362e9be7e261e92ccd9078@b24evo.lan",
            "G_EVENT_ID": "",
            "DAV_EXCH_LABEL": "",
            "CAL_DAV_LABEL": "",
            "VERSION": "1",
            "ATTENDEES_CODES": [
                "U1"
            ],
            "RECURRENCE_ID": 1272,
            "RELATIONS": {
                "ORIGINAL_RECURSION_ID": 1271,
                "COMMENT_XML_ID": "EVENT_1271_12/23/2024"
            },
            "SECTION_ID": "4",
            "SYNC_STATUS": null,
            "UF_CRM_CAL_EVENT": [
                "CO_1",
                "L_5"
            ],
            "UF_WEBDAV_CAL_EVENT": false,
            "SECTION_DAV_XML_ID": null,
            "DATE_FROM_FORMATTED": "Wed Dec 11 2024 17:59:00",
            "DATE_TO_FORMATTED": "Wed Dec 11 2024 18:59:00",
            "SECT_ID": "4",
            "ATTENDEE_LIST": [
                {
                "id": 1,
                "entryId": "1265",
                "status": "H"
                }
            ],
            "COLLAB_ID": null,
            "~RRULE_DESCRIPTION": "каждую неделю по: Пн, Ср, от 12/11/2024 до 12/24/2024",
            "attendeesEntityList": [
                {
                "entityId": "user",
                "id": 1
                }
            ],
            "~DESCRIPTION": "Description for event",
            "~USER_OFFSET_FROM": 7200,
            "~USER_OFFSET_TO": 7200
        },
        {
            "ID": "1221",
            ...
        }
    ],
    "time": {
        "start": 1733412607.646361,
        "finish": 1733412607.956879,
        "duration": 0.3105177879333496,
        "processing": 0.0637059211730957,
        "date_start": "2024-12-05T15:30:07+00:00",
        "date_finish": "2024-12-05T15:30:07+00:00"
    }
}

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

Название
тип

Описание

result
object

Объект с полями события

ID
string

Идентификатор события

PARENT_ID
string

Идентификатор родительского события

DELETED
string

Флаг отображающий удалено ли событие. Возможные значения:

  • Y — событие удалено
  • N — событие не удалено

CAL_TYPE
string

Тип календаря в котором находится событие

OWNER_ID
string

Идентификатор владельца календаря:

  • id пользователя для типа календаря user
  • id группы для типа календаря group

NAME
string

Название события

DATE_FROM
datetime

Дата начала события

DATE_TO
datetime

Дата окончания события

ORIGINAL_DATE_FROM
datetime

Дата начала оригинального события для повторяемых событий

TZ_FROM
string

Таймзона даты начала события

TZ_TO
string

Таймзона даты окончания события

TZ_OFFSET_FROM
string

Смещение времени начала события относительно UTC в секундах

TZ_OFFSET_TO
string

Смещение времени окончания события относительно UTC в секундах

DATE_FROM_TS_UTC
string

Дата и время начала события в UTC в формате timestamp

DATE_TO_TS_UTC
string

Дата и время окончания события в UTC в формате timestamp

DT_SKIP_TIME
string

Флаг отображающий что событие длится целый день. Возможные значения:

  • Y — целый день
  • N — не целый день

DT_LENGTH
integer

Длительность события в секундах

EVENT_TYPE
string

Тип события

CREATED_BY
string

Идентификатор пользователя, который создал событие

DATE_CREATE
datetime

Дата создания события

TIMESTAMP_X
datetime

Дата изменения события

DESCRIPTION
string

Описание события

PRIVATE_EVENT
string

Отметка, что событие частное. Возможные значения:

  • Y — частное
  • N — не частное

ACCESSIBILITY
string

Доступность участников события

IMPORTANCE
string

Важность события

IS_MEETING
boolean

Признак встречи с участниками события. Возможные значения:

  • Y — встреча с участниками
  • N — встреча без участников

MEETING_STATUS
string

Статус участия в событии. Возможные значения:

  • Y — согласен
  • N — отказался
  • Q — приглашен, но еще не ответил
  • H — организатор события

MEETING_HOST
string

Идентификатор пользователя, ведущего событие

MEETING
object

Объект описывает настройки встречи

LOCATION
string

Идентификатор или название места проведения события

REMIND
array

Массив объектов с описанием напоминаний о событии

COLOR
string

Цвет фона события

RRULE
object

Повторяемость события в виде объекта в терминах стандарта iCalendar

EXDATE
string

Список дат исключений из правила повторений

DAV_XML_ID
string

Идентификатор синхронизации

G_EVENT_ID
string

Идентификатор синхронизации

CAL_DAV_LABEL
string

Идентификатор синхронизации

VERSION
string

Версия изменений события

ATTENDEES_CODES
array

Идентификаторы участников события

RECURRENCE_ID
string

Идентификатор оригинального события при редактировании только текущего

RELATIONS
object

Объект для повторяемых событий с информацией о связях с оригинальным событием

SECTION_ID
string

Идентификатор календаря в котором расположено событие

SYNC_STATUS
string

Статус синхронизации события

UF_CRM_CAL_EVENT
array

Массив идентификаторов объектов CRM, привязанных к событию

UF_WEBDAV_CAL_EVENT
array

Массив идентификаторов файлов привязанных к событию

SECTION_DAV_XML_ID
array

Идентификатор синхронизации календаря события

DATE_FROM_FORMATTED
string

Форматированная дата начала события

DATE_TO_FORMATTED
string

Форматированная дата окончагния события

SECT_ID
string

Идентификатор календаря в котором расположено событие

ATTENDEE_LIST
array

Массив объектов, описывающих участников события и их статусы участия. Структура объекта описана ниже

COLLAB_ID
integer

Идентификатор коллабы, в которой создано событие

~RRULE_DESCRIPTION
string

Текстовое описание правила повторения события

attendeesEntityList
array

Массив объектов, описывающих пользователей — участников события

~DESCRIPTION
string

Описание события

~USER_OFFSET_FROM
integer

Смещение времени начала события относительно часового пояса текущего пользователя

~USER_OFFSET_TO
integer

Смещение времени окончания события относительно часового пояса текущего пользователя

Объект MEETING

Название
тип

Описание

HOST_NAME
string

имя пользователя ведущего событие

NOTIFY
boolean

Флаг оповещения о подтверждении или отказе участников

REINVITE
boolean

Флаг запроса повторного подтверждения участия при редактировании события

ALLOW_INVITE
boolean

Флаг разрешения участникам приглашать других в событие

HIDE_GUESTS
boolean

Флаг скрытия списка участников

MEETING_CREATOR
integer

Идентификатор создателя события

LANGUAGE_ID
string

Идентификатор языка для уведомлений по событию

MAIL_FROM
string

Адрес отправителя для уведомлений

Объект REMIND

Название
тип

Описание

type
string

Временной тип напоминания

  • min — минуты
  • hour – часы
  • day — дни

count
integer

Числовое значение временного промежутка

Объект RRULE

Название
тип

Описание

FREQ
string

Частота повторения

  • DAILY — ежедневно
  • WEEKLY — еженедельно
  • MONTHLY — ежемесячно
  • YEARLY — ежегодно

BYDAY
object

Дни недели

  • SU — воскресенье
  • MO — понедельник
  • TU — вторник
  • WE — среда
  • TH — четверг
  • FR — пятница
  • SA — суббота

INTERVAL
integer

Интервал между повторениями

UNTIL
date

Дата окончания повторений

~UNTIL
date

Дата окончания повторений. Техническое поле

UNTIL_TS
integer

Дата окончания повторений в формате timestamp

Объект RELATIONS

Название
тип

Описание

ORIGINAL_RECURSION_ID
integer

Идентификатор оригинального события для повторяемых созданных при редактировании

COMMENT_XML_ID
string

Идентификатор оригинального события для одиночных, созданных при редактировании из повторяемых

Объекты ATTENDEE_LIST

Название
тип

Описание

id
integer

Идентификатор пользователя

entryId
string

Идентификатор события

status
string

Статус участника события. Возможные значения:

  • Y — согласен
  • N — отказался
  • Q — приглашен, но еще не ответил
  • H — организатор события

Объект attendeesEntityList

Название
тип

Описание

entityId
string

Тип объекта участника события

id
integer

Идентификатор участника события

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

HTTP-статус: 400

{
    "error": "",
    "error_description": "Не задан обязательный параметр \"type\" для метода \"calendar.event.get\""
}

Название
тип

Описание

error
string

Строковый код ошибки. Состоит из цифр, латинских букв и знака подчеркивания. Может прийти пустым — тогда причину показывает только error_description

error_description
string

Текст ошибки для разработчика. Не показывайте его конечному пользователю без обработки

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

Код

Сообщение об ошибке

Описание

Пустое значение

Не задан обязательный параметр "type" для метода "calendar.event.get"

Не передан обязательный параметр type

Пустое значение

Доступ запрещен

Запрещен доступ к методу для внешних пользователей

Статусы и коды системных ошибок

HTTP-статус: 4xx, 5xx

Описанные ниже ошибки возвращает сам REST API, а не логика конкретного метода. Они могут прийти в ответ на любой метод.

Статус

Код
Текст ошибки

Описание

500

INTERNAL_SERVER_ERROR
Internal server error

Возникла внутренняя ошибка сервера. Повторите вызов, а если ошибка сохраняется, обратитесь к администратору сервера или в техническую поддержку Битрикс24

500

ERROR_UNEXPECTED_ANSWER
Server returned an unexpected response

Сервер вернул неожиданный ответ. Повторите вызов, а если ошибка сохраняется, обратитесь к администратору сервера или в техническую поддержку Битрикс24

503

QUERY_LIMIT_EXCEEDED
Too many requests

Превышен лимит на интенсивность запросов

429

OPERATION_TIME_LIMIT
Method is blocked due to operation time limit

Метод заблокирован из-за превышения лимита на ресурсоемкость запросов. Блокировка снимается автоматически, когда накопленное время выполнения метода перестает превышать лимит

401

NO_AUTH_FOUND
Wrong authorization data

В запросе нет авторизационных данных: не передан ни access-токен, ни код вебхука

401

INVALID_REQUEST
Https required

Методы вызываются только по протоколу HTTPS

401

OVERLOAD_LIMIT
REST API is blocked due to overload

REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка. Чтобы ее снять, обратитесь в техническую поддержку Битрикс24

401

ACCESS_DENIED
REST is available only on commercial plans

REST API доступен только на коммерческих тарифах. У вебхука текст ошибки другой — REST is available only by subscription

401

INVALID_CREDENTIALS
Invalid request credentials

Не найден активный вебхук с указанным идентификатором пользователя и секретным кодом

404

ERROR_METHOD_NOT_FOUND
Method not found!

Метод с таким именем не найден. Имя написано с ошибкой, метода нет в REST API или он недоступен без нужного скоупа

401

insufficient_scope
The request requires higher privileges than provided by the webhook token

Запрос требует более широких прав, чем есть у токена: у вебхука это выданные ему права, у приложения — скоуп. У приложения текст ошибки заканчивается на provided by the access token

401

expired_token
The access token provided has expired

Срок действия access-токена истек

401

user_access_error
The user does not have access to the application

Приложение установлено, но администратор Битрикс24 открыл доступ к нему только конкретным пользователям

403

PORTAL_DELETED
Portal was deleted

Публичная часть сайта закрыта. Чтобы открыть ее на коробочной установке, отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта