Обзор

Интеграции

Руководство пользователя

Справочник API

Вебхуки

Стоп-листы

Стоп-лист — адреса, на которые письма не отправляются. Адреса добавляются вручную или автоматически после жёсткого возврата и жалобы на спам. Серверный ключ работает только со стоп-листами каналов своего сервера: чужой канал для него не найден (код 1226).

Стоп-лист канала #

get

/message-streams/{streamid}/suppressions/dump

Возвращает адреса, на которые письма не отправляются: добавленные в стоп-лист этого канала и отписавшиеся от него, а также адреса аккаунта с жёстким возвратом или жалобой на спам — они блокируются во всех каналах.

Заголовки запроса

Accept обязательный

application/json

X-Haskimail-Server-Token обязательный

Серверный API-ключ. Он есть в настройках сервера на вкладке «API-ключи».

Параметры пути

streamid обязательный

ID канала.

Ответ

Suppressions array

Адреса.

Suppressions[].EmailAddress string

Адрес.

Suppressions[].SuppressionReason string

HardBounce — жёсткий возврат, SpamComplaint — получатель пожаловался на спам, ManualSuppression — добавлен вручную или отписался.

Suppressions[].Origin string

Всегда Recipient.

Suppressions[].CreatedAt string

Когда адрес попал в стоп-лист, YYYY-MM-DD HH:MM:SS, МСК.

Пример запроса с curl

curl "https://api.haskimail.ru/message-streams/{streamid}/suppressions/dump" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

Пример ответа

HTTP/1.1 200 OK
Content-Type: application/json

{
  "Suppressions": [
    {
      "EmailAddress": "old-address@example.com",
      "SuppressionReason": "HardBounce",
      "Origin": "Recipient",
      "CreatedAt": "2026-10-07 14:30:15"
    },
    {
      "EmailAddress": "no-mail@example.com",
      "SuppressionReason": "ManualSuppression",
      "Origin": "Recipient",
      "CreatedAt": "2026-10-05 10:12:00"
    },
    {
      "EmailAddress": "angry@example.com",
      "SuppressionReason": "SpamComplaint",
      "Origin": "Recipient",
      "CreatedAt": "2026-10-03 08:41:27"
    }
  ]
}

Добавление в стоп-лист #

post

/message-streams/{streamid}/suppressions

Добавляет адреса в стоп-лист канала: письма на них через этот канал отправляться не будут.

Заголовки запроса

Accept обязательный

application/json

Content-Type обязательный

application/json

X-Haskimail-Server-Token обязательный

Серверный API-ключ. Он есть в настройках сервера на вкладке «API-ключи».

Параметры пути

streamid обязательный

ID канала.

Параметры тела запроса

Suppressions array обязательный

Адреса: список объектов {"EmailAddress": "…"}.

Ответ

Suppressions array

Результат по каждому адресу, в порядке запроса.

Suppressions[].EmailAddress string

Адрес.

Suppressions[].Status string

Suppressed — добавлен, Failed — нет.

Suppressions[].Message string

Причина, если адрес не добавлен.

Пример запроса с curl

curl "https://api.haskimail.ru/message-streams/{streamid}/suppressions" \
  -X POST \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Haskimail-Server-Token: server token" \
  -d '{
  "Suppressions": [
    {
      "EmailAddress": "no-mail@example.com"
    },
    {
      "EmailAddress": "not-an-email"
    }
  ]
}'

Пример ответа

HTTP/1.1 200 OK
Content-Type: application/json

{
  "Suppressions": [
    {
      "EmailAddress": "no-mail@example.com",
      "Status": "Suppressed",
      "Message": ""
    },
    {
      "EmailAddress": "not-an-email",
      "Status": "Failed",
      "Message": "An invalid email address was provided."
    }
  ]
}

Удаление из стоп-листа #

post

/message-streams/{streamid}/suppressions/delete

Убирает адреса из стоп-листа. Удалить можно адрес, добавленный вручную или с жёстким возвратом; отписавшиеся и пожаловавшиеся на спам остаются в стоп-листе.

Заголовки запроса

Accept обязательный

application/json

Content-Type обязательный

application/json

X-Haskimail-Server-Token обязательный

Серверный API-ключ. Он есть в настройках сервера на вкладке «API-ключи».

Параметры пути

streamid обязательный

ID канала.

Параметры тела запроса

Suppressions array обязательный

Адреса: список объектов {"EmailAddress": "…"}.

Ответ

Suppressions array

Результат по каждому адресу, в порядке запроса.

Suppressions[].EmailAddress string

Адрес.

Suppressions[].Status string

Deleted — удалён, Failed — нет.

Suppressions[].Message string

Причина, если адрес не удалён.

Пример запроса с curl

curl "https://api.haskimail.ru/message-streams/{streamid}/suppressions/delete" \
  -X POST \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Haskimail-Server-Token: server token" \
  -d '{
  "Suppressions": [
    {
      "EmailAddress": "no-mail@example.com"
    }
  ]
}'

Пример ответа

HTTP/1.1 200 OK
Content-Type: application/json

{
  "Suppressions": [
    {
      "EmailAddress": "no-mail@example.com",
      "Status": "Deleted",
      "Message": ""
    }
  ]
}