Полный каталог, сформированный на основе схемы, см. в разделе все примеры.
Что это такое
Обработка событий изменения атрибутов контакта.Перед началом работы
- Создайте публичный HTTPS-эндпоинт в своем приложении.
- Настройте эндпоинт Webhook YCloud для необходимых типов событий.
- Надежно сохраните секрет подписи эндпоинта.
- Обеспечьте идемпотентность обработки событий.
Как это работает
YCloud отправляет HTTP-запросPOST при возникновении события. Проверьте подпись, надежно сохраните событие, верните ответ 2xx и выполняйте длительные задачи асинхронно.
Запрос
Ниже приведены сценарии запросов, отправляемых на ваш URL Webhook. Используйтеid события в качестве идентификатора доставки, а type — для маршрутизации полезной нагрузки.
Ответ
Возвращайте статус2xx после успешного приема события.
Сведения о настройке эндпоинта, проверке подписи и логике повторных попыток см. в разделе Настройка 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является необязательным и используется преимущественно при изменениях тегов для предоставления дополнительного контекста о выполненных действиях.

