Каналы разделяют письма сервера по назначению: транзакционные (transactional) и массовые (broadcasts). Еще у каждого сервера есть один входящий канал (inbound) — он создается автоматически. ID канала передают в поле MessageStream при отправке и в фильтрах API. Серверный ключ работает только с каналами своего сервера: чужой канал для него не найден (код 1226).
Возвращает каналы сервера ключа, включая архивные; с ключом аккаунта — каналы всех серверов.
| Accept | обязательный application/json |
|---|---|
| X-Haskimail-Server-Token | обязательный Серверный API-ключ. Он есть в настройках сервера на вкладке «API-ключи». |
| TotalCount | integer |
Количество каналов. |
|---|---|---|
| MessageStreams | array |
Каналы. |
| MessageStreams[].ID | string |
ID канала. Его передают в MessageStream при отправке. |
| MessageStreams[].ServerID | integer |
ID сервера, к которому относится канал. |
| MessageStreams[].Name | string |
Название канала. |
| MessageStreams[].MessageStreamType | string |
Тип канала: |
| MessageStreams[].ArchivedAt | string|null |
Время архивации, |
curl "https://api.haskimail.ru/message-streams" \
-X GET \
-H "Accept: application/json" \
-H "X-Haskimail-Server-Token: server token"
HTTP/1.1 200 OK
Content-Type: application/json
{
"TotalCount": 3,
"MessageStreams": [
{
"ID": "2081",
"ServerID": 11834,
"Name": "Заказы",
"MessageStreamType": "transactional",
"ArchivedAt": null
},
{
"ID": "2082",
"ServerID": 11834,
"Name": "Новости",
"MessageStreamType": "broadcasts",
"ArchivedAt": null
},
{
"ID": "2083",
"ServerID": 11834,
"Name": "Входящие",
"MessageStreamType": "inbound",
"ArchivedAt": null
}
]
}
Возвращает один канал. Если канала нет — ответ 404 с кодом 1226.
| Accept | обязательный application/json |
|---|---|
| X-Haskimail-Server-Token | обязательный Серверный API-ключ. Он есть в настройках сервера на вкладке «API-ключи». |
| streamid | обязательный ID канала. |
|---|
| ID | string |
ID канала. Его передают в MessageStream при отправке. |
|---|---|---|
| ServerID | integer |
ID сервера, к которому относится канал. |
| Name | string |
Название канала. |
| MessageStreamType | string |
Тип канала: |
| ArchivedAt | string|null |
Время архивации, |
curl "https://api.haskimail.ru/message-streams/{streamid}" \
-X GET \
-H "Accept: application/json" \
-H "X-Haskimail-Server-Token: server token"
HTTP/1.1 200 OK
Content-Type: application/json
{
"ID": "2081",
"ServerID": 11834,
"Name": "Заказы",
"MessageStreamType": "transactional",
"ArchivedAt": null
}
Меняет название канала. Тип канала и сервер не меняются.
| Accept | обязательный application/json |
|---|---|
| Content-Type | обязательный application/json |
| X-Haskimail-Server-Token | обязательный Серверный API-ключ. Он есть в настройках сервера на вкладке «API-ключи». |
| streamid | обязательный ID канала. |
|---|
| Name | string | обязательный Новое название канала. |
|---|
| ID | string |
ID канала. Его передают в MessageStream при отправке. |
|---|---|---|
| ServerID | integer |
ID сервера, к которому относится канал. |
| Name | string |
Название канала. |
| MessageStreamType | string |
Тип канала: |
| ArchivedAt | string|null |
Время архивации, |
curl "https://api.haskimail.ru/message-streams/{streamid}" \
-X PATCH \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Haskimail-Server-Token: server token" \
-d '{
"Name": "Заказы и оплаты"
}'
HTTP/1.1 200 OK
Content-Type: application/json
{
"ID": "2081",
"ServerID": 11834,
"Name": "Заказы и оплаты",
"MessageStreamType": "transactional",
"ArchivedAt": null
}
Создает канал на сервере. ID канала присваивается автоматически и приходит в ответе. Входящий канал создать нельзя: он у сервера один и появляется сам.
| Accept | обязательный application/json |
|---|---|
| Content-Type | обязательный application/json |
| X-Haskimail-Server-Token | обязательный Серверный API-ключ. Он есть в настройках сервера на вкладке «API-ключи». |
| ServerID | integer |
ID сервера, на котором создается канал. С серверным ключом можно не указывать — канал создается на сервере ключа; с ключом аккаунта обязателен. |
|---|---|---|
| Name | string | обязательный Название канала. |
| MessageStreamType | string | обязательный Тип канала: |
| ID | string |
ID канала. Его передают в MessageStream при отправке. |
|---|---|---|
| ServerID | integer |
ID сервера, к которому относится канал. |
| Name | string |
Название канала. |
| MessageStreamType | string |
Тип канала: |
| ArchivedAt | string|null |
Время архивации, |
curl "https://api.haskimail.ru/message-streams" \
-X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Haskimail-Server-Token: server token" \
-d '{
"ServerID": 11834,
"Name": "Заказы",
"MessageStreamType": "Transactional"
}'
HTTP/1.1 200 OK
Content-Type: application/json
{
"ID": "2081",
"ServerID": 11834,
"Name": "Заказы",
"MessageStreamType": "transactional",
"ArchivedAt": null
}
Отправляет канал в архив. Через 45 дней архивный канал удаляется; до этого его можно вернуть разархивацией. Входящий канал архивировать нельзя (код 1229).
Через архивный канал письма не отправляются: API отвечает ошибкой 1226, SMTP-реквизиты канала перестают работать.
| Accept | обязательный application/json |
|---|---|
| X-Haskimail-Server-Token | обязательный Серверный API-ключ. Он есть в настройках сервера на вкладке «API-ключи». |
| streamid | обязательный ID канала. |
|---|
| ID | string |
ID канала. |
|---|---|---|
| ServerID | integer |
ID сервера. |
| ArchivedAt | string |
Время архивации, |
| ExpectedPurgeDate | string |
Когда канал будет удален — через 45 дней после архивации. |
curl "https://api.haskimail.ru/message-streams/{streamid}/archive" \
-X POST \
-H "Accept: application/json" \
-H "X-Haskimail-Server-Token: server token"
HTTP/1.1 200 OK
Content-Type: application/json
{
"ID": "2081",
"ServerID": 11834,
"ArchivedAt": "2026-10-07 15:00:00",
"ExpectedPurgeDate": "2026-11-21 15:00:00"
}
Возвращает канал из архива.
| Accept | обязательный application/json |
|---|---|
| X-Haskimail-Server-Token | обязательный Серверный API-ключ. Он есть в настройках сервера на вкладке «API-ключи». |
| streamid | обязательный ID канала. |
|---|
| ID | string |
ID канала. Его передают в MessageStream при отправке. |
|---|---|---|
| ServerID | integer |
ID сервера, к которому относится канал. |
| Name | string |
Название канала. |
| MessageStreamType | string |
Тип канала: |
| ArchivedAt | string|null |
Время архивации, |
curl "https://api.haskimail.ru/message-streams/{streamid}/unarchive" \
-X POST \
-H "Accept: application/json" \
-H "X-Haskimail-Server-Token: server token"
HTTP/1.1 200 OK
Content-Type: application/json
{
"ID": "2081",
"ServerID": 11834,
"Name": "Заказы",
"MessageStreamType": "transactional",
"ArchivedAt": null
}