Обзор

Интеграции

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

Справочник API

Вебхуки

API Сообщений

Позволяет получить подробную информацию о любом исходящем или входящем сообщении, отправленном или полученном через определенный сервер. Сообщения удаляются по истечении периода хранения, который по умолчанию составляет 45 дней (но может быть настроен в диапазоне от 7 до 365 дней).

Детали письма #

get

/messages/{messageid}/details

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

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

application/json

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

Для этого запроса требуются права доступа на уровне сервера. Этот токен можно найти в настройках вашего сервера Haskimail на вкладке «Токены API».

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

curl "https://api.haskimail.ru/messages/{messageid}/details" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

Ответ

Tag string

Теги, связанные с этим сообщением.

MessageID string

Уникальный ID сообщения.

MessageStream string

Исходящий канал, использованный для отправки сообщения.

Recipient string

Адрес, на который отправлено сообщение.

ReceivedAt string

Временная метка отправки сообщения сервисом Haskimail. Соответствует событию «Обработано» (Processed) в интерфейсе.

From string

Email-адрес отправителя.

Subject string

Тема письма.

Status string

Статус сообщения в вашей Активности Haskimail.

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

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

{
  "Tag": "product-orders",
  "MessageID": "07311c54-0687-4ab9-b034-b54b5bad88ba",
  "MessageStream": "outbound",
  "Recipient": "john.doe@yahoo.com",
  "ReceivedAt": "2014-02-14T11:12:54.8054242-05:00",
  "From": "\"Joe\" <joe@domain.com>",
  "Subject": "Parts Order #5454",
  "Status": "Sent"
}

Открытия писем #

get

/messages/opens

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

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

application/json

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

Для этого запроса требуются права доступа на уровне сервера. Этот токен можно найти в настройках вашего сервера Haskimail на вкладке «Токены API».

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

curl "https://api.haskimail.ru/messages/opens?recipient=john.doe@yahoo.com&count=50&offset=0" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

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

Количество сообщений, возвращаемых в одном запросе. Максимум 500. Сумма count и offset не может превышать 10 000.

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

Количество пропускаемых сообщений. Сумма count и offset не может превышать 10 000.

recipient

Фильтровать по получателю.

tag

Фильтровать по тегу.

messagestream

Фильтровать по ID канала. Если не указано, поиск по умолчанию будет производиться по исходящему транзакционному каналу.

Ответ

Постоянные поля

Эти поля будут возвращаться всегда.

TotalCount integer

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

Opens array

Список записей, каждый из которых представляет одно открытие письма.

MessageID string

Уникальный ID сообщения.

MessageStream string

Исходящий канал, использованный для отправки сообщения.

ReceivedAt string

Временная метка, когда сообщение было открыто.

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

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

{
  "TotalCount": 1,
  "Opens": [
    {
      "MessageID": "927e56d4-dc66-4070-bbf0-1db76c2ae14b",
      "MessageStream": "outbound",
      "ReceivedAt": "2014-04-30T05:04:23.8768746-04:00",
      "Tag": "welcome-user",
      "Recipient": "john.doe@yahoo.com"
    }
  ]
}

Открытия для одного письма #

get

/messages/opens/{messageid}

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

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

application/json

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

Для этого запроса требуются права доступа на уровне сервера. Этот токен можно найти в настройках вашего сервера Haskimail на вкладке «Токены API».

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

curl "https://api.haskimail.ru/messages/opens/{messageid}?count=10&offset=0" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

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

Количество открытий, возвращаемых в одном запросе. Максимум 500.

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

Количество пропускаемых открытий.

Ответ

Постоянные поля

Эти поля будут возвращаться всегда.

TotalCount integer

API Haskimail сохраняет только первое открытие, поэтому TotalCount всегда будет равен «1». Вебхук открытий (Open Webhook) будет отправлять уведомления о каждом отдельном открытии, если это необходимо.

Opens array

Список записей, каждый из которых представляет одно открытие письма. Обратите внимание, что одно открытие привязано к одному получателю. Поэтому, если одно и то же письмо было отправлено двум получателям и оба его открыли, это будет представлено двумя записями в данном массиве.

MessageID string

Уникальный ID сообщения.

MessageStream string

Исходящий канал, использованный для отправки сообщения.

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

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

{
  "TotalCount": 1,
  "Opens": [
    {
      "MessageID": "927e56d4-dc66-4070-bbf0-1db76c2ae14b",
      "MessageStream": "outbound",
      "ReceivedAt": "2014-04-30T05:04:23.8768746-04:00",
      "Tag": "welcome-user",
      "Recipient": "john.doe@yahoo.com"
    }
  ]
}

Клики по ссылкам в письмах #

get

/messages/clicks

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

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

application/json

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

Для этого запроса требуются права доступа на уровне сервера. Этот токен можно найти в настройках вашего сервера Haskimail на вкладке «Токены API».

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

curl "https://api.haskimail.ru/messages/clicks?recipient=john.doe@yahoo.com&count=50&offset=0" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

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

Количество кликов, возвращаемых в одном запросе. Максимум 500.

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

Количество пропускаемых кликов.

recipient

Фильтровать по получателю (To, Cc, Bcc).

tag

Фильтровать по тегу.

messagestream

Фильтровать по ID канала. Если не указано, поиск по умолчанию будет производиться по исходящему транзакционному каналу.

Ответ

Постоянные поля

Эти поля будут возвращаться всегда.

TotalCount integer

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

Clicks array

Список событий, каждое из которых представляет один клик по ссылке. Обратите внимание, что каждый клик привязан к конкретному получателю и уникальной ссылке. Если письмо было отправлено двум получателям и оба кликнули по ссылкам, каждое такое событие будет отражено в этом массиве.

MessageID string

Уникальный ID сообщения.

ReceivedAt string

Временная метка, когда был совершен клик по ссылке.

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

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

{
  "TotalCount": 1,
  "Clicks": [
    {
      "MessageID": "927e56d4-dc66-4070-bbf0-1db76c2ae14b",
      "OriginalLink" : "https://example.com",
      "MessageStream": "Outbound",
      "ReceivedAt": "2014-04-30T05:04:23.8768746-04:00",
      "Tag": "welcome-user",
      "Recipient": "john.doe@yahoo.com"
    }
  ]
}

Клики по ссылкам в одном письме #

get

/messages/clicks/{messageid}

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

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

application/json

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

Для этого запроса требуются права доступа на уровне сервера. Этот токен можно найти в настройках вашего сервера Haskimail на вкладке «Токены API».

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

curl "https://api.haskimail.ru/messages/clicks/{messageid}?count=10&offset=0" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Server-Token: server token"

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

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

Количество кликов, возвращаемых в одном запросе. Максимум 500.

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

Количество пропускаемых кликов.

Ответ

Постоянные поля

Эти поля будут возвращаться всегда.

TotalCount integer

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

Clicks array

Список событий, каждое из которых представляет один клик по ссылке. Обратите внимание, что каждый клик привязан к конкретному получателю и уникальной ссылке. Если письмо было отправлено двум получателям и оба кликнули по ссылкам, каждое такое событие будет отражено в этом массиве.

MessageID string

Уникальный ID сообщения.

MessageStream string

Исходящий канал, использованный для отправки сообщения..

ReceivedAt string

Временная метка, когда был совершен клик по ссылке.

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

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

{
  "TotalCount": 1,
  "Clicks": [
    {
      "OriginalLink" : "https://example.com",
      "MessageID": "927e56d4-dc66-4070-bbf0-1db76c2ae14b",
      "MessageStream": "outbound",
      "ReceivedAt": "2014-04-30T05:04:23.8768746-04:00",
      "Tag": "welcome-user",
      "Recipient": "john.doe@yahoo.com"
    }
  ]
}