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

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

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

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

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

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

clientId

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

Внешний идентификатор клиента

threadsClientId

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

Внутренний идентификатор клиента в edna

threadId

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

Идентификатор треда, который требуется для определения клиента, которому вы хотите отправить сообщение

text

String

Текст сообщения

attachments

List of objects (необязательно)

Список вложений сообщения

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

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' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <integrator_token>' \
-H 'X-Tenant-Name: local' \
-d '{
"text" : "message",
"attachments" : [ ],
"clientId" : "clientId"
'

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

Пример для clientId

POST /api/v1/messages/outgoing HTTP/1.1
Content-Type: application/json
Authorization: Bearer <integrator_token>
X-Tenant-Name: local
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>
X-Tenant-Name: local
Content-Length: 98
Host: localhost:8080

{
"text" : "message",
"attachments" : [ ],
"clientId" : "client1",
"threadsClientId" : 1

Пример для threadId

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

{
"text" : "message",
"clientId" : "client1",
"threadId" : 1

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

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

id

Long

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

threadId

Long

Уникальный идентификатора нового треда в edna для отправленного сообщения

clientId

Long

Уникальный идентификатор клиента, которому было отправлено сообщение

clientExternalId

String

Уникальный внешний идентификатор клиента, которому было отправлено сообщение

agentId

Long

Уникальный идентификатор агента, отправившего сообщение

HTTP/1.1 200 OK
X-Request-Id: 46631bc5-1632-4734-989a-bcbd4a58abab
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: 102

{
"id" : 1,
"threadId" : 2,
"clientId" : 1,
"clientExternalId" : "clientId",
"agentId" : 3