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

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

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

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

login

String

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

status

String

Статус агента (READY или OUTGOING)

channelType

String

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

clientId

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

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

threadsClientId

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

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

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-from-myself' -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",
"status" : "READY"
'

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

Пример для clientId:

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

{
"text" : "message",
"attachments" : [ ],
"clientId" : "clientId",
"channelType" : "MOBILE",
"login" : "login",
"status" : "READY"

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

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

id

Long

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

HTTP/1.1 200 OK
X-Request-Id: 23a9776c-ebd7-4d36-9149-a22e357c301f
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