Создать новый тред с сообщением из рассылки с пересылкой клиенту
Метод предназначен для передачи массовых коммуникаций в edna Chat Center. С его помощью внешняя система может создавать рассылочные треды с клиентами, сохранять сообщения с поддержкой Markdown, передавать вложения и задавать параметры роутинга для маршрутизации треда при ответе клиента на рассылку.
----
Permissions:INTEGRATION
----
Пример curl
$ curl 'http://localhost:8080/api/v1/distributions-relay' -i -X POST \
-H 'Content-Type: application/json' \
-H 'X-Tenant-Name: local' \
-d '{
"messages" : [
{
"client" : {
"extId" : "client-uuid-12345"
},
"routing" : {
"skillId" : 42,
"priority" : 1,
"expiredAt" : "2026-02-03T12:00:00Z"
},
"text" : "Здравствуйте!",
"formattedText" : "**Здравствуйте!**",
"campaignName" : "campaign-name",
"chatMessageId" : "msg-unique-122",
"channel" : {
"channelType" : "MOBILE",
"appMarker" : "appMarker"
},
"attributes" : {
"botNotificationExpiredAt" : "2026-02-02T12:00:00Z"
},
"attachments" : [
{
"url" : "https://example.com/receipt.pdf",
"name" : "receipt.pdf"
}
]
},
{
"client" : {
"extId" : "client-uuid-54321"
},
"routing" : {
"skillId" : 42,
"priority" : 1,
"expiredAt" : "2026-02-03T12:00:00Z"
},
"text" : "Здравствуйте!",
"formattedText" : "**Здравствуйте!**",
"campaignName" : "campaign-name",
"chatMessageId" : "msg-unique-221",
"channel" : {
"channelType" : "MOBILE",
"appMarker" : "appMarker"
},
"attributes" : {
"botNotificationExpiredAt" : "2026-02-02T12:00:00Z"
}
}
]
}'
Параметры тела запроса
| Путь к полю | Тип | Характер | Описание |
|---|---|---|---|
messages | list of objects | Обязательный | Список сообщений для рассылки. |
messages.client.extId | string | Обязательный | Внешний ID клиента . |
messages.routing | object | Обязательный | Настройки роутинга. |
messages.routing.skillId | number | Обязательный | ID навыка. |
messages.routing.priority | number | Обязательный | Приоритетность в очереди распределения относительно других тредов. Значение по умолчанию: 100. |
messages.routing.expiredAt | date | Обязательный | Дата истечения срока действия параметров маршрутизации. |
messages.text | string | Обязательный | Текст сообщения. |
messages.formattedText | string | Необязательный | Форматированный текст. |
messages.campaignName | string | Обязательный | Название кампании. |
messages.chatMessageId | string | Обязательный | Уникальный внешний ID сообщения. |
messages.channel | object | Необязательный | Настройки канала. |
messages.channel.channelType | string | Обязательный при наличии messages.channel | Тип канала. |
messages.channel.appMarker | string | Необязательный | Маркер приложения. |
messages.attributes | object | Необязательный | Дополнительные атрибуты. |
messages.attributes.botNotificationExpiredAt | date | Необязательный | Тайм-аут откладывания приветствия ботом. |
messages.attachments | list of objects | Необязательный | Список вложений. |
messages.attachments.url | string | Обязательный при наличии messages.attachments | Ссылка на вложение. |
messages.attachments.name | string | Обязательный при наличии messages.attachments | Имя файла. |
Пример HTTP запроса
POST /api/v1/distributions-relay HTTP/1.1
Content-Type: application/json
X-Tenant-Name: local
Content-Length: 1188
Host: localhost:8080
{
"messages" : [
{
"client" : {
"extId" : "client-uuid-12345"
},
"routing" : {
"skillId" : 42,
"priority" : 1,
"expiredAt" : "2026-02-03T12:00:00Z"
},
"text" : "Здравствуйте!",
"formattedText" : "**Здравствуйте!**",
"campaignName" : "campaign-name",
"chatMessageId" : "msg-unique-122",
"channel" : {
"channelType" : "MOBILE",
"appMarker" : "appMarker"
},
"attributes" : {
"botNotificationExpiredAt" : "2026-02-02T12:00:00Z"
},
"attachments" : [
{
"url" : "https://example.com/receipt.pdf",
"name" : "receipt.pdf"
}
]
},
{
"client" : {
"extId" : "client-uuid-54321"
},
"routing" : {
"skillId" : 42,
"priority" : 1,
"expiredAt" : "2026-02-03T12:00:00Z"
},
"text" : "Здравствуйте!",
"formattedText" : "**Здравствуйте!**",
"campaignName" : "campaign-name",
"chatMessageId" : "msg-unique-221",
"channel" : {
"channelType" : "MOBILE",
"appMarker" : "appMarker"
},
"attributes" : {
"botNotificationExpiredAt" : "2026-02-02T12:00:00Z"
}
}
]
}
Пример HTTP ответа
HTTP/1.1 202 Accepted
X-Request-Id: 156fb33b-5b46-43fc-a21a-9d9ca49b19d9
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 111
[
{
"id" : "msg-unique-122",
"status" : "ACCEPTED"
},
{
"id" : "msg-unique-221",
"status" : "ERROR"
}
]