Как включить вебхуки для доставки?

Вместо того чтобы запрашивать статус доставки через 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: Полные данные о том, что ответил сервер получателя.

Интеграция

Теперь, когда вы знаете, как настроить вебхуки для доставки, вы можете использовать информацию о доставке в своем приложении, чтобы в реальном времени отслеживать статус доставки писем, отправленных вашими пользователями.

Для получения дополнительной информации, обратитесь к нашей документации по вебхукам для доставки.