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

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

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

    ----
Permissions:INTEGRATOR,OPERATOR,SUPERVISOR
----
Поля тела запроса
ПараметрТипОписание

login

String

Логин агента, от чьего имени будет отправлено сообщение

mode

String

Режим маршрутизации для треда. Возможные значения: TO_FREE_SLOT, TO_READY_OPERATOR и TO_ROUTING. Значение по умолчанию - TO_ROUTING.

clientId

String (необязательно)

Внешний идентификатор клиента. Если не указан, то threadsClientId должен быть заполнен

threadsClientId

Long (необязательно)

Внутренний идентификатор клиента в edna. Если не указан, то clientId должен быть заполнен

userIds

List of longs

Список идентификаторов агентов, которым можно назначить тред в процессе маршрутизации

logins

List of strings

Список логинов агентов, которым можно назначить тред в процессе маршрутизации

skillIds

List of longs

Список навыков, необходимых агентов, на которых можно назначить тред в процессе маршрутизации

unitIds

List of longs

Список необходимых отделов, агентам которых можно назначить тред в процессе маршрутизации

priority

Long

Приоритет треда в очереди распределения. Треды с более низкими значениями приоритета будут назначены первыми (по умолчанию 100).

comment

String (необязательно)

Комментарий в свободной форме, максимум 220 символов

channelType

String

Тип канала клиента, которому вы хотите отправить сообщение (по умолчанию MOBILE)

appMarker

String (необязательно)

appMarker приложения клиента

text

String (необязательно)

Текст сообщения. Максимальная длина 2000 символов. Если не указан, то attachments должен быть заполнен

attachments

List 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