Вместо того чтобы запрашивать статус доставки через API HaskiMail или использовать наш интерфейс, HaskiMail предлагает вебхуки для доставки. Этот вебхук отправляет обновления в реальном времени (в формате JSON), когда сообщение доставлено. Вы можете настроить URL вебхука для доставки с помощью нашего API и интерфейса.
Настройка URL вебхука для доставки через интерфейс HaskiMail
-
Войдите в HaskiMail, выберите сервер, затем канал отправки и перейдите на вкладку «Вебхуки».
-
Нажмите «Добавить вебхук» и введите URL вебхука в поле «URL Вебхука».
-
Выберите флажок DELIVERED и перед сохранением изменений обязательно протестируйте вебхук, чтобы убедиться, что он работает.

Настройка URL вебхука для доставки при создании нового сервера через API
-
Endpoint: https://api.haskimail.ru/servers
-
Метод HTTP: POST
-
Заголовки:
-
Accept: application/json
-
Content-Type: application/json
-
X-HaskiMail-Account-Token: ваш API токен аккаунта
-
-
Тело:
{
"Name": "Delivery Webhook Test Server",
"Color": "blue",
"SmtpApiActivated": true,
"RawEmailEnabled": false,
"InboundHookUrl": null,
"BounceHookUrl": null,
"OpenHookUrl": null,
"PostFirstOpenOnly": false,
"TrackOpens": false,
"InboundDomain": null,
"InboundSpamThreshold": 5,
"DeliveryHookUrl": "http://yourdomain.com/webhooks/delivery"
}
Настройка URL вебхука для доставки для существующего сервера через API:
-
Endpoint: https://api.haskimail.ru/server
-
Метод HTTP: PUT
-
Заголовки:
-
Accept: application/json
-
Content-Type: application/json
-
X-HaskiMail-Server-Token: ваш API токен сервера
-
-
Тело:
{
"DeliveryHookUrl": "http://yourdomain.com/webhooks/delivery"
}
Пример события вебхука для доставки:
Когда вы получите событие вебхука для доставки на свой URL, оно будет иметь следующий формат:
{
"MessageID": "883953f4-6105-42a2-a16a-77a8eac79483",
"Recipient": "john@example.com",
"DeliveredAt": "2019-08-01T13:28:10.2735393-04:00",
"Details": "Test delivery webhook details",
"Tag": "welcome-email",
"ServerId": 23,
"Metadata": {
"a_key": "a_value",
"b_key": "b_value"
},
"RecordType": "Delivery"
}
MessageID: ID сообщения, связанное с письмом.
Recipient: Адрес получателя, который получил письмо.
Tag: Если вы добавили тег к письму при отправке, он будет отображаться в JSON.
DeliveredAt: Время, когда письмо было принято почтовым сервером получателя.
Details: Полные данные о том, что ответил сервер получателя.
Интеграция
Теперь, когда вы знаете, как настроить вебхуки для доставки, вы можете использовать информацию о доставке в своем приложении, чтобы в реальном времени отслеживать статус доставки писем, отправленных вашими пользователями.
Для получения дополнительной информации, обратитесь к нашей документации по вебхукам для доставки.