Получить список событий календаря calendar.event.get
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Scope:
calendarКто может выполнять метод: любой пользователь
Метод calendar.event.get получает список событий календаря.
Параметры метода
Обязательные параметры отмечены *
|
Название |
Описание |
|
type* |
Тип календаря:
|
|
ownerId* |
Идентификатор владельца календаря. Для календаря компании параметр |
|
from |
Дата начала выборки. Значение по умолчанию — месяц до текущей даты |
|
to |
Дата окончания выборки. Значение по умолчанию — три месяца после текущей даты |
|
section |
Массив идентификаторов календарей |
|
modified_since |
Момент, начиная с которого нужны измененные события. Формат — ISO 8601 с обязательным часовым поясом: Метод вернет события, у которых дата изменения больше или равна переданному значению, включая удаленные. Подробнее — в разделе Получение изменений. Пустая строка равнозначна отсутствию параметра |
Получение изменений
Параметр modified_since позволяет синхронизировать календарь с внешней системой без повторной загрузки всех событий.
-
При первой синхронизации получите события без
modified_sinceи запомните наибольшее значение поляTIMESTAMP_X_ISOиз ответа. -
При следующей синхронизации передайте это значение в
modified_since. Значение из поляTIMESTAMP_X_ISOможно передать без преобразования.
Как работает выборка изменений:
-
граница включительная, точность — одна секунда. События, измененные в ту же секунду, придут повторно, поэтому обрабатывайте их по
IDбез дублей -
ограничение по датам
fromиtoдействует и вместе сmodified_since. Если событие находится за пределами периода выборки, его изменение не придет -
удаленные события приходят со значением
DELETED=Y, а вTIMESTAMP_X_ISOу них — момент удаления. Безmodified_sinceметод удаленные события не возвращает -
повторяющееся событие приходит отдельной записью на каждое повторение в периоде выборки, все записи с одним
ID. Это относится и к удаленным повторяющимся событиям -
ответ участника на приглашение не меняет дату изменения события, поэтому в выборку изменений не попадает
Примеры кода
Как использовать примеры в документации
-
Получить события пользователя с
id=1за период с2024-06-20по2024-08-20cURL (Webhook)cURL (OAuth)JS (TS)JS (UMD)PythonPHPBX24.jsPHP CRestGocurl -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.getcurl -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// This snippet is an ES module: top-level await requires type="module" or a bundler. // $b24 is an already-initialized SDK instance (see the SDK "Get started" guide). import { Text } from '@bitrix24/b24jssdk' import type { B24Frame } from '@bitrix24/b24jssdk' declare const $b24: B24Frame // Shape of the payload returned in result (match the "response handling" section of the page) type CalendarEventItem = { ID: string NAME: string DATE_FROM: string DATE_TO: string TIMESTAMP_X_ISO?: string DELETED: string } try { const response = await $b24.actions.v2.call.make<CalendarEventItem[]>({ method: 'calendar.event.get', params: { type: 'user', ownerId: 1, from: '2024-06-20', to: '2024-08-20', section: [21, 44], }, requestId: Text.getUuidRfc4122() }) // The payload is available only on a successful response if (!response.isSuccess) { console.error(response.getErrorMessages().join('; ')) } else { const events = response.getData()!.result events.forEach((event) => console.info('Event:', event.ID, event.NAME, event.DATE_FROM, event.DATE_TO)) } } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) }<!-- Load the SDK (UMD build); it is exposed as the global B24Js --> <script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script> <script> async function getCalendarEvents() { try { // Initialize the SDK inside a Bitrix24 frame const $b24 = await B24Js.initializeB24Frame() const response = await $b24.actions.v2.call.make({ method: 'calendar.event.get', params: { type: 'user', ownerId: 1, from: '2024-06-20', to: '2024-08-20', section: [21, 44], }, requestId: B24Js.Text.getUuidRfc4122() }) // The payload is available only on a successful response if (!response.isSuccess) { console.error(response.getErrorMessages().join('; ')) return } const events = response.getData().result events.forEach((event) => console.info('Event:', event.ID, event.NAME, event.DATE_FROM, event.DATE_TO)) } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) } } document.addEventListener('DOMContentLoaded', getCalendarEvents) </script>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}")try { $response = $b24Service ->core ->call( 'calendar.event.get', [ 'type' => 'user', 'ownerId' => 1, 'from' => '2024-06-20', 'to' => '2024-08-20', 'section' => [21, 44], ] ); $result = $response ->getResponseData() ->getResult(); echo 'Success: ' . print_r($result, true); // Нужная вам логика обработки данных processData($result); } catch (Throwable $e) { error_log($e->getMessage()); echo 'Error getting calendar events: ' . $e->getMessage(); }BX24.callMethod( 'calendar.event.get', { type: 'user', ownerId: 1, from: '2024-06-20', to: '2024-08-20', section: [21, 44] } );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) -
Получить события календаря компании.
cURL (Webhook)cURL (OAuth)JS (TS)JS (UMD)PythonPHPBX24.jsPHP CRestGocurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"type":"company_calendar","ownerId":0}' \ https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/calendar.event.getcurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"type":"company_calendar","ownerId":0,"auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/calendar.event.get// This snippet is an ES module: top-level await requires type="module" or a bundler. // $b24 is an already-initialized SDK instance (see the SDK "Get started" guide). import { Text } from '@bitrix24/b24jssdk' import type { B24Frame } from '@bitrix24/b24jssdk' declare const $b24: B24Frame // Shape of the payload returned in result (match the "response handling" section of the page) type CalendarEventItem = { ID: string NAME: string DATE_FROM: string DATE_TO: string TIMESTAMP_X_ISO?: string DELETED: string } try { const response = await $b24.actions.v2.call.make<CalendarEventItem[]>({ method: 'calendar.event.get', params: { type: 'company_calendar', ownerId: 0, }, requestId: Text.getUuidRfc4122() }) // The payload is available only on a successful response if (!response.isSuccess) { console.error(response.getErrorMessages().join('; ')) } else { const events = response.getData()!.result events.forEach((event) => console.info('Event:', event.ID, event.NAME, event.DATE_FROM, event.DATE_TO)) } } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) }<!-- Load the SDK (UMD build); it is exposed as the global B24Js --> <script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script> <script> async function getCalendarEvents() { try { // Initialize the SDK inside a Bitrix24 frame const $b24 = await B24Js.initializeB24Frame() const response = await $b24.actions.v2.call.make({ method: 'calendar.event.get', params: { type: 'company_calendar', ownerId: 0, }, requestId: B24Js.Text.getUuidRfc4122() }) // The payload is available only on a successful response if (!response.isSuccess) { console.error(response.getErrorMessages().join('; ')) return } const events = response.getData().result events.forEach((event) => console.info('Event:', event.ID, event.NAME, event.DATE_FROM, event.DATE_TO)) } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) } } document.addEventListener('DOMContentLoaded', getCalendarEvents) </script>from b24pysdk.errors import BitrixAPIError, BitrixSDKException try: bitrix_response = client.calendar.event.get( type="company_calendar", owner_id=0, ).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}")try { $response = $b24Service ->core ->call( 'calendar.event.get', [ 'type' => 'company_calendar', 'ownerId' => 0, ] ); $result = $response ->getResponseData() ->getResult(); echo 'Success: ' . print_r($result, true); // Нужная вам логика обработки данных processData($result); } catch (Throwable $e) { error_log($e->getMessage()); echo 'Error getting calendar events: ' . $e->getMessage(); }BX24.callMethod( 'calendar.event.get', { type: 'company_calendar', ownerId: 0 } );require_once('crest.php'); $result = CRest::call( 'calendar.event.get', [ 'type' => 'company_calendar', 'ownerId' => 0 ] ); 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": 0, }, b24.WithIdempotent()) if err != nil { return fmt.Errorf("calendar.event.get: %w", err) } // Ответ приходит как json.RawMessage — разберите его // в структуру под форму ответа, показанную ниже на этой странице. fmt.Printf("%s\n", res.Result) -
Получить события пользователя с
id=1, измененные начиная с2026-10-13T09:00:00+03:00, включая удаленныеcURL (Webhook)cURL (OAuth)JS (TS)JS (UMD)PythonPHPBX24.jsPHP CRestGocurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"type":"user","ownerId":1,"modified_since":"2026-10-13T09:00:00+03:00"}' \ https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/calendar.event.getcurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"type":"user","ownerId":1,"modified_since":"2026-10-13T09:00:00+03:00","auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/calendar.event.get// This snippet is an ES module: top-level await requires type="module" or a bundler. // $b24 is an already-initialized SDK instance (see the SDK "Get started" guide). import { Text } from '@bitrix24/b24jssdk' import type { B24Frame } from '@bitrix24/b24jssdk' declare const $b24: B24Frame // Shape of the payload returned in result (match the "response handling" section of the page) type CalendarEventItem = { ID: string NAME: string DATE_FROM: string DATE_TO: string TIMESTAMP_X_ISO?: string DELETED: string } try { const response = await $b24.actions.v2.call.make<CalendarEventItem[]>({ method: 'calendar.event.get', params: { type: 'user', ownerId: 1, modified_since: '2026-10-13T09:00:00+03:00', }, requestId: Text.getUuidRfc4122() }) // The payload is available only on a successful response if (!response.isSuccess) { console.error(response.getErrorMessages().join('; ')) } else { const events = response.getData()!.result events.forEach((event) => console.info('Event:', event.ID, event.NAME, event.DATE_FROM, event.DATE_TO)) } } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) }<!-- Load the SDK (UMD build); it is exposed as the global B24Js --> <script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script> <script> async function getCalendarEvents() { try { // Initialize the SDK inside a Bitrix24 frame const $b24 = await B24Js.initializeB24Frame() const response = await $b24.actions.v2.call.make({ method: 'calendar.event.get', params: { type: 'user', ownerId: 1, modified_since: '2026-10-13T09:00:00+03:00', }, requestId: B24Js.Text.getUuidRfc4122() }) // The payload is available only on a successful response if (!response.isSuccess) { console.error(response.getErrorMessages().join('; ')) return } const events = response.getData().result events.forEach((event) => console.info('Event:', event.ID, event.NAME, event.DATE_FROM, event.DATE_TO)) } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) } } document.addEventListener('DOMContentLoaded', getCalendarEvents) </script>from b24pysdk.errors import BitrixAPIError, BitrixSDKException try: # У параметра modified_since нет аргумента в обертке b24pysdk, поэтому вызываем метод по имени bitrix_response = bitrix_token.call_method( "calendar.event.get", { "type": "user", "ownerId": 1, "modified_since": "2026-10-13T09:00:00+03:00", }, ) 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}")try { $response = $b24Service ->core ->call( 'calendar.event.get', [ 'type' => 'user', 'ownerId' => 1, 'modified_since' => '2026-10-13T09:00:00+03:00', ] ); $result = $response ->getResponseData() ->getResult(); echo 'Success: ' . print_r($result, true); // Нужная вам логика обработки данных processData($result); } catch (Throwable $e) { error_log($e->getMessage()); echo 'Error getting calendar events: ' . $e->getMessage(); }BX24.callMethod( 'calendar.event.get', { type: 'user', ownerId: 1, modified_since: '2026-10-13T09:00:00+03:00' } );require_once('crest.php'); $result = CRest::call( 'calendar.event.get', [ 'type' => 'user', 'ownerId' => 1, 'modified_since' => '2026-10-13T09:00:00+03:00' ] ); 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, "modified_since": "2026-10-13T09:00:00+03:00", }, 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",
"ACTIVE": "Y",
"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",
"DATE_CREATE_ISO": "2024-12-05T13:48:41+02:00",
"TIMESTAMP_X_ISO": "2024-12-05T13:48:41+02:00",
"DESCRIPTION": "Description for event",
"DT_FROM": null,
"DT_TO": null,
"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",
"TEXT_COLOR": "",
"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",
"IS_DAYLIGHT_SAVING_TZ": "N",
"SECT_ID": "4",
"OPTIONS": null,
"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
}
],
"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 |
Массив событий календаря (подробное описание). Если в периоде выборки событий нет, массив пустой |
|
time |
Информация о времени выполнения запроса |
Объект события
|
Название |
Описание |
|
ID |
Идентификатор события |
|
PARENT_ID |
Идентификатор родительского события |
|
ACTIVE |
Признак активности события. Возможные значения:
Метод calendar.event.getbyid поле не возвращает |
|
DELETED |
Флаг отображающий удалено ли событие. Возможные значения:
Значение |
|
CAL_TYPE |
Тип календаря в котором находится событие |
|
OWNER_ID |
Идентификатор владельца календаря:
|
|
NAME |
Название события |
|
DATE_FROM |
Дата начала события |
|
DATE_TO |
Дата окончания события |
|
ORIGINAL_DATE_FROM |
Дата начала оригинального события для повторяемых событий |
|
TZ_FROM |
Таймзона даты начала события. Метод calendar.event.get.nearest поле не возвращает |
|
TZ_TO |
Таймзона даты окончания события. Метод calendar.event.get.nearest поле не возвращает |
|
TZ_OFFSET_FROM |
Смещение времени начала события относительно UTC в секундах. Метод calendar.event.get.nearest поле не возвращает |
|
TZ_OFFSET_TO |
Смещение времени окончания события относительно UTC в секундах. Метод calendar.event.get.nearest поле не возвращает |
|
DATE_FROM_TS_UTC |
Дата и время начала события в формате timestamp. Несмотря на название, значение сдвинуто на смещение часового пояса сервера, поэтому читать его как время UTC нельзя. Точное время начала задают поля |
|
DATE_TO_TS_UTC |
Дата и время окончания события в формате timestamp. Несмотря на название, значение сдвинуто на смещение часового пояса сервера, поэтому читать его как время UTC нельзя. Точное время окончания задают поля |
|
DT_SKIP_TIME |
Флаг отображающий что событие длится целый день. Возможные значения:
|
|
DT_LENGTH |
Длительность события в секундах |
|
EVENT_TYPE |
Тип события |
|
CREATED_BY |
Идентификатор пользователя, который создал событие |
|
DATE_CREATE |
Дата создания события |
|
TIMESTAMP_X |
Дата изменения события |
|
DATE_CREATE_ISO |
Дата создания события в формате ISO 8601 со смещением часового пояса портала, например Поле не возвращается, если дата создания не заполнена |
|
TIMESTAMP_X_ISO |
Дата изменения события в формате ISO 8601 со смещением часового пояса портала. Значение можно передать в параметр |
|
DESCRIPTION |
Описание события |
|
DT_FROM |
Служебное поле. Приходит со значением Метод calendar.event.getbyid поле не возвращает |
|
DT_TO |
Служебное поле. Приходит со значением Метод calendar.event.getbyid поле не возвращает |
|
PRIVATE_EVENT |
Отметка, что событие частное. Возможные значения:
|
|
ACCESSIBILITY |
Занятость участников во время события. Возможные значения:
|
|
IMPORTANCE |
Важность события. Возможные значения:
|
|
IS_MEETING |
Признак встречи с участниками события. Возможные значения:
|
|
MEETING_STATUS |
Статус участия в событии. Возможные значения:
|
|
MEETING_HOST |
Идентификатор пользователя, ведущего событие |
|
MEETING |
Настройки встречи (подробное описание) |
|
LOCATION |
Идентификатор или название места проведения события |
|
REMIND |
Массив объектов с описанием напоминаний о событии (подробное описание) |
|
COLOR |
Цвет фона события |
|
TEXT_COLOR |
Цвет текста события. Если цвет не задан — пустая строка Метод calendar.event.getbyid поле не возвращает |
|
RRULE |
Повторяемость события в виде объекта в терминах стандарта iCalendar (подробное описание). Для неповторяемого события — пустая строка |
|
EXDATE |
Список дат исключений из правила повторений |
|
DAV_XML_ID |
Идентификатор синхронизации |
|
G_EVENT_ID |
Идентификатор синхронизации |
|
DAV_EXCH_LABEL |
Идентификатор синхронизации с Exchange |
|
CAL_DAV_LABEL |
Идентификатор синхронизации |
|
VERSION |
Версия изменений события |
|
ATTENDEES_CODES |
Идентификаторы участников события |
|
RECURRENCE_ID |
Идентификатор оригинального события при редактировании только текущего |
|
RELATIONS |
Объект для повторяемых событий с информацией о связях с оригинальным событием (подробное описание). Для неповторяемого события — пустая строка |
|
SECTION_ID |
Идентификатор календаря в котором расположено событие |
|
SYNC_STATUS |
Статус синхронизации события |
|
UF_CRM_CAL_EVENT |
Массив идентификаторов объектов CRM, привязанных к событию, например |
|
UF_WEBDAV_CAL_EVENT |
Массив идентификаторов файлов привязанных к событию |
|
SECTION_DAV_XML_ID |
Идентификатор синхронизации календаря события |
|
DATE_FROM_FORMATTED |
Форматированная дата начала события |
|
DATE_TO_FORMATTED |
Форматированная дата окончания события |
|
IS_DAYLIGHT_SAVING_TZ |
Признак перехода на летнее время в часовом поясе
|
|
SECT_ID |
Идентификатор календаря в котором расположено событие |
|
OPTIONS |
Дополнительные параметры события с категорией, например идентификатор категории |
|
ATTENDEE_LIST |
Массив объектов, описывающих участников события и их статусы участия (подробное описание) |
|
COLLAB_ID |
Идентификатор коллабы, в которой создано событие |
|
~RRULE_DESCRIPTION |
Текстовое описание правила повторения события |
|
attendeesEntityList |
Массив объектов, описывающих пользователей — участников события (подробное описание) |
|
~DESCRIPTION |
Описание события |
|
~USER_OFFSET_FROM |
Смещение времени начала события относительно часового пояса текущего пользователя |
|
~USER_OFFSET_TO |
Смещение времени окончания события относительно часового пояса текущего пользователя |
|
DT_FROM_TS |
Дата и время начала события в формате timestamp с учетом часового пояса текущего пользователя. Поле возвращает только метод calendar.event.get.nearest |
|
DT_TO_TS |
Дата и время окончания события в формате timestamp с учетом часового пояса текущего пользователя. Поле возвращает только метод calendar.event.get.nearest |
|
~URL |
Ссылка на событие в календаре. Поле возвращает только метод calendar.event.get.nearest |
|
~WEEK_DAY |
Сокращенное название дня недели, на который приходится начало события. Поле возвращает только метод calendar.event.get.nearest |
|
~detailUrl |
Ссылка на событие, собранная по шаблону из параметра Поле возвращает только метод calendar.event.get.nearest, если передан параметр |
|
~FROM_TO_HTML |
Дата и время события в виде строки для отображения, например Поле возвращает только метод calendar.event.get.nearest |
Объект MEETING
|
Название |
Описание |
|
HOST_NAME |
имя пользователя ведущего событие |
|
NOTIFY |
Флаг оповещения о подтверждении или отказе участников |
|
REINVITE |
Флаг запроса повторного подтверждения участия при редактировании события |
|
ALLOW_INVITE |
Флаг разрешения участникам приглашать других в событие |
|
HIDE_GUESTS |
Флаг скрытия списка участников |
|
MEETING_CREATOR |
Идентификатор создателя события |
|
LANGUAGE_ID |
Идентификатор языка для уведомлений по событию |
|
MAIL_FROM |
Адрес отправителя для уведомлений |
Объект REMIND
|
Название |
Описание |
|
type |
Временной тип напоминания
|
|
count |
Числовое значение временного промежутка |
Объект RRULE
|
Название |
Описание |
|
FREQ |
Частота повторения
|
|
BYDAY |
Дни недели
|
|
INTERVAL |
Интервал между повторениями |
|
UNTIL |
Дата окончания повторений |
|
~UNTIL |
Дата окончания повторений. Техническое поле |
|
UNTIL_TS |
Дата окончания повторений в формате timestamp |
Объект RELATIONS
|
Название |
Описание |
|
ORIGINAL_RECURSION_ID |
Идентификатор оригинального события для повторяемых созданных при редактировании |
|
COMMENT_XML_ID |
Идентификатор оригинального события для одиночных, созданных при редактировании из повторяемых |
Объекты ATTENDEE_LIST
|
Название |
Описание |
|
id |
Идентификатор пользователя |
|
entryId |
Идентификатор события |
|
status |
Статус участника события. Возможные значения:
|
Объект attendeesEntityList
|
Название |
Описание |
|
entityId |
Тип объекта участника события |
|
id |
Идентификатор участника события |
Обработка ошибок
HTTP-статус: 400
{
"error": "",
"error_description": "Не задан обязательный параметр \"type\" для метода \"calendar.event.get\""
}
|
Название |
Описание |
|
error |
Строковый код ошибки. Состоит из цифр, латинских букв и знака подчеркивания. Может прийти пустым — тогда причину показывает только |
|
error_description |
Текст ошибки для разработчика. Не показывайте его конечному пользователю без обработки |
Возможные коды ошибок
|
Статус |
Код |
Описание |
Значение |
|
|
Пустое значение |
Не задан обязательный параметр "type" для метода "calendar.event.get" |
Не передан обязательный параметр |
|
|
Пустое значение |
Доступ запрещен |
Запрещен доступ к методу для внешних пользователей |
|
|
|
Недопустимое значение параметра "modified_since" |
В |
Статусы и коды системных ошибок
HTTP-статус: 4xx, 5xx
Описанные ниже ошибки возвращает сам REST API, а не логика конкретного метода. Они могут прийти в ответ на любой метод.
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера. Повторите вызов, а если ошибка сохраняется, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Сервер вернул неожиданный ответ. Повторите вызов, а если ошибка сохраняется, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Метод заблокирован из-за превышения лимита на ресурсоемкость запросов. Блокировка снимается автоматически, когда накопленное время выполнения метода перестает превышать лимит |
|
|
|
В запросе нет авторизационных данных: не передан ни access-токен, ни код вебхука |
|
|
|
Методы вызываются только по протоколу HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка. Чтобы ее снять, обратитесь в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих тарифах. У вебхука текст ошибки другой — |
|
|
|
Не найден активный вебхук с указанным идентификатором пользователя и секретным кодом |
|
|
|
Метод с таким именем не найден. Имя написано с ошибкой, метода нет в REST API или он недоступен без нужного скоупа |
|
|
|
Запрос требует более широких прав, чем есть у токена: у вебхука это выданные ему права, у приложения — скоуп. У приложения текст ошибки заканчивается на |
|
|
|
Срок действия access-токена истек |
|
|
|
Приложение установлено, но администратор Битрикс24 открыл доступ к нему только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть ее на коробочной установке, отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |