Сервис email рассылок с webhooks: интеграция событий и автоматизация
Разбираем, как работают webhooks в сервисах email рассылок: какие события передаются, как настроить endpoint, защитить подпись и построить автоматизацию с CRM.

Webhooks превращают сервис email рассылок из закрытой системы в часть вашей инфраструктуры: как только письмо доставлено, открыто или отписано, платформа сама отправляет HTTP-запрос на ваш адрес. Это позволяет строить автоматизацию без ручной выгрузки отчётов и постоянных обращений к API. Ниже — как устроены события, как их подключить и какие сценарии дают максимальную отдачу.
Что такое webhook и чем он лучше опроса API
Webhook — это автоматический HTTP-запрос, который платформа отправляет на ваш URL при наступлении события: доставки письма, открытия, клика, отписки. Внутри запроса — JSON с типом события, идентификатором подписчика, кампании и метаданными. Получателю достаточно иметь endpoint, который принимает POST и возвращает код 200.
Опрос API работает по обратной логике: вы сами раз в N минут спрашиваете сервис, что произошло. Из-за этого события запаздывают, а на пустые запросы уходят трафик и квота. Webhooks убирают обе проблемы.
- Задержка — секунды вместо минут.
- Нет «холостых» запросов и лишнего расхода лимитов API.
- Событие содержит контекст: кампанию, ссылку, причину недоставки.
- Легко связать рассылку с CRM, складом, аналитикой и внутренними сервисами.
Какие события передаёт сервис email рассылок
Набор событий зависит от платформы, но базовый список совпадает почти везде. Обычно он разбит на группы: доставка, вовлечённость, подписка и технические ошибки.
- delivered — письмо принято почтовым сервером получателя.
- opened — открытие (трекинг-пиксель).
- clicked — переход по ссылке, часто с URL и utm-метками.
- bounced — недоставка: hard (адрес не существует) и soft (переполнен ящик, временная ошибка).
- spam complaint — жалоба на спам через провайдеров вроде Gmail.
- unsubscribed — отписка, иногда с указанием причины.
- subscribed / confirmed — новая подписка и подтверждение double opt-in.
- deferred — временная задержка доставки и повторы.
- list update — изменение профиля, сегмента или статуса контакта.
Как подключить webhook: пошаговая инструкция
- Подготовьте endpoint на HTTPS: отдельный маршрут вида /webhooks/email, который принимает только POST и отвечает быстро.
- В личном кабинете сервиса рассылок (например, в настройках интеграций luxepost.ru) создайте webhook и укажите URL.
- Выберите типы событий: не подключайте всё сразу — начните с delivered, bounced, unsubscribed и clicked.
- Скопируйте секретный ключ для подписи и сохраните его в переменных окружения, а не в коде.
- Реализуйте быстрый ответ 200: тяжёлую логику (запись в CRM, отправку писем) перенесите в очередь.
- Протестируйте отправку тестового события и проверьте логи: код ответа, время обработки, повторные доставки.
- Включите мониторинг: алерт, если endpoint недоступен или доля ошибок превышает порог.
Типовой payload выглядит так:
{"event":"clicked","message_id":"...","email":"user@example.com","campaign_id":"123","url":"https://site.ru/page","timestamp":"2025-01-01T10:00:00Z"}Проверка подписи
Хороший сервис подписывает запрос HMAC-подписью в заголовке (например, X-Signature). Вы считаете подпись от сырого тела запроса со своим секретом и сравниваете со значением из заголовка. Если подписи нет и вы принимаете любые данные, посторонний сможет «сливать» в вашу CRM фальшивые отписки и клики.
Идемпотентность и повторные попытки
Сети нестабильны, поэтому webhooks доставляются с повторами, а одно событие может прийти дважды. Храните идентификатор события и игнорируйте дубликаты. Это защищает от двойных писем, двойных записей и замусоренной истории в CRM.
Webhook без проверки подписи, идемпотентности и очереди — это дубли в CRM, ложные отписки и потерянные события. Три этих механизма важнее любой экзотической фичи.
Сценарии автоматизации
Синхронизация с CRM и helpdesk
События delivered и bounced обновляют статус контакта, clicked добавляет интерес к продукту, unsubscribed ставит запрет на рассылки. Данные попадают в CRM в реальном времени, и менеджер видит актуальную картину.
Сегментация по вовлечённости
По opened и clicked можно автоматически собирать активный сегмент и отдельно — «спящих». Для спящих запускается реактивационная цепочка, а не очередная общая рассылка.
Триггерные и транзакционные цепочки
Событие subscribed или list update может запускать приветствие, а bounced — уведомление менеджеру. Так рассылка становится частью продукта, а не отдельным каналом.
Мониторинг доставляемости
Рост bounced, spam complaint и deferred сигнализирует о проблемах с репутацией домена. Автоматический алерт позволяет отреагировать до того, как домен попадёт в блок-лист.
Типичные ошибки при интеграции
- Синхронная обработка «здесь и сейчас»: долгий ответ приводит к таймауту и повторам.
- Отсутствие очереди и ретраев на стороне получателя.
- Игнорирование подписи и проверки источника запроса.
- Отсутствие идемпотентности — дубли писем и записей.
- Подключение всех событий сразу без фильтрации.
- Обработка soft bounce как жёстной блокировки адреса.
Как выбрать сервис email рассылок с webhooks
- Полнота событий: доставка, открытия, клики, отписки, жалобы, деферы.
- Безопасность: HMAC-подпись, фиксированные IP-адреса отправителя, журнал запросов.
- Надёжность: автоматические повторы по расписанию и защита от дублей.
- Тестовый режим и понятная документация с примерами payload.
- Лимиты и стоимость: сколько событий включено в тариф.
- Поддержка и наличие готовых интеграций с популярными CRM.
Сервис email рассылок стоит выбирать не по размеру библиотеки шаблонов, а по качеству событийной модели: именно она определяет, насколько глубоко рассылки встроятся в ваши процессы.
Итоги
Webhooks превращают рассылки в управляемый поток данных: события приходят вовремя, автоматизация реагирует сразу, а команда видит реальную реакцию аудитории. Начните с четырёх базовых событий, добавьте подпись, идемпотентность и очередь — и интеграция будет стабильной. Дальше расширяйте список событий под конкретные задачи: реактивацию, транзакционные цепочки, мониторинг доставляемости.
Настройка и набор доступных событий зависят от тарифа и версии платформы. Перед выводом интеграции в продакшен протестируйте обработку в изолированной среде.