Webhook-запити

Коли відбувається подія, Emailit надсилає HTTP POST запит на налаштовану URL-адресу вашого webhook’а. На цій сторінці описано формат запиту, заголовки та поведінку доставки.

Формат запиту

Усі webhook-запити надсилаються як POST запити з JSON-тілом:

  • Метод: POST
  • Content-Type: application/json
  • Таймаут: 30 секунд

Заголовки

Кожен webhook-запит містить наступні заголовки:

ЗаголовокОпис
Content-Typeapplication/json
User-AgentEmailit-Webhooks/2.0
X-Emailit-SignatureHMAC-SHA256 підпис для перевірки автентичності
X-Emailit-TimestampUnix-мітка часу підписання запиту

Тіло запиту

Тіло запиту містить дані події у форматі JSON:

{
  "event_id": "evt_2bH7kNwP5mQaV1sXgIdKe6pZr",
  "type": "email.delivered",
  "data": {
    "object": {
      "id": "em_4yM2nTvR8oPcX3uZiKeLg7sB",
      "object": "email",
      ...
    }
  }
}

Очікувана відповідь

Ваша кінцева точка повинна повернути статус-код 2xx (наприклад, 200, 201, 204) для підтвердження отримання. Будь-який інший статус-код розглядається як помилка.

Політика повторних спроб

Якщо ваша кінцева точка не відповідає статус-кодом 2xx протягом 30 секунд, Emailit повторить доставку згідно з наступним розкладом:

СпробаЗатримка
05 секунд
15 хвилин
230 хвилин
32 години
45 годин
510 годин
624 години

Після спроби 6 (загалом 7 спроб) webhook автоматично відключається. Ви можете знову увімкнути його з панелі керування Emailit.

Порядок доставки

Webhook-події доставляються майже в реальному часі, але не гарантується їх доставка в правильному порядку. Використовуйте event_id та мітки часу в даних події для обробки порядку у вашому додатку.

IP-адреси

Webhook-запити надсилаються з інфраструктури Emailit. Якщо вам потрібно додати IP-адреси до білого списку, зверніться до служби підтримки за актуальним переліком вихідних IP-адрес.

Найкращі практики

  • Відповідайте швидко — Обробляйте webhook асинхронно та негайно повертайте 2xx. Виконуйте важкі операції у фоновому завданні.
  • Обробляйте дублікати — Використовуйте event_id для дедуплікації подій. Одна й та сама подія може бути доставлена кілька разів під час повторних спроб.
  • Перевіряйте підписи — Завжди валідуйте заголовок X-Emailit-Signature, щоб переконатися, що запит надійшов від Emailit. Дивіться Підпис запиту.
Локалізовано за допомогою ШІ