События вебхуков
События вебхуков
Как сказано в обзоре, вебхуки позволяют строить приложения, управляемые событиями.
Agent Inbox поддерживает несколько типов событий для полноценных событийных сценариев почтовых агентов.
Все полезные нагрузки вебхуков имеют одну базовую структуру:
Разбор событий через SDK
В SDK Agent Inbox есть типизированные классы для каждого события вебхука — сырые полезные нагрузки можно разобрать в типизированные объекты.
Копировать в Cursor / Claude
Скопируйте один из блоков ниже для разбора событий вебхука за один раз.
События сообщений
message.received
- Описание: срабатывает, когда новое письмо успешно получено и обработано в одном из ваших ящиков (
Inboxes). Чаще всего это триггер для запуска сценариев агента. - Пример сценария: запуск внутреннего процесса, когда жалоба клиента попадает в ящик поддержки
Важно: только у message.received в полезной нагрузке есть и метаданные цепочки (Thread), и сообщения (Message). У остальных типов событий в теле только метаданные самого события. Если нужны метаданные и для других типов — напишите на info@patternautomation.com.
Поля text и preview могут отсутствовать, если исходное письмо содержит только HTML без текстовой части. Так бывает у пересланных писем из Gmail и Outlook. При обработке входящих опирайтесь в первую очередь на html, а text считайте необязательным.
message.sent
- Описание: срабатывает, когда сообщение успешно отправлено из одного из ваших ящиков.
- Сценарий: учёт исходящих, обновление БД или последующие шаги после отправки.
message.delivered
- Описание: срабатывает, когда отправленное письмо успешно доставлено на почтовый сервер получателя.
- Сценарий: подтверждение доставки, обновление статуса, сценарии подтверждения доставки.
В чём разница между message.sent и message.delivered?
В чём разница между message.sent и message.delivered?
message.sent значит, что письмо успешно ушло с наших серверов и путешествует по сети. Обычно это происходит раньше, чем message.delivered: последнее значит, что принимающий сервер (Gmail, Outlook и т. п.) ответил 200 OK — письмо им принято. Что они с ним дальше делают — нам неизвестно.
Значит ли message.delivered, что письмо попало во «Входящие»?
Значит ли message.delivered, что письмо попало во «Входящие»?
Нет. Как сказано выше, message.delivered значит, что почтовый сервер получателя сообщил: «Мы получили письмо, дальше сами». У провайдеров свои алгоритмы — попадёт ли письмо во входящие или в спам. Со своей стороны мы делаем всё нужное, чтобы письма выглядели для провайдеров как легитимные для основного ящика.
message.bounced
- Описание: срабатывает, когда отправка не удалась и письмо отскочило. Включает тип и подтип отскока.
- Сценарий: обработка отскоков, обновление статуса получателя, сценарии после bounce.
message.complained
- Описание: срабатывает, когда получатель пометил письмо как спам или подал жалобу.
- Сценарий: реакция на жалобы, репутация отправителя, внутренние процессы по жалобам.
message.rejected
- Описание: срабатывает, когда отправка отклонена до фактической отправки — обычно из‑за ошибок валидации или политики.
- Сценарий: логирование причин, сценарии валидации.
Если вы отправляете на адрес со статусом bounced, rejected или после complained, мы блокируем дальнейшую отправку на этот адрес, чтобы держать низкий уровень отскоков. Следите, чтобы доля отскоков аккаунта была ниже 4%, иначе аккаунт может попасть на проверку.
События домена
domain.verified
- Описание: срабатывает, когда домен успешно верифицирован и готов к отправке.
- Сценарий: автоматическое включение функций домена, обновление статуса, шаги после верификации.
Фильтрация событий
При создании вебхука можно указать, на какие события подписываться. Это позволяет:
- снизить трафик вебхуков, подписавшись только на нужное;
- завести отдельные вебхуки под отдельные сценарии.
Например, только на входящие — message.received. Для трекинга доставки — message.sent, message.delivered и message.bounced.
