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

Отправить опрос о качестве обслуживания

Используйте этот метод для того, чтобы отправить опрос о качестве обслуживания в указанный тред или в последний закрытый тред с этим клиентом.

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

Этот метод можно использовать только, если:

  1. В системных настройках включены опросы о качестве обслуживания через внешний API.
  2. Клиент, которому вы хотите опрос, не имеет открытого треда.
  3. Для активного канала треда в таблице survey_channels включен данный опрос.

В ином случае, возвращается 409 Conflict.

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

clientId

Object

Полиморфный идентификатор треда, в который вы хотите отправить опрос

clientId.type

String

Тип идентификатора клиента. Разрешены следующие значения: internalClientId, externalClientId, threadId

clientId.id

Long/String

В зависимости от clientId.type:

1) internalClientId: Внутренний идентификатор клиента в edna (long) 2) externalClientId: Внешний идентификатор клиента в системе интегратора (string) 3) threadId: Внутренний идентификатор треда в edna (long)

qualityFromId

Long

Идентификатор опроса, который вы хотите отправить

Пример curl

$ curl 'http://localhost:8080/api/v1/quality/send' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <integrator_token>' \
-H 'X-Tenant-Name: local' \
-d '{
"clientId" : {
"type" : "internalClientId",
"id" : 1
,
"qualityFormId" : 1
'

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

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

{
"clientId" : {
"type" : "internalClientId",
"id" : 1
,
"qualityFormId" : 1

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

HTTP/1.1 200 OK
X-Request-Id: e3bbe896-7092-4845-860c-4c6f9a50c5ee
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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

Примеры неуспешных HTTP ответов

HTTP/1.1 409 Conflict
X-Request-Id: 9a8b0f3b-1b6b-437a-b9cf-f37eb9ec4869
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: 163

{
"timestamp" : "2024-12-28T11:39:19.817Z",
"method" : "POST",
"uri" : "/api/v1/quality/send",
"message" : "Sending surveys via external api is disabled"

HTTP/1.1 409 Conflict
X-Request-Id: 71c0e5b4-a8fc-4095-a47a-87f8989ce10b
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: 141

{
"timestamp" : "2024-12-28T11:39:19.833Z",
"method" : "POST",
"uri" : "/api/v1/quality/send",
"message" : "Client has open thread"

HTTP/1.1 409 Conflict
X-Request-Id: e28c3dea-0c80-4202-ae84-23e30c786bce
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: 149

{
"timestamp" : "2024-12-28T11:39:19.787Z",
"method" : "POST",
"uri" : "/api/v1/quality/send",
"message" : "Cannot send form 1 to thread 1"