Перейти к основному содержимому

Отправить сообщение от агента существующему клиенту в edna в очередь маршрутизации

Обновлено: 22 июля 2026

Метод отправляет исходящее сообщение от имени указанного в запросе агента — при этом тред не закрывается, а попадает в очередь на агентов, навыки или подразделения, указанные в запросе.

Чтобы отправить сообщение существующему клиенту, необходимо указать clientId или threadsClientId. В случае одновременной передачи threadsClientId и clientId поиск клиента будет осуществлен по более приоритетному threadsClientId.

    ----
Permissions:INTEGRATOR,OPERATOR,SUPERVISOR
----

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

ПараметрТипОписание
loginStringЛогин агента, от чьего имени будет отправлено сообщение
modeStringРежим маршрутизации для треда. Возможные значения: TO_FREE_SLOT, TO_READY_OPERATOR и TO_ROUTING. Значение по умолчанию - TO_ROUTING.
clientIdString (необязательно)Внешний идентификатор клиента. Если не указан, то threadsClientId должен быть заполнен
threadsClientIdLong (необязательно)Внутренний идентификатор клиента в edna. Если не указан, то clientId должен быть заполнен
userIdsList of longsСписок идентификаторов агентов, которым можно назначить тред в процессе маршрутизации
loginsList of stringsСписок логинов агентов, которым можно назначить тред в процессе маршрутизации
skillIdsList of longsСписок навыков, необходимых агентов, на которых можно назначить тред в процессе маршрутизации
unitIdsList of longsСписок необходимых отделов, агентам которых можно назначить тред в процессе маршрутизации
priorityLongПриоритет треда в очереди распределения — чем меньше значение, тем выше приоритет.
- Значения < 100 назначают тред раньше входящих из сегментов.
- Значения ≥ 110 помещают тред на уровень сегментов. Допускается присваивать параметру значение приоритета сегмента или промежуточное значение между приоритетами соседних сегментов — тред встанет в очередь между этими сегментами.
к сведению
По умолчанию приоритет треда равен 100.
Для определения значений приоритета используется метод GET /api/v1/segments File IconКак получить список сегментов с приоритетами
commentString (необязательно)Комментарий в свободной форме, максимум 220 символов
channelTypeStringТип канала клиента, которому вы хотите отправить сообщение (по умолчанию MOBILE)
appMarkerString (необязательно)appMarker приложения клиента
textString (необязательно)Текст сообщения. Максимальная длина 2000 символов. Если не указан, то attachments должен быть заполнен
attachmentsList of objects (необязательно)Список вложений сообщения. Если не указан, то text должен быть заполнен

Пример объекта вложения:

warning

Для того, чтобы файл верно отображался клиенту, название изображения должно содержать расширение файла, либо же должен быть указан тип файла (например, image/jpg).

  "attachments": [
{
"url": "http://...",
"name": "test.jpg",
"type": "image/jpeg",
"size": 256
}
],
...
ПараметрТипОписание

url

String

URL файла, строка до 4000 символов

name

String

Название файла, строка до 1000 символов

type

String

MIME-тип файла, строка до 256 символов

size

Integer

Размер файла в байтах

Пример curl

$ curl 'http://localhost:8080/api/v1/messages/outgoing-to-queue' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <integrator_token>' \
-H 'X-Tenant-Name: local' \
-d '{
"text" : "message",
"attachments" : [ ],
"clientId" : "clientId",
"channelType" : "MOBILE",
"login" : "login",
"mode" : "TO_ROUTING",
"logins" : [ "login" ],
"priority" : 100
'

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

Пример для clientId:

POST /api/v1/messages/outgoing-to-queue HTTP/1.1
Content-Type: application/json
Authorization: Bearer <integrator_token>
X-Tenant-Name: local
Content-Length: 194
Host: localhost:8080

{
"text" : "message",
"attachments" : [ ],
"clientId" : "clientId",
"channelType" : "MOBILE",
"login" : "login",
"mode" : "TO_ROUTING",
"logins" : [ "login" ],
"priority" : 100
}

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

Поля тела ответа
ПараметрТипОписание

id

Long

Уникальный идентификатор треда в edna

HTTP/1.1 200 OK
X-Request-Id: add23a05-99c5-4927-9a22-b57f8ef8c95a
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: 14

{
"id" : 2
}