Перейти к содержанию

Интеграция потоковой передачи событий

Обзор интеграции

Anchor link to

Тип интеграции

Anchor link to

Источник: Данные отправляются из Pushwoosh в вашу систему через HTTP или gRPC на основе настроенных триггеров событий.

Как работает интеграция?

Anchor link to

Pushwoosh передает данные о событиях коммуникации (например, активность push-уведомлений/email) на конечную точку, определенную клиентом. Данные отправляются в виде пакетных потоков по расписанию или при достижении минимального размера пакета.

Данные отправляются только в том случае, если они соответствуют выбранным событиям, платформам и дополнительным фильтрам (коды кампаний/сообщений, live activity). Конечная точка клиента должна быть готова к приему и, при необходимости, к ответу со статусом.

Глоссарий

Anchor link to

URL конечной точки: Серверная конечная точка, которая позволяет принимать запросы. Клиент может указать порт при необходимости.

Примеры:

  • https://clientdomainname.com/webhook_endpoint
  • https://clientdomainname.com:8081/webhook_endpoint

Список синхронизируемых сущностей

Anchor link to
  • События статистики коммуникаций (например, Push Sent, Email Delivered)
  • Post events: события, которые ваше приложение отправляет в Pushwoosh через postEvent, передаются отдельно от событий статистики коммуникаций

Варианты использования

Anchor link to
  • Отслеживание вовлеченности в реальном времени

Отслеживайте взаимодействия пользователей, такие как отправка push-уведомлений, открытие email или доставка сообщений, в момент их совершения, что обеспечивает немедленную видимость эффективности кампании.

  • Интеграция с внешней аналитикой

Передавайте события на сторонние аналитические платформы для централизованной отчетности и анализа.

  • Автоматизированные рабочие процессы пользователей

Запускайте действия во внешних системах (таких как CRM или инструменты автоматизации маркетинга) на основе поведения пользователей, например, отправляйте последующее сообщение, когда пользователь открывает email.

Настройка интеграции

Anchor link to

Чтобы настроить интеграцию:

  1. В вашем аккаунте Pushwoosh перейдите в Settings > 3rd party Integrations, найдите Event streaming integration и нажмите Configure.

Настроить интеграцию потоковой передачи событий

  1. В открывшемся окне заполните необходимые поля.

Заполните необходимые поля

Введите URL конечной точки

Anchor link to

В поле Endpoint URL введите полный URL, на который будут отправляться события, включая протокол и порт, если это применимо.

Пример

  • https://clientdomainname.com/webhook_endpoint
  • https://clientdomainname.com:8081/webhook\_endpoint

Выберите события

Anchor link to

В выпадающем списке Events выберите хотя бы одно событие. Если ни одно событие не выбрано, проверка не будет пройдена. Список событий управляется бэкендом и может со временем меняться.

Предоставьте учетные данные для авторизации

Anchor link to

Если это требуется вашим сервером, введите полное значение для заголовка Authorization в поле Authorization.

Примеры:

  • Bearer your_token_here

  • Basic base64encoded_credentials

Выберите тип транспорта

Anchor link to

В выпадающем списке Transport type выберите протокол доставки для передачи событий: HTTP или gRPC. Каждый из них имеет свои особенности поведения и настройки.

При использовании типа транспорта HTTP Pushwoosh отправляет данные пакетами при выполнении одного из следующих условий:

  • Готово к отправке не менее 100 событий, или

  • Прошел один час с момента последней передачи.

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

Если сервер отвечает ошибкой 5xx, Pushwoosh повторит запрос в соответствии с определенной политикой повторных попыток.

Механизм повторных попыток

ПопыткаЗадержка
1-я1 секунда
2-я3 секунды после 1-й попытки
3-я8 секунд после 2-й попытки

Если все повторные попытки не увенчаются успехом, запрос отбрасывается.

Тайм-аут

Тайм-аут по умолчанию для запроса составляет 30 секунд. Его можно изменить по запросу через службу поддержки.

Тип транспорта gRPC использует двунаправленную потоковую передачу для передачи данных. Узнайте больше в документации gRPC.

Поток открывается при выполнении одного из следующих условий:

  • Готово к доставке не менее 1000 событий
  • Прошел один час с момента открытия последнего потока

Поток закрывается после отправки событий. Это гарантирует, что новый поток не будет открываться для каждого отдельного события в течение короткого времени.

Механизм повторных попыток
Каждое событие включает уникальный uuid. Если событие не удалось обработать:

  1. Ответ должен содержать status, не равный "Success"
  2. Должен быть включен оригинальный uuid из запроса

Pushwoosh повторит доставку на основе этого ответа.

Настройки соединения

Расширенные опции, такие как TLS, keep-alive или политики повторных попыток, настраиваются вручную через службу поддержки и могут потребовать участия разработчиков.

Включить post events

Anchor link to

Этот переключатель по умолчанию выключен, поэтому передаются только события статистики коммуникаций. Чтобы также передавать события, которые ваше приложение отправляет в Pushwoosh через postEvent, включите переключатель Allow post events.

В появившемся поле Post events выберите, какие из событий вашего аккаунта передавать. При включенном переключателе требуется хотя бы одно событие. Если ваш аккаунт еще не отправлял никаких событий, этот список будет пуст, пока вы не вызовете postEvent хотя бы один раз.

Выберите платформы

Anchor link to

В разделе Platforms выберите хотя бы одну платформу для активации потоковой передачи событий.

Выберите хотя бы одну платформу

Поддерживаемые платформы:

  • iOS, Android, macOS, Windows, Amazon, Safari
  • Chrome, Firefox, Internet Explorer, Huawei
  • Email, SMS, Line, Xiaomi, WhatsApp

Настройте расширенные фильтры

Anchor link to

В разделе Advanced filters уточните критерии доставки событий с помощью фильтров:

  • Live activity events: Включите, чтобы получать события live activity. Эти события содержат только метаданные, включая live_activity_id.

  • Campaign filters: Фильтрация по коду кампании. Будут доставляться только события, связанные с этими кампаниями.

  • Message filters: Фильтрация по коду сообщения. Будут доставляться только события, связанные с этими сообщениями.

Установите расширенные фильтры

После заполнения всех обязательных полей нажмите кнопку Apply, чтобы сохранить и активировать интеграцию.

Детали запроса и пример

Anchor link to
Конечная точкаhttps://exampleclientendpoint.com/webhook_endpoint
HTTP-запросPOST
АутентификацияНет
Тип запросаИсточник
Значение запросаОтправка запросов на конечную точку веб-хука
ЗаголовкиContent-Type: application/json

Пример тела запроса

{
"event_name": "Email Opened",
"message_code": "E682-E6D92B9A-53E24868",
"campaign_id": 961048,
"platform": "Email",
"payload": "Welcome to Headway! 👋",
"application_code": "XXXXX-XXXXX",
"hwid": "user@example.com",
"user_id": "USER_ID",
"timestamp": 1723799271,
"journey_title": "",
"journey_point_title": "5_Welcome_ID_new",
"attributes": null
}

Атрибуты

Anchor link to

Среди событий статистики коммуникаций attributes заполняется только для push-событий, с контентом, специфичным для канала (Android, iOS и т.д.) для платформы, на которую было отправлено push-уведомление. События Email и SMS содержат только поля верхнего уровня (event_name, platform, payload и т.д.). Для этих событий attributes имеет значение null. Внутри заполненного объекта attributes поля, не относящиеся к платформе события, опускаются, а не отправляются как пустые значения. Полный список полей см. в webhook.proto.

Post event несет свои пары ключ/значение атрибутов в attributes.event_attributes. message_code и payload остаются пустыми, потому что post event не привязан к сообщению или кампании.

Ответ
В настоящее время код ответа и тело ответа игнорируются.

Как узнать, что интеграция работает?

Anchor link to

Вы начнете получать запросы от Pushwoosh на вашу настроенную конечную точку.