Если вы используете веб-хуки модуля «Календарь» в своих интеграциях — у нас для вас важная новость. 19 октября мы обновляем формат данных веб-хуков — это нужно для открытого API календаря.
Это первый шаг к запуску открытого API календаря: скоро события станут полноценной сущностью API, а веб-хуки и данные из API будут работать с одними и теми же полями и типами. Так интеграции станет писать и поддерживать проще.
Что меняется в данных веб-хука
Типы значений
Раньше все значения приходили строками: "id": "965848", "status": "1".
Теперь числа остаются числами, а пустые значения приходят как null: "id": 965849, "status": 1, "deleted_at": null.
Если код сравнивает значения строго или приводит их к строке — это стоит пересмотреть.
Только значимые поля
Раньше веб-хук содержал все поля сущности, в том числе пустые: deadline, priority, cost, time_estimate и другие атрибуты задач.
Теперь передаются только заполненные поля и ключевые атрибуты события.
Не полагайтесь на то, что конкретный ключ точно есть в данных, — добавьте проверку его наличия.
Переименованные поля
Поля меняют названия — смотрите таблицу соответствий:
|
Было |
Станет |
|
created |
created_date |
|
created_by |
owner_id |
|
changed |
updated_date |
|
changed_by |
updated_by |
|
crm_company_id |
crm_account_id |
|
status_changed_date |
status_updated_date |
|
status_changed_by |
status_updated_by |
Обратите внимание: поля author_id и crm_contact_id больше не передаются. Если раньше вы использовали author_id как автора события — теперь владелец события приходит в поле owner_id.
Даты в ISO 8601
Каждому полю с датой теперь добавлен дубль с суффиксом _f_atom — в нем дата указана с учетом часового пояса портала:
Рекомендуем использовать именно эти поля — они однозначны относительно часового пояса.
Пример: создание события
Было:
{
"meta": {"module": "calendar", "model": "event", "action": "create"},
"current": {
"id": "965849",
"name": "Встреча с клиентом",
"status": "1",
"all_day": "1",
"responsible_id": "2002",
"created": "2026-10-08 11:09:04",
"deadline": "",
"priority": "2",
"time_estimate": "",
"...": "..."
}
}
Станет:
{
"meta": {"module": "calendar", "model": "event", "action": "create"},
"current": {
"id": 965849,
"name": "Встреча с клиентом",
"status": 1,
"all_day": 1,
"responsible_id": 2002,
"created_date": "2026-10-08 11:09:04",
"created_date_f_atom": "2026-10-08T11:09:04+05:00",
"plan_start_date_f_atom": "2026-10-15T11:08:00+05:00",
"...": "..."
}
}
Что осталось без изменений
Чтобы вы не тратили время на лишние проверки — вот что точно не поменяется:
- Структура meta (module, model, action) и сам механизм доставки веб-хуков.
- Базовые поля дат без суффикса — как раньше, в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС в часовом поясе портала.
- Блок previous при событиях изменения приводится к тем же правилам, что и current.
Что проверить до 19 октября
- Обработчики веб-хуков на строгую типизацию: строка → число / null.
- Обращения к переименованным полям.
- Обращения к полям, которых в новых данных может не быть.
- Даты: если важен часовой пояс — переходите на поля *_f_atom.
Что дальше
Это первый шаг к открытому API календаря. События будут доступны через методы list / get / create / update / delete, включая отдельные операции над повторяющимися событиями (изменить одно вхождение, изменить серию с определенной даты, удалить серию) — с фильтрами по календарю и датам и полной документацией по каждому методу.
О запуске API сообщим отдельно. Формат данных у веб-хуков и API будет общий — одни и те же поля и типы.