Интеграция потоковой передачи событий
Обзор интеграции
Anchor link toТип интеграции
Anchor link toИсточник: Данные отправляются из Pushwoosh в вашу систему через HTTP или gRPC на основе настроенных триггеров событий.
Как работает интеграция?
Anchor link toPushwoosh передает данные о событиях коммуникации (например, активность push-уведомлений/email) на конечную точку, определенную клиентом. Данные отправляются в виде пакетных потоков по расписанию или при достижении минимального размера пакета.
Данные отправляются только в том случае, если они соответствуют выбранным событиям, платформам и дополнительным фильтрам (коды кампаний/сообщений, live activity). Конечная точка клиента должна быть готова к приему и, при необходимости, к ответу со статусом.
Глоссарий
Anchor link toURL конечной точки: Серверная конечная точка, которая позволяет принимать запросы. Клиент может указать порт при необходимости.
Примеры:
https://clientdomainname.com/webhook_endpointhttps://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Чтобы настроить интеграцию:
- В вашем аккаунте Pushwoosh перейдите в Settings > 3rd party Integrations, найдите Event streaming integration и нажмите Configure.

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

Введите URL конечной точки
Anchor link toВ поле Endpoint URL введите полный URL, на который будут отправляться события, включая протокол и порт, если это применимо.
Пример
https://clientdomainname.com/webhook_endpointhttps://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
Anchor link toПри использовании типа транспорта HTTP Pushwoosh отправляет данные пакетами при выполнении одного из следующих условий:
-
Готово к отправке не менее 100 событий, или
-
Прошел один час с момента последней передачи.
После отправки данных соединение закрывается после получения успешного ответа.
Если сервер отвечает ошибкой 5xx, Pushwoosh повторит запрос в соответствии с определенной политикой повторных попыток.
Механизм повторных попыток
| Попытка | Задержка |
|---|---|
| 1-я | 1 секунда |
| 2-я | 3 секунды после 1-й попытки |
| 3-я | 8 секунд после 2-й попытки |
Если все повторные попытки не увенчаются успехом, запрос отбрасывается.
Тайм-аут
Тайм-аут по умолчанию для запроса составляет 30 секунд. Его можно изменить по запросу через службу поддержки.
gRPC
Anchor link toТип транспорта gRPC использует двунаправленную потоковую передачу для передачи данных. Узнайте больше в документации gRPC.
Поток открывается при выполнении одного из следующих условий:
- Готово к доставке не менее 1000 событий
- Прошел один час с момента открытия последнего потока
Поток закрывается после отправки событий. Это гарантирует, что новый поток не будет открываться для каждого отдельного события в течение короткого времени.
Механизм повторных попыток
Каждое событие включает уникальный uuid. Если событие не удалось обработать:
- Ответ должен содержать
status, не равный"Success" - Должен быть включен оригинальный
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 на вашу настроенную конечную точку.