Получить список будущих событий calendar.event.get.nearest

Scope: calendar

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

Метод получает список будущих событий.

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

Название
тип

Описание

type
string

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

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

ownerId
integer

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

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

days
integer

Число дней для выборки. По умолчанию — 60

forCurrentUser
boolean

Вывод списка событий для текущего пользователя. По умолчанию — true

maxEventsCount
integer

Максимальное число выводимых событий

detailUrl
string

Ссылка URL календаря

Примеры кода

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

  1. Получить события текущего пользователя за следующие 10 дней.

    curl -X POST \
            -H "Content-Type: application/json" \
            -H "Accept: application/json" \
            -d '{"type":"user","ownerId":2,"days":10,"forCurrentUser":true,"maxEventsCount":100,"detailUrl":"/company/personal/user/#user_id#/calendar/"}' \
            https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/calendar.event.get.nearest
            
    curl -X POST \
            -H "Content-Type: application/json" \
            -H "Accept: application/json" \
            -d '{"type":"user","ownerId":2,"days":10,"forCurrentUser":true,"maxEventsCount":100,"detailUrl":"/company/personal/user/#user_id#/calendar/","auth":"**put_access_token_here**"}' \
            https://**put_your_bitrix24_address**/rest/calendar.event.get.nearest
            
    BX24.callMethod(
                'calendar.event.get.nearest',
                {
                    type: 'user',
                    ownerId: 2,
                    days: 10,
                    forCurrentUser: true,
                    maxEventsCount: 100,
                    detailUrl: '/company/personal/user/#user_id#/calendar/'
                }
            );
            
    require_once('crest.php');
            
            $result = CRest::call(
                'calendar.event.get.nearest',
                [
                    'type' => 'user',
                    'ownerId' => 2,
                    'days' => 10,
                    'forCurrentUser' => true,
                    'maxEventsCount' => 100,
                    'detailUrl' => '/company/personal/user/#user_id#/calendar/'
                ]
            );
            
            echo '<PRE>';
            print_r($result);
            echo '</PRE>';
            
  2. Получить события календаря компании.

    curl -X POST \
            -H "Content-Type: application/json" \
            -H "Accept: application/json" \
            -d '{"type":"company_calendar","ownerId":"","forCurrentUser":false}' \
            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":"","forCurrentUser":false,"auth":"**put_access_token_here**"}' \
            https://**put_your_bitrix24_address**/rest/calendar.event.get
            
    BX24.callMethod(
                'calendar.event.get',
                {
                    type: 'company_calendar',
                    ownerId: 0, // ownerId не указывается при выборке событий календаря компании. Он пустой для всех событий такого типа.
                    forCurrentUser: false
                }
            );
            
    require_once('crest.php');
            
            $result = CRest::call(
                'calendar.event.get',
                [
                    'type' => 'company_calendar',
                    'ownerId' => '',
                    'forCurrentUser' => false
                ]
            );
            
            echo '<PRE>';
            print_r($result);
            echo '</PRE>';
            

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

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": 1733411636.753706,
                "finish": 1733411637.040975,
                "duration": 0.28726911544799805,
                "processing": 0.05995798110961914,
                "date_start": "2024-12-05T15:13:56+00:00",
                "date_finish": "2024-12-05T15:13:57+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": "Доступ запрещен"
        }
        

Название
тип

Описание

error
string

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

error_description
error_description

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

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

Код

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

Описание

Пустая строка

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

Запрещен доступ к типу календаря или у пользователя не активирована функциональность календаря

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

HTTP-статус: 20x, 40x, 50x

Описанные ниже ошибки могут возникнуть при вызове любого метода

Статус

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

Описание

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

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

405

ERROR_BATCH_METHOD_NOT_ALLOWED
Method is not allowed for batch usage

Текущий метод не разрешен для вызова с помощью batch

400

ERROR_BATCH_LENGTH_EXCEEDED
Max batch length exceeded

Превышена максимальная длина параметров, переданных в метод batch

401

NO_AUTH_FOUND
Wrong authorization data

Неверный access-токен или код вебхука

400

INVALID_REQUEST
Https required

Для вызовов методов требуется использовать протокол HTTPS

503

OVERLOAD_LIMIT
REST API is blocked due to overload

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

403

ACCESS_DENIED
REST API is available only on commercial plans

REST API доступен только на коммерческих планах

403

INVALID_CREDENTIALS
Invalid request credentials

У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав

404

ERROR_MANIFEST_IS_NOT_AVAILABLE
Manifest is not available

Манифест недоступен

403

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

Запрос требует более высоких привилегий, чем предоставляет токен вебхука

401

expired_token
The access token provided has expired

Предоставленный access-токен доступа истек

403

user_access_error
The user does not have access to the application

Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям

500

PORTAL_DELETED
Portal was deleted

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