Skip to main content
Полный каталог, сформированный на основе схемы, см. в разделе все примеры.

Что это такое

Обработка событий изменения атрибутов контакта.

Перед началом работы

  • Создайте публичный HTTPS-эндпоинт в своем приложении.
  • Настройте эндпоинт Webhook YCloud для необходимых типов событий.
  • Надежно сохраните секрет подписи эндпоинта.
  • Обеспечьте идемпотентность обработки событий.

Как это работает

YCloud отправляет HTTP-запрос POST при возникновении события. Проверьте подпись, надежно сохраните событие, верните ответ 2xx и выполняйте длительные задачи асинхронно.

Запрос

Ниже приведены сценарии запросов, отправляемых на ваш URL Webhook. Используйте id события в качестве идентификатора доставки, а type — для маршрутизации полезной нагрузки.

Ответ

Возвращайте статус 2xx после успешного приема события.
Сведения о настройке эндпоинта, проверке подписи и логике повторных попыток см. в разделе Настройка Webhook.
Происходит при изменении атрибутов контакта. Полезная нагрузка Webhook содержит информацию об измененных атрибутах, включая их старые и новые значения.

Пример изменения тегов (добавление тегов)

Запрос

Ответ

Подтвердите доставку после надежного сохранения события.

Пояснение

Маршрутизируйте событие по type, выполняйте дедупликацию по id и передавайте медленные или потенциально сбойные задачи в асинхронный обработчик.

Пример изменения тегов (удаление тегов)

Запрос

Ответ

Подтвердите доставку после надежного сохранения события.

Пояснение

Маршрутизируйте событие по type, выполняйте дедупликацию по id и передавайте медленные или потенциально сбойные задачи в асинхронный обработчик.

Пример изменения

Запрос

Ответ

Подтвердите доставку после надежного сохранения события.

Пояснение

  • Корректная структура: объект contactAttributesChanged содержит три обязательных поля: id, updateTime и changedAttributes.
  • Измененные атрибуты: поле changedAttributes представляет собой объект, где каждый ключ — это имя атрибута, а значение — объект ContactAttributeChange.
  • Конфигурация свойств события: при включении событий contact.attributes_changed необходимо настроить поле eventProperties в вашем эндпоинте Webhook, указав, какие атрибуты должны включаться в полезную нагрузку Webhook.
  • Типы атрибутов: поля oldValue и newValue могут содержать различные типы данных:
    • String: текстовые значения
    • Number: числовые значения (целые или десятичные)
    • Boolean: логические значения (true/false)
    • Array: массивы строк
    • Object: сложные объекты с вложенными свойствами
    • Null: когда атрибут удален или сброшен
  • Изменения тегов: для атрибутов тегов поле extra предоставляет подробную информацию о добавленных или удаленных тегах, включая их идентификаторы и значения.
  • Значения Null: когда атрибут удаляется или ему присваивается значение null, поле newValue будет иметь значение null. При добавлении нового атрибута поле oldValue может быть null.
  • Пользовательские атрибуты: пользовательские атрибуты включаются в объект changedAttributes точно так же, как и стандартные атрибуты, при этом в качестве имен атрибутов используются их пользовательские ключи.
  • Обнаружение изменений: в объект changedAttributes включаются только те атрибуты, которые действительно изменились.
  • Поле Extra: поле extra является необязательным и используется преимущественно при изменениях тегов для предоставления дополнительного контекста о выполненных действиях.