Используйте этот метод для того, чтобы получить все возможности фильтрации тредов. У фильтра есть одно ограничение: интервал между параметрами start
and end
не может быть дольше, чем 90 дней.
Разрешения
---- Permissions:INTEGRATOR,SUPERVISOR ----
Пример curl
$ curl 'http://localhost:8080/api/v1/threads/filter?start=2022-11- 09T09%3A00%3A02.249Z&end=2022-11- 10T09%3A00%3A02.249Z&length=600&lengthOperator=GREATER&messageCount=3&messageCountOper ator=GREATER_EQUAL&firstAnswerTime=1000&firstAnswerTimeOperator=LESS_EQUAL&states=CLOS ED_STATES&channels=1&channels=2&operators=1&operators=2&operators=3&tagIds=1&tagIds=5& page=1' -i -X GET \ -H 'Authorization: Bearer <integrator_token>'
Параметры строки запроса
Параметр | Описание |
start | Начало интервала, в который должна попасть дата создания треда. Значение по умолчанию – текущая дата минус 1 день |
end | Конец интервала, в который должна попасть дата создания треда. Значение по умолчанию – текущая дата |
length | Длительность треда в секундах. Используется вместе с параметром lengthOperator |
lengthOperator | Оператор сравнения, указанный для параметра length . Возможные опции: • LESS • GREATER • EQUAL • LESS_EQUAL • GREATER_EQUAL |
firstTimeAnswer | Количество секунд до первого ответа агента в треде. Используется вместе с параметром firstTimeAnswerOperator |
firstTimeAnswer Operator | Оператор сравнения, указанный для параметра firstTimeAnswer . Возможные опции: • LESS • GREATER • EQUAL • LESS_EQUAL • GREATER_EQUAL |
messageCount | Количество сообщений. Используется вместе с параметром messageCountOperator |
messageCount Operator | Оператор сравнения, указанный для параметра messageCount . Возможные опции: • LESS • GREATER • EQUAL • LESS_EQUAL • GREATER_EQUAL |
states | Возможные опции статуса треда. Каждая опции включает в себя несколько статусов треда: – Опция QUEUED_STATES : NEW , UNASSIGNED , SUSPENDED – Опция WORKING_STATES : ASSIGNED , ANSWER_NEEDED , WAITING , IN_PROGRESS , REASSIGNED – Опция CLOSED_STATES : CLOSED . |
channels | Список ID каналов в edna. Чтобы получить список ID существующих каналов, обратитесь в службу поддержки или проверьте таблицу channels , если {edna} размещена на вашем сервере |
emailAccounts | Список ID email аккаунтов. Если указать вместе с параметром channels , то в ответе вернется список тредов, соответствующих указанным channels , дополненный тредами, соответствующими указанным emailAccounts |
operators | Список ID агентов |
tagsIds | Список ID ваших тегов в edna. Чтобы получить список существующих тегов, обратитесь в службу поддержки или проверьте таблицу tags , если edna размещена на вашем сервере |
client | Строка, использующаяся для того, чтобы найти клиента по externalClientId , name , username , email или phone |
page | Номер страницы. По умолчанию – 1 |
direction | Направление сортировки. По умолчанию – DESC |
Пример HTTP запроса
GET /api/v1/threads/filter?start=2022-11-09T09%3A00%3A02.249Z&end=2022-11- 10T09%3A00%3A02.249Z&length=600&lengthOperator=GREATER&messageCount=3&messageCountOper ator=GREATER_EQUAL&firstAnswerTime=1000&firstAnswerTimeOperator=LESS_EQUAL&states=CLOS ED_STATES&channels=1&channels=2&operators=1&operators=2&operators=3&tagIds=1&tagIds=5& page=1 HTTP/1.1 Authorization: Bearer <integrator_token> Host: localhost:8080
Пример HTTP ответа
HTTP/1.1 200 OK Vary: Origin Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json Content-Length: 2516 { "count": 5, "pages": 1, "threads": [ { "id": 1, "startTime": "2022-11-09T22:00:00.000Z", "clientId": 1, "clientName": "client name", "clientPhone": "8-900-800-7060", "externalClientId": "111", "blocked": false, "operator": { "id": 1, "name": "operator name", "role": "OPERATOR", "photoUrl": null }, "channel": "WEB", "initialChannel": null, "state": "IN_PROGRESS", "tags": [], "questionAnswer": null, "blockRequested": false }, { "id": 2, "startTime": "2022-11-09T22:00:00.000Z", "clientId": 1, "clientName": "client name", "clientPhone": "8-900-800-7060", "externalClientId": "111", "blocked": false, "operator": { "id": 1, "name": "operator name", "role": "OPERATOR", "photoUrl": null }, "channel": "WEB", "initialChannel": null, "state": "WAITING", "tags": [], "questionAnswer": null, "blockRequested": false }, { "id": 3, "startTime": "2022-11-09T22:00:00.000Z", "clientId": 2, "clientName": "client name 2", "clientPhone": "8-900-800-7061", "externalClientId": "222", "blocked": false, "operator": { "id": 2, "name": "operator name 2", "role": "OPERATOR", "photoUrl": null }, "channel": "MOBILE", "initialChannel": null, "state": "REASSIGNED", "tags": [], "questionAnswer": null, "blockRequested": true }, { "id": 4, "startTime": "2022-11-09T22:00:00.000Z", "clientId": 2, "clientName": "client name 2", "clientPhone": "8-900-800-7061", "externalClientId": "222", "blocked": false, "operator": { "id": 2, "name": "operator name 2", "role": "OPERATOR", "photoUrl": null }, "channel": "MOBILE", "initialChannel": null, "state": "ANSWER_NEEDED", "tags": [], "questionAnswer": null, "blockRequested": true }, { "id": 5, "startTime": "2022-11-09T22:00:00.000Z", "clientId": 3, "clientName": null, "clientPhone": null, "externalClientId": "3", "blocked": true, "operator": { "id": 2, "name": "operator name 2", "role": "OPERATOR", "photoUrl": null }, "channel": "MOBILE", "initialChannel": null, "state": "WAITING", "tags": [], "questionAnswer": null, "blockRequested": false } ] }
Поля тела ответа
Параметр | Тип | Описание |
count | long | Количество найденных тредов |
page | long | Номер страницы |
threads | array of objects | Список найденных тредов |
threads[].id | long | Идентификатор треда |
threads[].startTime | date | Дата начала треда (когда было получено первое сообщение от клиента) |
threads[].clientId | long | Внутренний идентификатор клиента в {edna} к которому привязан тред |
threads[].clientName | string | Имя клиента к которому привязан найденный тред |
threads[].clientPhone | string | Телефонный номер клиента |
threads[].externalClientId | string | Внешний идентификатор клиента во внешней системе |
threads[].blocked | boolean | Параметр, указывающий заблокирован ли клиент |
threads[].operator | object | Объект, описывающий оператора, на которого назначен найденный тред |
threads[].operator.id | long | Внутренний идентификатор пользователя в {edna} |
threads[].operator.name | string | Имя пользователя |
threads[].operator.role | string | Роль пользователя |
threads[].operator.photoUrl | string | Ссылка на аватар пользователя |
threads[].channel | string | Имя канала к которому принадлежит найденный тред. Определяется по последнему сообщению в треде |
threads[].initialChannel | string | Имя канала через который пришло первое сообщение в треде |
threads[].state | string | Состояние найденного треда |
threads[].tags | array of objects | Список тегов, назначенных треду |
threads[].tags[].id | long | Внутренний идентификатор тега в {edna} |
threads[].tags[].name | string | Имя тега |
threads[].tags[].assignDate | date | Дата и время присвоения тега треду |
threads[].tags[].parentTag | object | Объект, описывающий родительский тег |
threads[].questionAnswer | list of objects | Список объектов, описывающих ответы на вопросы о качестве обслуживания |
threads[].questionAnswer[].id | long | Идентификатор ответа на вопрос о качестве обслуживания |
threads[].questionAnswer[].rate | string | Числовая оценка качества обслуживания |
threads[].questionAnswer[] .useInKPI | boolean | Параметр, указывающий на использование данной оценки при расчете показателя KPI оператора |
threads[].questionAnswer[] .changedByUser | object | Объект, описывающий пользователя, которым был переключен параметр useInKPI |
threads[].questionAnswer[] .question | object | Объект, описывающий вопрос о качестве обслуживания |
threads[].questionAnswer[] .qualityFormSendingId | long | Идентификатор объекта, опиывающего отправку вопроса о качестве обслуживания |
threads[].blockRequested | boolean | Параметр, указывающий запрошена ли блокировка клиента |