Monitor · Webhooks
Email Webhooks
Перестаньте опрашивать дашборды ради обновлений доставки. Отправляйте события принято, доставлено, отказ, жалобу прямо в приложение и процессы.
Репрезентативный UI продукта — примерные данные, не live-метрики клиентов.
От черного ящика к потоку событий
Событийные почтовые операции
Используйте вебхуки для синхронизации состояния продукта, повторов, оповещения команд и точного статуса клиента.
# Отправить критическое письмо через routing policy curl -sS -X POST 'https://app.sendarix.com/v1/email/send' \ -H 'Content-Type: application/json' \ -H 'X-API-Key: YOUR_API_KEY' \ -H 'Idempotency-Key: otp_8842' \ -d '{"to":"user@acme.com","template":"password_reset","routing_policy":"transactional-critical"}'
const sendarix = require("sendarix")(process.env.SENDARIX_KEY); await sendarix.email.send({ to: "user@acme.com", template: "password_reset", routingPolicy: "transactional-critical", idempotencyKey: "otp_8842" });
# Drop-in SMTP — сохраните интеграцию и получите control plane host: smtp.sendarix.com port: 587 (STARTTLS) username: "your_sending_key" header: X-Sendarix-Policy: transactional-critical
Возможности вебхуков
Вебхуки превращают почту из чёрного ящика в поток событий, который продукт может обрабатывать в реальном времени.
Синхронизация статуса доставки
Обновляйте пользовательский статус по мере перехода сообщений от принято к доставлено или отказу.
Автоматизация сбоев
Запускайте повторы и внутренние алерты при временных или постоянных сбоях.
Защита репутации
Автоматически обрабатывайте жалобы и отказы, чтобы плохие адреса не попадали в будущие отправки.
Интеграции workflow
Передавайте события в CRM, хранилище данных, воркеры очередей и системы реагирования на инциденты.
Проверка подписи
Проверяйте подписи входящих вебхуков, чтобы обрабатывать только доверенные события Sendarix.
Безопасные обработчики при повторах
Проектируйте идемпотентные обработчики для дубликатов и отложенных событий.
Жизненный цикл вебхука
Простой поток для надёжной событийной автоматизации.
1. Отправка сообщения
Сообщение входит в конвейер доставки через API или SMTP.
2. Событие создано
Система доставки создаёт статусные события (принято, доставлено, отказ, жалоба).
3. Вебхук доставлен
События отправляются на ваш endpoint для немедленной обработки.
4. Приложение реагирует
Системы обновляют состояние пользователя, запускают задачи или уведомляют команды.
Частые вопросы
Могут ли вебхуки полностью заменить polling?
Для большинства событийных сценариев да. Аналитика остаётся для истории и отчётности.
С каких событий начать?
С доставлено, отказ, жалоба. Затем расширяйте до вовлечённости или кастомных событий.
Вебхуки только для больших систем?
Нет. Малые приложения тоже выигрывают от мгновенной синхронизации и меньше ручной отладки.
Как проверять подлинность запросов?
Используйте общие секреты, подписи или HMAC-заголовки, проверяйте метки времени против replay, отклоняйте невалидные полезные нагрузки до обновления production.
Что если endpoint недоступен?
Опирайтесь на политику повторов и идемпотентность. Логируйте ID событий, чтобы дубликаты повторов не портили данные.
Обрабатывать синхронно в HTTP?
Обычно нет. Быстро подтверждайте, ставьте в очередь, обрабатывайте асинхронно.
Можно ли fan-out на несколько сервисов?
Да, через шину или роутер. Единая точка входа с валидацией и нормализацией, затем рассылка потребителям.
Как вебхуки помогают с отказами и жалобами?
Обновление подавления, пауза кампаний, флаги аккаунтов почти в реальном времени вместо часов через тикеты.
Нужны ли отдельные URL для staging и production?
Настоятельно рекомендуется. Изоляция предотвращает попадание тестовых событий в прод и упрощает ротацию секретов.
What is the format of webhook payloads?
All payloads are JSON with a consistent envelope: event type, timestamp, message ID, and event-specific data. See the Payload Examples section for full schemas.
What happens if our endpoint returns a non-2xx response?
Any response outside the 2xx range triggers a retry. Timeouts, connection refusals, and DNS failures also count as failures and trigger retry logic.
How long does Sendarix wait for our endpoint to respond?
Default timeout is 10 seconds. If your endpoint does not respond within this window, the request is considered failed and enters the retry queue.
Can we filter which events we receive?
Yes. Configure event type filters per endpoint to receive only the events relevant to your integration (e.g., bounces and complaints only).
What HTTP methods does Sendarix use for webhook delivery?
Sendarix sends POST requests only. If your endpoint receives a GET, PUT, PATCH, or DELETE request to the webhook URL, return 405 Method Not Allowed. This prevents accidental processing of unrelated traffic that may hit your endpoint.
How do we handle webhooks during deployment downtime?
Sendarix queues events during the retry window. If your endpoint is down for less than 5 hours, all events are preserved and delivered when your endpoint returns. For extended downtime (maintenance windows, incidents), queue events in Sendarix and process them after recovery via the event replay API.
Should our webhook endpoint be idempotent across different event types?
Yes. Process the event_id regardless of event_type. A given event_id represents one specific event (e.g., evt_abc123 = bounce for msg_xyz). If you receive evt_abc123 twice, return 200 OK on the second attempt without reprocessing. The event_id is globally unique across all event types.
How do we test webhooks in a staging environment without affecting production data?
Configure a separate webhook endpoint in your staging environment with its own secret. Use the Sendarix sandbox mode to send test events that do not count against production limits or affect real recipient addresses. This allows integration testing without generating fake suppression entries or polluting analytics.
What is the maximum number of events we can receive per second?
Sendarix delivers events in real time with no artificial rate limit on webhook delivery. During burst scenarios (e.g., a campaign delivery wave), your endpoint may receive hundreds of events per second. Design your endpoint to scale horizontally and your job queue to absorb these spikes. Monitor queue depth via the API to detect when processing falls behind.
Связанные продукты
Start Receiving Email Events in Real Time
Configure your webhook endpoint in minutes. Get delivery, bounce, complaint, open, and click events as they happen.
