Обзор

Интеграции

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

Справочник API

Вебхуки

Серверы

Сервер объединяет каналы, шаблоны и API-ключи одного проекта. Методы работают только с ключом аккаунта; серверный ключ получит ответ 401 с кодом 10.

Получение информации о сервере #

get

/servers/{serverid}

Возвращает один сервер. Если сервера нет — ответ 404 с кодом 12.

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

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

application/json

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

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

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

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

ID сервера.

Ответ

ID integer

ID сервера.

Name string

Название сервера.

Color string

Цвет сервера.

SmtpApiActivated boolean

Разрешена ли отправка через SMTP.

TrackOpens boolean

Отслеживаются ли открытия.

TrackLinks string

Отслеживание кликов: None, HtmlAndText, HtmlOnly или TextOnly.

DeliveryType string

Live — живой сервер, Sandbox — песочница.

InboundHash string

Уникальная часть входящего адреса.

InboundHookUrl string

URL вебхука входящих.

InboundDomain string

Домен для входящих.

InboundSpamThreshold integer

Порог спам-оценки входящих.

RawEmailEnabled boolean

Добавляется ли исходник письма в вебхук входящих.

ApiTokens array

Серверные API-ключи.

InboundAddress string

Входящий адрес сервера: письма на него попадают во входящий канал.

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

curl "https://api.haskimail.ru/servers/{serverid}" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Account-Token: account token"

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

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

{
  "ID": 11834,
  "Name": "Интернет-магазин",
  "Color": "purple",
  "SmtpApiActivated": true,
  "TrackOpens": true,
  "TrackLinks": "HtmlAndText",
  "DeliveryType": "Live",
  "InboundHash": "451d9b70cf9364d23ff6f9d51d870251",
  "InboundHookUrl": "https://example.com/inbound",
  "InboundDomain": "",
  "InboundSpamThreshold": 0,
  "RawEmailEnabled": false,
  "ApiTokens": [
    "8f3e0c7a-5b2d-4e1f-9a6c-3d7b1e0f2a94"
  ],
  "InboundAddress": "451d9b70cf9364d23ff6f9d51d870251@inbound.haskimail.ru"
}

Создание сервера #

post

/servers

Создает сервер и серверный API-ключ к нему.

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

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

application/json

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

application/json

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

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

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

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

Название сервера.

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

Цвет сервера в списке: purple, blue, turquoise, green, red, orange, yellow или grey. Регистр не важен, неизвестный цвет заменяется на purple.

SmtpApiActivated boolean

Разрешить отправку через SMTP.

TrackOpens boolean

Отслеживать открытия писем сервера.

TrackLinks string

Отслеживать клики: None, HtmlAndText, HtmlOnly или TextOnly. true и false тоже принимаются — как HtmlAndText и None.

DeliveryType string

Тип сервера: Live (по умолчанию) или Sandbox. Письма сервера-песочницы проходят все проверки и видны в статистике и вебхуках, но получателям не доставляются. После создания тип не меняется. Подробнее о песочнице.

InboundHookUrl string

URL, на который приходит POST-запрос с JSON каждого входящего письма. Пустая строка отключает вебхук. Формат данных.

InboundDomain string

Домен для приема входящих писем на любые его адреса. Сначала добавьте домену MX-запись inbound.haskimail.ru, иначе вернется ошибка 610. Пустая строка отключает домен.

InboundSpamThreshold integer

Порог спам-оценки: входящие письма с оценкой не ниже порога блокируются. От 0 до 30 с шагом 5, 0 — фильтр выключен.

RawEmailEnabled boolean

Добавлять исходник письма в поле RawEmail вебхука входящих.

Ответ

ID integer

ID сервера.

Name string

Название сервера.

Color string

Цвет сервера.

SmtpApiActivated boolean

Разрешена ли отправка через SMTP.

TrackOpens boolean

Отслеживаются ли открытия.

TrackLinks string

Отслеживание кликов: None, HtmlAndText, HtmlOnly или TextOnly.

DeliveryType string

Live — живой сервер, Sandbox — песочница.

InboundHash string

Уникальная часть входящего адреса.

InboundHookUrl string

URL вебхука входящих.

InboundDomain string

Домен для входящих.

InboundSpamThreshold integer

Порог спам-оценки входящих.

RawEmailEnabled boolean

Добавляется ли исходник письма в вебхук входящих.

ApiTokens array

Серверные API-ключи.

InboundAddress string

Входящий адрес сервера: письма на него попадают во входящий канал.

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

curl "https://api.haskimail.ru/servers" \
  -X POST \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Haskimail-Account-Token: account token" \
  -d '{
  "Name": "Интернет-магазин",
  "Color": "purple",
  "SmtpApiActivated": true,
  "TrackOpens": true,
  "TrackLinks": "HtmlAndText",
  "InboundHookUrl": "https://example.com/inbound"
}'

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

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

{
  "ID": 11834,
  "Name": "Интернет-магазин",
  "Color": "purple",
  "SmtpApiActivated": true,
  "TrackOpens": true,
  "TrackLinks": "HtmlAndText",
  "DeliveryType": "Live",
  "InboundHash": "451d9b70cf9364d23ff6f9d51d870251",
  "InboundHookUrl": "https://example.com/inbound",
  "InboundDomain": "",
  "InboundSpamThreshold": 0,
  "RawEmailEnabled": false,
  "ApiTokens": [
    "8f3e0c7a-5b2d-4e1f-9a6c-3d7b1e0f2a94"
  ],
  "InboundAddress": "451d9b70cf9364d23ff6f9d51d870251@inbound.haskimail.ru"
}

Редактирование сервера #

put

/servers/{serverid}

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

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

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

application/json

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

application/json

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

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

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

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

ID сервера.

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

Name string

Название сервера.

Color string

Цвет сервера в списке: purple, blue, turquoise, green, red, orange, yellow или grey. Регистр не важен, неизвестный цвет заменяется на purple.

SmtpApiActivated boolean

Разрешить отправку через SMTP.

TrackOpens boolean

Отслеживать открытия писем сервера.

TrackLinks string

Отслеживать клики: None, HtmlAndText, HtmlOnly или TextOnly. true и false тоже принимаются — как HtmlAndText и None.

InboundHookUrl string

URL, на который приходит POST-запрос с JSON каждого входящего письма. Пустая строка отключает вебхук. Формат данных.

InboundDomain string

Домен для приема входящих писем на любые его адреса. Сначала добавьте домену MX-запись inbound.haskimail.ru, иначе вернется ошибка 610. Пустая строка отключает домен.

InboundSpamThreshold integer

Порог спам-оценки: входящие письма с оценкой не ниже порога блокируются. От 0 до 30 с шагом 5, 0 — фильтр выключен.

RawEmailEnabled boolean

Добавлять исходник письма в поле RawEmail вебхука входящих.

Ответ

ID integer

ID сервера.

Name string

Название сервера.

Color string

Цвет сервера.

SmtpApiActivated boolean

Разрешена ли отправка через SMTP.

TrackOpens boolean

Отслеживаются ли открытия.

TrackLinks string

Отслеживание кликов: None, HtmlAndText, HtmlOnly или TextOnly.

DeliveryType string

Live — живой сервер, Sandbox — песочница.

InboundHash string

Уникальная часть входящего адреса.

InboundHookUrl string

URL вебхука входящих.

InboundDomain string

Домен для входящих.

InboundSpamThreshold integer

Порог спам-оценки входящих.

RawEmailEnabled boolean

Добавляется ли исходник письма в вебхук входящих.

ApiTokens array

Серверные API-ключи.

InboundAddress string

Входящий адрес сервера: письма на него попадают во входящий канал.

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

curl "https://api.haskimail.ru/servers/{serverid}" \
  -X PUT \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Haskimail-Account-Token: account token" \
  -d '{
  "Name": "Интернет-магазин (основной)",
  "Color": "blue",
  "TrackLinks": "None"
}'

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

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

{
  "ID": 11834,
  "Name": "Интернет-магазин (основной)",
  "Color": "blue",
  "SmtpApiActivated": true,
  "TrackOpens": true,
  "TrackLinks": "None",
  "DeliveryType": "Live",
  "InboundHash": "451d9b70cf9364d23ff6f9d51d870251",
  "InboundHookUrl": "https://example.com/inbound",
  "InboundDomain": "",
  "InboundSpamThreshold": 0,
  "RawEmailEnabled": false,
  "ApiTokens": [
    "8f3e0c7a-5b2d-4e1f-9a6c-3d7b1e0f2a94"
  ],
  "InboundAddress": "451d9b70cf9364d23ff6f9d51d870251@inbound.haskimail.ru"
}

Список серверов #

get

/servers

Возвращает серверы аккаунта.

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

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

application/json

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

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

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

count

Количество серверов в ответе. По умолчанию 50.

offset

Сколько серверов пропустить. По умолчанию 0.

Ответ

TotalCount integer

Сколько всего серверов в аккаунте — без учета count и offset.

Servers array

Серверы — поля как в «Получении информации о сервере».

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

curl "https://api.haskimail.ru/servers?count=50&offset=0" \
  -X GET \
  -H "Accept: application/json" \
  -H "X-Haskimail-Account-Token: account token"

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

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

{
  "TotalCount": 1,
  "Servers": [
    {
      "ID": 11834,
      "Name": "Интернет-магазин",
      "Color": "purple",
      "SmtpApiActivated": true,
      "TrackOpens": true,
      "TrackLinks": "HtmlAndText",
      "DeliveryType": "Live",
      "InboundHash": "451d9b70cf9364d23ff6f9d51d870251",
      "InboundHookUrl": "https://example.com/inbound",
      "InboundDomain": "",
      "InboundSpamThreshold": 0,
      "RawEmailEnabled": false,
      "ApiTokens": [
        "8f3e0c7a-5b2d-4e1f-9a6c-3d7b1e0f2a94"
      ],
      "InboundAddress": "451d9b70cf9364d23ff6f9d51d870251@inbound.haskimail.ru"
    }
  ]
}

Удаление сервера #

delete

/servers/{serverid}

Удаляет сервер вместе с правилами для входящих.

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

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

application/json

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

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

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

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

ID сервера.

Ответ

ErrorCode integer

0 — сервер удален.

Message string

Описание результата.

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

curl "https://api.haskimail.ru/servers/{serverid}" \
  -X DELETE \
  -H "Accept: application/json" \
  -H "X-Haskimail-Account-Token: account token"

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

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

{
  "ErrorCode": 0,
  "Message": "Server Интернет-магазин removed."
}