Документация
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 | Значения | Сохранение | Список | Карточка | Описание |
|---|---|---|---|---|---|---|---|---|
title | string | Да | Нет | Любое | Название события. | |||
dt_start | datetime | Да | Нет | Любое | Дата и время начала в формате YYYY-MM-DD HH:mm:ss. | |||
dt_end | datetime | Да | Нет | Любое | Дата и время окончания в формате YYYY-MM-DD HH:mm:ss. | |||
id | number | Нет | Нет | Любое | Идентификатор существующего события. При создании не передается. | |||
user_id | number | Нет | auto | Любое | Идентификатор пользователя, создавшего событие. Заполняется сервером. | |||
created_client_id | number | Нет | 0 | Любое | Идентификатор клиента, который создал запись через виджет. Поле заполняется сервером и доступно только для чтения. | |||
client_id | number | Нет | 0 | Любое | Идентификатор клиента из списка data=clients, связанного с событием. Если указать 0 или не передавать поле, событие не попадет в раздел записей. | |||
client_comment | string | Нет | Нет | Любое | Исходный комментарий клиента. Доступен только для чтения. | |||
comment | string | Нет | Нет | Любое | Внутренний комментарий события. | |||
color | string | Нет | auto | Любое | Цвет события в календаре. Если не передать при создании, сервер подберет цвет. | |||
availability | select | Нет | 1 | 12 | Статус занятости: 1 — занято, 2 — свободно. | |||
target_type | select | Нет | 1 | 12 | Тип события: 1 — событие с услугами, сотрудниками и ресурсами, 2 — событие всей организации. | |||
services_ids | array | Нет | Нет | Любое | Список id основных услуг события. Пример: [12, 15]. | |||
additional_services_ids | array | Нет | Нет | Любое | Список id дополнительных услуг события. Пример: [21, 22]. | |||
resource_requirements | array | Нет | Нет | Любое | Требования к ресурсам. Передается массивом объектов с ресурсом и количеством. Пример: [{"resource_id":3,"count":1}]. | |||
staff_ids | array | Нет | Нет | Любое | Список id сотрудников события. Пример: [5, 8]. | |||
recurrence_rule | string | Нет | Нет | Любое | Правило повтора в формате RRULE без обязательного префикса. Если поле пустое, событие не повторяется. Неверное значение вернет recurrence_error. Пример: FREQ=WEEKLY;INTERVAL=1;BYDAY=MO. | |||
recurrence_until | datetime | Нет | auto | Любое | Дата и время последнего повторения. Рассчитывается сервером по правилу повтора. | |||
recurrence_exdates | array | Нет | Нет | Любое | Исключенные локальные даты повторения без времени. Пример: ["2026-07-08"]. Значения с временем также принимаются, но время игнорируется. | |||
customFields | object | Нет | Нет | Любое | Значения кастомных полей по 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_error | availability | Статус события должен быть одним из разрешенных значений. |
datetime_error | dt_start, dt_end | Дата и время должны быть переданы в формате YYYY-MM-DD HH:mm:ss, окончание должно быть позже начала. |
recurrence_error | recurrence_rule | Правило повтора должно быть передано в формате RRULE. |
number_error | client_id | Идентификатор клиента должен быть положительным числом. |
client_not_found | client_id | Клиент не найден в текущей организации. |