Обзор

Интеграции

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

Справочник API

Вебхуки

API Каналов

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

Список каналов #

get

/message-streams

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

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

application/json

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

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

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

curl "https://api.haskimail.ru/message-streams?MessageStreamType=all&IncludeArchivedStreams=true" \
 -X GET \
 -H "Accept: application/json" \
 -H "X-Haskimail-Server-Token: server token"

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

MessageStreamType

Фильтрует каналы по типу. Возможные значения: All Transactional Broadcasts. Defaults to All.

IncludeArchivedStreams

Логический фильтр для включения архивных каналов в список. По умолчанию: False.

Ответ

MessageStreams array

Список каналов на сервере.

ID string

ID канала.

ServerID integer

ID сервера, с которым связан канал.

Name string

Название канала.

MessageStreamType string

Тип канала. Возможные значения: Broadcasts Transactional

ArchivedAt string

Временная метка архивации канала. Это значение может быть null.

TotalCount integer

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

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

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

{
	"MessageStreams": [{
			"ID": "broadcasts",
			"ServerID": 123457,
			"Name": "Broadcast Stream",
			
			"MessageStreamType": "Broadcasts",
			
			"ArchivedAt": "2020-07-03T00:00:00-04:00",
			
		},
		{
			"ID": "outbound",
			"ServerID": 123457,
			"Name": "Transactional Stream",
			
			"MessageStreamType": "Transactional",
			
			"ArchivedAt": null,
			
		},
		{
			"ID": "Transactional",
			"ServerID": 123457,
			"Name": "Transactional Stream",
			
			"MessageStreamType": "Transactional",
			
			"ArchivedAt": null,
			
		},
		{
			"ID": "transactional-dev",
			"ServerID": 123457,
			"Name": "My Dev Transactional Stream",
			
			"MessageStreamType": "Transactional",
			
			"ArchivedAt": null,
			
		}
	],
	"TotalCount": 4
}

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

get

/message-streams/{stream_ID}

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

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

application/json

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

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

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

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

Ответ

ID string

ID канала.

ServerID integer

ID сервера, с которым связан канал.

Name string

Название канала.

MessageStreamType string

Тип канала. Возможные значения: Broadcasts Transactional

ArchivedAt string

Временная метка архивации канала. Это значение может быть null.

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

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

{
	"ID": "broadcasts",
	"ServerID": 123456,
	"Name": "Broadcast Stream",
	
	"MessageStreamType": "Broadcasts",
	
	"ArchivedAt": null,
	
}

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

patch

/message-streams/{stream_ID}

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

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

application/json

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

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

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

curl -L -X PATCH "https://api.haskimail.ru/message-streams/{stream_ID}" \
 -H "Content-Type: application/json" \
 -H "X-Haskimail-Server-Token: server token" \
 -d '{
  "Name": "Updated Dev Stream"
}'

Формат тела запроса

Name string

Название канала.

Формат тела запроса

{
 "Name": "Updated Dev Stream" 
}

Ответ

ID string

ID канала.

ServerID integer

ID сервера, с которым связан канал.

Name string

Название канала.

MessageStreamType string

Тип канала. Возможные значения: Broadcasts Transactional

ArchivedAt string

Временная метка архивации канала. Это значение может быть null.

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

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

{
	"ID": "transactional-dev",
	"ServerID": 123457,
	"Name": "Updated Dev Stream",
	
	"MessageStreamType": "Transactional",
	
	"ArchivedAt": null,
	
}

Создание канала #

post

/message-streams

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

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

application/json

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

application/json

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

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

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

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": "transactional-dev",
  "Name": "My Dev Transactional Stream",
  "MessageStreamType": "Transactional"
}'

Формат тела запроса

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

Идентификатор сервера, к которому привязан канал.

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

Название канала.

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

Тип создаваемого канала. Возможные значения: Broadcasts Transasctional

Формат тела запроса

{
	"ID": "transactional-dev",
	"Name": "My Dev Transactional Stream",
	
	"MessageStreamType": "Transactional",
	
}

Ответ

ID string

ID канала.

ServerID integer

ID сервера, с которым связан канал.

Name string

Название канала.

MessageStreamType string

Тип канала. Возможные значения: Broadcasts Transactional

ArchivedAt string

Временная метка архивации канала. Это значение может быть null.

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

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

{
	"ID": "transactional-dev",
	"ServerID": 123457,
	"Name": "My Dev Transactional Stream",
	
	"MessageStreamType": "Transactional",
	
	"ArchivedAt": "2020-07-02T00:00:00-04:00",
	
}

Архивация канала #

post

/message-streams/{stream_ID}/archive

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

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

Set to 0

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

application/json

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

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

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

curl "https://api.haskimail.ru/message-streams/{stream_ID}/archive" \
 -X POST \
 -H "Content-Length: 0" \
 -H "Accept: application/json" \
 -H "X-Haskimail-Server-Token: server token"

Ответ

ID string

ID канала.

ServerID string

ID сервера, с которым связан канал.

ExpectedPurgeDate string

Канал будет удален через 45 дней после даты архивации. До этой даты его можно восстановить.

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

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

{
	"ID": "transactional-dev",
	"ServerID": 123457,
	"ExpectedPurgeDate": "2020-08-30T12:30:00.00-04:00"
}

Разархивация канала #

post

/message-streams/{stream_ID}/unarchive

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

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

Set to 0

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

application/json

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

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

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

curl "https://api.haskimail.ru/message-streams/{stream_ID}/unarchive" \
 -X POST \
 -H "Content-Length: 0" \
 -H "Accept: application/json" \
 -H "X-Haskimail-Server-Token: server token"

Ответ

ID string

ID канала.

ServerID integer

ID сервера, с которым связан канал.

Name string

Название канала.

MessageStreamType string

Тип канала. Возможные значения: Inbound Broadcasts Transactional

ArchivedAt string

Временная метка архивации канала. Это значение может быть null.

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

{
	"ID": "transactional-dev",
	"ServerID": 123457,
	"Name": "Updated Dev Stream",
	
	"MessageStreamType": "Transactional",
	
	"ArchivedAt": null,
	
}