Обзор

Интеграции

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

Справочник API

Вебхуки

Статистика

Статистика по исходящим письмам сервера ключа; с ключом аккаунта — по всем серверам. Чтобы получить ее по одному каналу, передайте messagestream.

Сводная статистика #

get

/stats

Итоги по исходящим письмам аккаунта за период. Отправленные, открытия и клики — количество событий; возвраты, отписки и жалобы — количество адресов, у которых они были.

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

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

application/json

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

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

Параметры строки запроса

fromdate

Начало периода, дата 2026-10-01. По умолчанию — месяц назад.

todate

Конец периода включительно, дата. По умолчанию — сегодня.

messagestream

ID канала. Без параметра — по всем каналам сервера ключа.

Ответ

Sent integer

Отправлено писем.

Bounced integer

Адресов с возвратом.

Opened integer

Открытий, включая повторные.

Clicked integer

Кликов, включая повторные.

Unsubscribed integer

Адресов, отписавшихся от писем. То же число приходит в поле Unsubsribed — это прежнее название с опечаткой, оно оставлено для совместимости; в новом коде читайте Unsubscribed.

SpamComplaints integer

Адресов, пожаловавшихся на спам.

BounceRate number

Bounced / Sent × 100, до сотых.

SpamComplaintsRate number

SpamComplaints / Sent × 100, до сотых.

OpenRate number

Opened / Sent × 100, до сотых.

ClickRate number

Clicked / Sent × 100, до сотых.

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

curl "https://api.haskimail.ru/stats?fromdate=2026-10-01&todate=2026-10-07" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

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

{
  "Sent": 615,
  "Bounced": 64,
  "Opened": 166,
  "Clicked": 72,
  "Unsubscribed": 3,
  "Unsubsribed": 3,
  "SpamComplaints": 10,
  "BounceRate": 10.41,
  "SpamComplaintsRate": 1.63,
  "OpenRate": 26.99,
  "ClickRate": 11.71
}

Отправленные по дням #

get

/stats/sends

Количество отправленных писем по дням.

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

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

application/json

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

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

Параметры строки запроса

fromdate

Начало периода, дата 2026-10-01. По умолчанию — месяц назад.

todate

Конец периода включительно, дата. По умолчанию — сегодня.

messagestream

ID канала. Без параметра — по всем каналам сервера ключа.

Ответ

Days array

Значения по дням, в порядке возрастания даты. Дней без событий в списке нет.

Days[].Date string

Дата, YYYY-MM-DD.

Days[].Sent integer

Отправлено писем.

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

curl "https://api.haskimail.ru/stats/sends?fromdate=2026-10-01&todate=2026-10-07" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

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

{
  "Days": [
    {
      "Date": "2026-10-01",
      "Sent": 140
    },
    {
      "Date": "2026-10-02",
      "Sent": 160
    },
    {
      "Date": "2026-10-03",
      "Sent": 95
    }
  ]
}

Возвраты по дням #

get

/stats/bounces

Количество жестких и мягких возвратов по дням.

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

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

application/json

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

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

Параметры строки запроса

fromdate

Начало периода, дата 2026-10-01. По умолчанию — месяц назад.

todate

Конец периода включительно, дата. По умолчанию — сегодня.

messagestream

ID канала. Без параметра — по всем каналам сервера ключа.

Ответ

Days array

Значения по дням, в порядке возрастания даты. Дней без событий в списке нет.

Days[].Date string

Дата, YYYY-MM-DD.

Days[].HardBounce integer

Жестких возвратов.

Days[].SoftBounce integer

Мягких возвратов.

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

curl "https://api.haskimail.ru/stats/bounces?fromdate=2026-10-01&todate=2026-10-07" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

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

{
  "Days": [
    {
      "Date": "2026-10-01",
      "HardBounce": 12,
      "SoftBounce": 3
    },
    {
      "Date": "2026-10-02",
      "HardBounce": 9,
      "SoftBounce": 0
    }
  ]
}

Жалобы на спам по дням #

get

/stats/spam

Количество жалоб на спам по дням.

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

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

application/json

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

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

Параметры строки запроса

fromdate

Начало периода, дата 2026-10-01. По умолчанию — месяц назад.

todate

Конец периода включительно, дата. По умолчанию — сегодня.

messagestream

ID канала. Без параметра — по всем каналам сервера ключа.

Ответ

Days array

Значения по дням, в порядке возрастания даты. Дней без событий в списке нет.

Days[].Date string

Дата, YYYY-MM-DD.

Days[].SpamComplaint integer

Жалоб на спам.

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

curl "https://api.haskimail.ru/stats/spam?fromdate=2026-10-01&todate=2026-10-07" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

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

{
  "Days": [
    {
      "Date": "2026-10-01",
      "SpamComplaint": 2
    },
    {
      "Date": "2026-10-03",
      "SpamComplaint": 1
    }
  ]
}

Открытия по дням #

get

/stats/opens

Количество открытий по дням, включая повторные.

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

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

application/json

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

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

Параметры строки запроса

fromdate

Начало периода, дата 2026-10-01. По умолчанию — месяц назад.

todate

Конец периода включительно, дата. По умолчанию — сегодня.

messagestream

ID канала. Без параметра — по всем каналам сервера ключа.

Ответ

Days array

Значения по дням, в порядке возрастания даты. Дней без событий в списке нет.

Days[].Date string

Дата, YYYY-MM-DD.

Days[].Opens integer

Открытий.

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

curl "https://api.haskimail.ru/stats/opens?fromdate=2026-10-01&todate=2026-10-07" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

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

{
  "Days": [
    {
      "Date": "2026-10-01",
      "Opens": 44
    },
    {
      "Date": "2026-10-02",
      "Opens": 46
    },
    {
      "Date": "2026-10-03",
      "Opens": 25
    }
  ]
}

Клики по дням #

get

/stats/clicks

Количество кликов по ссылкам по дням, включая повторные.

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

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

application/json

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

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

Параметры строки запроса

fromdate

Начало периода, дата 2026-10-01. По умолчанию — месяц назад.

todate

Конец периода включительно, дата. По умолчанию — сегодня.

messagestream

ID канала. Без параметра — по всем каналам сервера ключа.

Ответ

Days array

Значения по дням, в порядке возрастания даты. Дней без событий в списке нет.

Days[].Date string

Дата, YYYY-MM-DD.

Days[].Clicks integer

Кликов.

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

curl "https://api.haskimail.ru/stats/clicks?fromdate=2026-10-01&todate=2026-10-07" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

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

{
  "Days": [
    {
      "Date": "2026-10-01",
      "Clicks": 18
    },
    {
      "Date": "2026-10-02",
      "Clicks": 21
    },
    {
      "Date": "2026-10-03",
      "Clicks": 9
    }
  ]
}

Открытия по платформам #

get

/stats/opens/platforms

Открытия по дням и за период с разбивкой по платформам: Desktop — компьютер, Mobile — телефон или планшет, WebMail — веб-почта (Gmail, Почта Mail.ru, Яндекс Почта, Рамблер Почта), Unknown — не удалось определить, в том числе боты.

Считаются все открытия, включая повторные, — как в открытиях по дням. Платформа, клиент и браузер определяются по User-Agent в момент открытия. Gmail и другие веб-почты загружают картинки письма через свой прокси, поэтому такие открытия попадают в WebMail, даже если письмо читали в приложении на телефоне.

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

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

application/json

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

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

Параметры строки запроса

fromdate

Начало периода, дата 2026-10-01. По умолчанию — месяц назад.

todate

Конец периода включительно, дата. По умолчанию — сегодня.

messagestream

ID канала. Без параметра — по всем каналам сервера ключа.

Ответ

Days array

Значения по дням, в порядке возрастания даты. Дней без событий в списке нет.

Days[].Date string

Дата, YYYY-MM-DD.

Days[].Desktop, Mobile, WebMail, Unknown integer

Открытий за день по платформам. Все четыре поля есть всегда, в том числе нулевые.

Desktop, Mobile, WebMail, Unknown integer

Открытий за весь период по платформам: Desktop — компьютер, Mobile — телефон или планшет, WebMail — веб-почта (Gmail, Почта Mail.ru, Яндекс Почта, Рамблер Почта), Unknown — не удалось определить, в том числе боты.

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

curl "https://api.haskimail.ru/stats/opens/platforms?fromdate=2026-10-01&todate=2026-10-02" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

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

{
  "Days": [
    {
      "Date": "2026-10-01",
      "Desktop": 18,
      "Mobile": 21,
      "WebMail": 5,
      "Unknown": 0
    },
    {
      "Date": "2026-10-02",
      "Desktop": 20,
      "Mobile": 19,
      "WebMail": 6,
      "Unknown": 1
    }
  ],
  "Desktop": 38,
  "Mobile": 40,
  "WebMail": 11,
  "Unknown": 1
}

Открытия по почтовым клиентам #

get

/stats/opens/emailclients

Открытия по дням и за период с разбивкой по почтовым клиентам и веб-почтам: Apple Mail, Outlook, Thunderbird, Gmail, Mail.ru, Yandex Mail, Rambler Mail и другие. Названия программ — из базы User-Agent Udger, веб-почты названы по сервису. Если письмо открыли в браузере, клиентом считается браузер.

Считаются все открытия, включая повторные, — как в открытиях по дням. Платформа, клиент и браузер определяются по User-Agent в момент открытия.

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

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

application/json

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

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

Параметры строки запроса

fromdate

Начало периода, дата 2026-10-01. По умолчанию — месяц назад.

todate

Конец периода включительно, дата. По умолчанию — сегодня.

messagestream

ID канала. Без параметра — по всем каналам сервера ключа.

Ответ

Days array

Значения по дням, в порядке возрастания даты. Дней без событий в списке нет.

Days[].Date string

Дата, YYYY-MM-DD.

Days[].<клиент> integer

Открытий за день: ключ — название, есть только встретившиеся в этот день.

<клиент> integer

Открытий за весь период: ключ — название, по убыванию числа. Unknown — не удалось определить.

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

curl "https://api.haskimail.ru/stats/opens/emailclients?fromdate=2026-10-01&todate=2026-10-02" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

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

{
  "Days": [
    {
      "Date": "2026-10-01",
      "Apple Mail": 17,
      "Outlook 2016": 12,
      "Mail.ru": 6,
      "Gmail": 5
    },
    {
      "Date": "2026-10-02",
      "Apple Mail": 15,
      "Outlook 2016": 14,
      "Gmail": 6,
      "Yandex Mail": 4
    }
  ],
  "Apple Mail": 32,
  "Outlook 2016": 26,
  "Gmail": 11,
  "Mail.ru": 6,
  "Yandex Mail": 4
}

Клики по браузерам #

get

/stats/clicks/browserfamilies

Клики по ссылкам по дням и за период с разбивкой по браузерам: Chrome, Safari, Firefox, Yandex.Browser и другие. Названия браузеров — из базы User-Agent Udger, без номера версии.

Считаются все клики, включая повторные, — как в кликах по дням. Платформа, клиент и браузер определяются по User-Agent в момент клика.

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

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

application/json

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

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

Параметры строки запроса

fromdate

Начало периода, дата 2026-10-01. По умолчанию — месяц назад.

todate

Конец периода включительно, дата. По умолчанию — сегодня.

messagestream

ID канала. Без параметра — по всем каналам сервера ключа.

Ответ

Days array

Значения по дням, в порядке возрастания даты. Дней без событий в списке нет.

Days[].Date string

Дата, YYYY-MM-DD.

Days[].<браузер> integer

Кликов за день: ключ — название, есть только встретившиеся в этот день.

<браузер> integer

Кликов за весь период: ключ — название, по убыванию числа. Unknown — не удалось определить.

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

curl "https://api.haskimail.ru/stats/clicks/browserfamilies?fromdate=2026-10-01&todate=2026-10-02" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

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

{
  "Days": [
    {
      "Date": "2026-10-01",
      "Chrome": 9,
      "Safari": 7,
      "Yandex.Browser": 3
    },
    {
      "Date": "2026-10-02",
      "Chrome": 14,
      "Firefox": 1
    }
  ],
  "Chrome": 23,
  "Safari": 7,
  "Yandex.Browser": 3,
  "Firefox": 1
}

Клики по платформам #

get

/stats/clicks/platforms

Клики по ссылкам по дням и за период с разбивкой по платформам: Desktop — компьютер, Mobile — телефон или планшет, WebMail — веб-почта (Gmail, Почта Mail.ru, Яндекс Почта, Рамблер Почта), Unknown — не удалось определить, в том числе боты. WebMail — клик из веб-интерфейса почты.

Считаются все клики, включая повторные, — как в кликах по дням. Платформа, клиент и браузер определяются по User-Agent в момент клика.

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

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

application/json

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

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

Параметры строки запроса

fromdate

Начало периода, дата 2026-10-01. По умолчанию — месяц назад.

todate

Конец периода включительно, дата. По умолчанию — сегодня.

messagestream

ID канала. Без параметра — по всем каналам сервера ключа.

Ответ

Days array

Значения по дням, в порядке возрастания даты. Дней без событий в списке нет.

Days[].Date string

Дата, YYYY-MM-DD.

Days[].Desktop, Mobile, WebMail, Unknown integer

Кликов за день по платформам. Все четыре поля есть всегда, в том числе нулевые.

Desktop, Mobile, WebMail, Unknown integer

Кликов за весь период по платформам: Desktop — компьютер, Mobile — телефон или планшет, WebMail — веб-почта (Gmail, Почта Mail.ru, Яндекс Почта, Рамблер Почта), Unknown — не удалось определить, в том числе боты.

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

curl "https://api.haskimail.ru/stats/clicks/platforms?fromdate=2026-10-01&todate=2026-10-02" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

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

{
  "Days": [
    {
      "Date": "2026-10-01",
      "Desktop": 11,
      "Mobile": 6,
      "WebMail": 2,
      "Unknown": 0
    },
    {
      "Date": "2026-10-02",
      "Desktop": 9,
      "Mobile": 8,
      "WebMail": 1,
      "Unknown": 1
    }
  ],
  "Desktop": 20,
  "Mobile": 14,
  "WebMail": 3,
  "Unknown": 1
}