Отчеты чат-центра
Содержание
Путь расположения
Путь в сборочном каталоге | Назначение |
---|---|
|
|
|
Обзор
Декларативная структура для построения ответа на запрос мониторинга оперативных данных чат-центра (функциональной роли sess) для API /api/ssqmanager/v1/monitor
.
Декларация ответа
Шаблон ответа на API запрос статистических данных sessionmanager, имеющий в структуре ссылки на запросы и дескрипторы параметров для этих запросов.
Пример
Пример
{ "get_completed_tasks": { "hunt_sessions_base": { "sql": "gct__get_hunts_sessions_base.sql", "template_params": [ { "name": "template_abon", "template": "and ce.abon_id=@abon", "default": "<empty_template>" }, {"name": "template_hunts", "template": "and strt.hunt in @hunts"}, {"name": "template_opers", "template": "and strt.oper in @opers"}, {"name": "template_types", "template": "and ce.sess_type in @types"}, {"name": "template_states", "template": "and st.state in @states"} ], "params": [ {"name": "count", "required": false, "default": 30, "type": "integer"}, {"name": "from", "required": false, "default": 0, "type": "integer"}, {"name": "order", "required": false, "default": "asc", "type": "unescaped"}, { "name": "filter", "type": "params", "params": [ {"name": "abons", "required": false}, {"name": "hunts", "required": false}, {"name": "opers", "required": false}, { "name": "datefrom", "required": false, "default": "toDateTime(today())", "type_of_default": "unescaped" }, { "name": "dateto", "required": false, "default": "toDateTime(today()+1)", "type_of_default": "unescaped" }, {"name": "types", "required": false}, {"name": "states", "required": false} ] } ] } }, "get_task_details": { "task": { "sql": "gtd__get_task_details_base.sql", "params": [{"name": "sess_id"}] }, "task_queuetime": { "sql": "gtd__get_task_queuetime.sql", "params": [{"name": "sess_id"}] }, "task_abon_oper_times": { "sql": "gtd__get_task_abontime_opertime.sql", "params": [{"name": "sess_id"}] }, "task_timeline": { "sql": "gtd__get_task_timeline.sql", "params": [{"name": "sess_id"}] } } }
Запросы к БД
Запросы к локальному хранилищу сlickhouse функциональной роли sessionmanager, сохраняющему данные по его событиям. Запросы в своем теле могут содержать placeholder, подставляемые из вышестоящего дескриптора.
Пример
Файл gtd__get_task_queuetime.sql
Пример:
select ce.sess_id as sess_id, sq.hunt_id as hunt_id, sq.hets - ce.eventts as queuetime from @db_name.chatevents as ce join ( select sess_id as sid1, hunt_id, eventts as hets from @db_name.chatevents where event_type='sess_dlg_start' and sess_id=@sess_id ) as sq on ce.sess_id=sid1 where event_type='sess_init' and sess_id=@sess_id order by eventts limit 1 format JSON
См. также
-
Функциональная роль sess