Документация

API

Формат запросов, ответов и справочник полей для интеграций.

События

Справочник описывает события календаря.

URL событий

Для получения списка можно передать year и month. Если параметры не переданы, используется текущий месяц.

МетодURLОписание
GET/api/?mod=data&data=eventsПолучить список событий календаря.
GET/api/?mod=data&data=events&year=2026&month=7Получить список событий календаря за указанный месяц.
GET/api/?mod=data&data=events&id=IDПолучить одну карточку события по id.
POST/api/?mod=save_data&data=eventsСоздать или обновить событие. Для создания id не передается.
POST/api/?mod=delete_data&data=events&id=IDУдалить событие по id. После успешного запроса событие больше не возвращается в ответах API.
ПолеТипОбязательноеDefaultЗначенияСохранениеСписокКарточкаОписание
titlestringДаНетЛюбоеНазвание события.
dt_startdatetimeДаНетЛюбоеДата и время начала в формате YYYY-MM-DD HH:mm:ss.
dt_enddatetimeДаНетЛюбоеДата и время окончания в формате YYYY-MM-DD HH:mm:ss.
idnumberНетНетЛюбоеИдентификатор существующего события. При создании не передается.
user_idnumberНетautoЛюбоеИдентификатор пользователя, создавшего событие. Заполняется сервером.
created_client_idnumberНет0ЛюбоеИдентификатор клиента, который создал запись через виджет. Поле заполняется сервером и доступно только для чтения.
client_idnumberНет0ЛюбоеИдентификатор клиента из списка data=clients, связанного с событием. Если указать 0 или не передавать поле, событие не попадет в раздел записей.
client_commentstringНетНетЛюбоеИсходный комментарий клиента. Доступен только для чтения.
commentstringНетНетЛюбоеВнутренний комментарий события.
colorstringНетautoЛюбоеЦвет события в календаре. Если не передать при создании, сервер подберет цвет.
availabilityselectНет112Статус занятости: 1 — занято, 2 — свободно.
target_typeselectНет112Тип события: 1 — событие с услугами, сотрудниками и ресурсами, 2 — событие всей организации.
services_idsarrayНетНетЛюбоеСписок id основных услуг события. Пример: [12, 15].
additional_services_idsarrayНетНетЛюбоеСписок id дополнительных услуг события. Пример: [21, 22].
resource_requirementsarrayНетНетЛюбоеТребования к ресурсам. Передается массивом объектов с ресурсом и количеством. Пример: [{"resource_id":3,"count":1}].
staff_idsarrayНетНетЛюбоеСписок id сотрудников события. Пример: [5, 8].
recurrence_rulestringНетНетЛюбоеПравило повтора в формате RRULE без обязательного префикса. Если поле пустое, событие не повторяется. Неверное значение вернет recurrence_error. Пример: FREQ=WEEKLY;INTERVAL=1;BYDAY=MO.
recurrence_untildatetimeНетautoЛюбоеДата и время последнего повторения. Рассчитывается сервером по правилу повтора.
recurrence_exdatesarrayНетНетЛюбоеИсключенные локальные даты повторения без времени. Пример: ["2026-07-08"]. Значения с временем также принимаются, но время игнорируется.
customFieldsobjectНетНетЛюбоеЗначения кастомных полей по uid. Для сохранения используйте поле custom_fields в теле запроса.

Ответы с ошибками

Если запрос не выполнен, API возвращает ok=false и числовой code. Подробности по полям передаются в errors[].type.

КодКогда возникаетОтвет
16Не переданы обязательные title, dt_start или dt_end, либо обязательные кастомные поля события.required со списком незаполненных полей.
17Поля события переданы, но не прошли проверку даты, времени, списка значений, клиента или правила повтора.errors со списком ошибок полей.
11-14Нет доступа к событию, созданию, сохранению или удалению.message с причиной отказа.
501События недоступны на текущем тарифе.message с причиной отказа.
502Пользователь не может изменить это событие.message с причиной отказа.
Тип ошибкиПолеКогда возникает
select_erroravailabilityСтатус события должен быть одним из разрешенных значений.
datetime_errordt_start, dt_endДата и время должны быть переданы в формате YYYY-MM-DD HH:mm:ss, окончание должно быть позже начала.
recurrence_errorrecurrence_ruleПравило повтора должно быть передано в формате RRULE.
number_errorclient_idИдентификатор клиента должен быть положительным числом.
client_not_foundclient_idКлиент не найден в текущей организации.