Возвраты — письма, которые сервер получателя не принял. Серверный ключ видит возвраты только своего сервера, ключ аккаунта — всех серверов; сузить выборку до канала можно фильтром messagestream.
Количество возвратов сервера ключа за последние 45 дней по типам. Первая запись (Name: All, без Type) — все возвраты вместе.
| Accept | обязательный application/json |
|---|---|
| X-Haskimail-Server-Token | обязательный Серверный API-ключ. Он есть в настройках сервера на вкладке «API-ключи». |
| Bounces | array |
Количество возвратов по типам. |
|---|---|---|
| Bounces[].Type | string |
Тип возврата: |
| Bounces[].Name | string |
Название типа. |
| Bounces[].Count | integer |
Количество возвратов. |
curl "https://api.haskimail.ru/deliverystats" \
-X GET \
-H "Accept: application/json" \
-H "X-Haskimail-Server-Token: server token"
HTTP/1.1 200 OK
Content-Type: application/json
{
"Bounces": [
{
"Name": "All",
"Count": 253
},
{
"Type": "HardBounce",
"Name": "Hard bounce",
"Count": 195
},
{
"Type": "BulkBounce",
"Name": "Bulk bounce",
"Count": 12
},
{
"Type": "SoftBounce",
"Name": "Soft bounce",
"Count": 38
},
{
"Type": "SpamBlock",
"Name": "Spam block",
"Count": 8
}
]
}
Возвращает возвраты сервера ключа, новые первыми.
| Accept | обязательный application/json |
|---|---|
| X-Haskimail-Server-Token | обязательный Серверный API-ключ. Он есть в настройках сервера на вкладке «API-ключи». |
| count |
Количество возвратов в ответе. По умолчанию 500. |
|---|---|
| offset |
Сколько возвратов пропустить. По умолчанию 0. |
| type |
Тип возврата: |
| emailFilter |
Email получателя, точное совпадение. |
| tag |
Тег письма. |
| messageID |
ID письма. |
| messagestream |
ID канала. |
| fromdate |
Начало периода, дата |
| todate |
Конец периода включительно, дата. По умолчанию — сегодня. |
| TotalCount | integer |
Сколько всего возвратов подходит под фильтры запроса — без учета |
|---|---|---|
| Bounces | array |
Возвраты. |
| Bounces[].Type | string |
Тип возврата: |
| Bounces[].Name | string |
Название типа. |
| Bounces[].Email | string |
Email получателя, которому не доставлено письмо. |
| Bounces[].RecordType | string |
Всегда |
| Bounces[].MessageID | string |
ID письма. |
| Bounces[].ServerID | integer |
ID сервера. |
| Bounces[].MessageStream | string |
ID канала. |
| Bounces[].Description | string |
Причина возврата — ответ сервера получателя. |
| Bounces[].BouncedAt | string |
Время возврата, |
| Bounces[].TypeCode | string |
Код причины возврата. |
| Bounces[].Subject | string |
Тема письма. |
| Bounces[].Tag | string |
Тег письма. |
curl "https://api.haskimail.ru/bounces?count=50&offset=0" \
-X GET \
-H "Accept: application/json" \
-H "X-Haskimail-Server-Token: server token"
HTTP/1.1 200 OK
Content-Type: application/json
{
"TotalCount": 1,
"Bounces": [
{
"Type": "HardBounce",
"Name": "Hard bounce",
"Email": "old-address@example.com",
"RecordType": "Bounce",
"MessageID": "a41d7c9e2b6f4e0d8c3b5a1f9e7d2c60",
"ServerID": 11834,
"MessageStream": "2081",
"Description": "550 5.1.1 The email account that you tried to reach does not exist",
"BouncedAt": "2026-10-07 14:30:15",
"TypeCode": "550",
"Subject": "Ваш заказ №1042 оформлен",
"Tag": "orders"
}
]
}
Тип возврата в поле Type и в фильтре type. Два типа называются по-разному в разных методах: список возвратов отдает BlkBounce и SpmBounce, а статистика по доставке — BulkBounce и SpamBlock. Это одни и те же типы, и фильтр type принимает оба названия. Если сравниваете или фильтруете типы у себя, учитывайте оба.
| HardBounce | HardBounce | Жесткий возврат: адреса нет или ящик недоступен навсегда. |
|---|---|---|
| SoftBounce | SoftBounce | Мягкий возврат: временная проблема — ящик переполнен, сервер получателя недоступен. |
| BlkBounce | BulkBounce | Блокировка: сервер получателя отклонил письмо по своей политике или из-за репутации отправителя. |
| SpmBounce | SpamBlock | Письмо отклонено как спам. |
Первое название — в списке возвратов, второе — в статистике по доставке.