Вебхук доставки сообщает в реальном времени, что письмо принято почтовым сервером получателя. Так не нужно запрашивать статус доставки через API или проверять его в интерфейсе.
Как подключить вебхук в интерфейсе
- Откройте сервер, затем канал отправки, и перейдите на вкладку Вебхуки.

- Нажмите Добавить вебхук и укажите адрес в поле URL вебхука.
- Отметьте событие DELIVERED (доставка) и нажмите Отправить тест, чтобы проверить вебхук.
- Если тест прошёл успешно, сохраните вебхук.

Как подключить вебхук через API
Событие доставки можно включить при создании или редактировании вебхука через API вебхуков.
Пример события
Haskimail отправляет на ваш URL POST-запрос с заголовком Content-Type: application/json:
{
"event": "delivered",
"recipient": "ivan@example.com",
"email": "ivan@example.com",
"message_id": "a41d7c9e2b6f4e0d8c3b5a1f9e7d2c60",
"code": "",
"description": "",
"error": "",
"bounce_category": "",
"user_id": "48213",
"campaign_id": "orders",
"member_id": "0",
"event_time": "2026-10-07 14:30:15",
"event_time_utc": "2026-10-07 11:30:15",
"secret": "5f2b0c1d9a7e4c3b8d6f1a2e3c4b5d6e",
"custom_vars": "{\"order_id\":\"1042\"}",
"server_id": 11834,
"stream_id": "2081"
}
Основные поля:
event— тип события, для доставки всегдаdelivered;recipient— адрес получателя;message_id— ID письма из ответа на отправку;campaign_id— тег письма, если он был задан при отправке;custom_vars— метаданные письма в виде строки с JSON;event_timeиevent_time_utc— время доставки по Москве и в UTC;server_idиstream_id— ID сервера и канала;secret— подпись для проверки подлинности запроса.
Поля code, error, description и bounce_category заполняются только в вебхуках возвратов.
Обратите внимание: статус «доставлено» означает, что письмо принял почтовый сервер получателя. Попало ли оно во «Входящие» или в спам, по этому событию узнать нельзя.
Полное описание — в документации по вебхуку доставки. Как Haskimail повторяет отправку и как защитить вебхук — в статье «Модульные вебхуки».