Отправить сообщение существующему клиенту в 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Уникальный идентификатор агента, отправившего сообщение
Типы сообщений, которые можно отправить клиентам
Cледующая статья Отправить сообщение на email клиента