Обновление веб-хуков календаря: что нужно проверить до 19 октября

Обновление веб-хуков календаря: что нужно проверить до 19 октября

Если вы используете веб-хуки модуля «Календарь» в своих интеграциях — у нас для вас важная новость. 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, model, action) и сам механизм доставки веб-хуков.
  • Базовые поля дат без суффикса — как раньше, в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС в часовом поясе портала.
  • Блок previous при событиях изменения приводится к тем же правилам, что и current.

Что проверить до 19 октября

  • Обработчики веб-хуков на строгую типизацию: строка → число / null.
  • Обращения к переименованным полям.
  • Обращения к полям, которых в новых данных может не быть.
  • Даты: если важен часовой пояс — переходите на поля *_f_atom.

Что дальше

Это первый шаг к открытому API календаря. События будут доступны через методы list / get / create / update / delete, включая отдельные операции над повторяющимися событиями (изменить одно вхождение, изменить серию с определенной даты, удалить серию) — с фильтрами по календарю и датам и полной документацией по каждому методу.

О запуске API сообщим отдельно. Формат данных у веб-хуков и API будет общий — одни и те же поля и типы.

5.0