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

## **Настройка URL вебхука для доставки через интерфейс Haskimail**

* Войдите в Haskimail, выберите сервер, затем канал отправки и перейдите на вкладку «Вебхуки».

* Нажмите «Добавить вебхук» и введите URL вебхука в поле «URL Вебхука».

* Выберите флажок DELIVERED и перед сохранением изменений обязательно протестируйте вебхук, чтобы убедиться, что он работает.

![](https://chat.dashamail.ru/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ3NDIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--c30fbde53fb07da23fde1547c49e366f4fa959f8/tild6339-3733-4333-a237-653236386432___url\_.gif)

## **Настройка 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:** Полные данные о том, что ответил сервер получателя.

## **Интеграция**

Теперь, когда вы знаете, как настроить вебхуки для доставки, вы можете использовать информацию о доставке в своем приложении, чтобы в реальном времени отслеживать статус доставки писем, отправленных вашими пользователями.\
\
Для получения дополнительной информации, обратитесь к нашей [документации по вебхукам для доставки](http://haskimail.ru/developer/webhooks/delivery-webhook).