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

Чтобы отправить сообщение существующему клиенту, необходимо указать значение одного из следующих параметров: clientIdthreadsClientId или threadId.

Три типа ответов в порядке приоритетности:

  1. По threadsClientId: Это внутренний идентификатор клиента, применимо и для авторизованных, и для неавторизованных клиентов.
  2. По clientId : Это внешний идентификатор клиента. Чаще используется для авторизованных клиентов; не имеет привязки к конкретному треду.
  3. По threadId: Это идентификатор треда, по которому вы можете идентифицировать клиента и отправить ему сообщение.

Разрешения

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

Пример curl

$ curl 'http://localhost:8080/api/v1/messages/outgoing' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <integrator_token>' \
    -d '{
  "text" : "message",
  "attachments" : [ ],
  "clientId" : "clientId"
}'

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

  • clientId:
POST /api/v1/messages/outgoing HTTP/1.1
Content-Type: application/json
Authorization: Bearer <integrator_token>
Content-Length: 74
Host: localhost: 8080
{
    "text": "message",
    "attachments": [],
    "clientId": "clientId"
}
  • threadsClientId:
POST /api/v1/messages/outgoing HTTP/1.1
Content-Type: application/json
Authorization: Bearer <integrator_token>
Content-Length: 72
Host: localhost: 8080
{
    "text": "message",
    "attachments": [],
    "threadsClientId": 1
}
  • threadId:
POST /api/v1/messages/outgoing HTTP/1.1
Content-Type: application/json
Authorization: Bearer <integrator_token>
Content-Length: 42
Host: localhost: 8080
{
    "text": "message",
    "threadId": 1
}

Поля тела запроса

ПараметрТипОписание
clientIdstring (необязательно)Внешний ID клиента
threadsClientIdlong (необязательно)Внутренний ID клиента в edna Chat Center
threadIdlong (необязательно)ID треда, который требуется для определения клиента, которому вы хотите отправить сообщение
textstringТекст сообщения
attachmentslist<attachmentDTO>Список вложений сообщения

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

Для того, чтобы файл верно отображался клиенту, название изображения должно содержать расширение файла, либо же должен быть указан тип файла (например, image/jpg).
"attachments": [
    {
        "url": "http://...",
        "name": "test.jpg",
        "type": "image/jpeg",
        "size": 256
    }
],
...
ПараметрТипОписание
urlstringURL файла, строка до 4000 символов
namestringНазвание файла, строка до 1000 символов
typestringMIME-тип файла, строка до 256 символов
sizeintegerРазмер файла в байтах

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

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 108
{
    "id": 1,
    "threadId": 2,
    "clientId": 1,
    "clientExternalId": "clientId",
    "agentId": 3
}

Поля тела ответа

ПараметрТипОписание
idlongУникальный идентификатор сообщения в edna Chat Center
threadIdlongУникальный идентификатора нового треда в edna Chat Center для отправленного сообщения
clientIdlongУникальный идентификатор клиента, которому было отправлено сообщение
clientExternalIdstringУникальный внешний идентификатор клиента, которому было отправлено сообщение
agentIdlongУникальный идентификатор агента, отправившего сообщение