Хуки (Оффлайн очередь)

1. Описание

Предназначена для добавления хуков в очередь. Хуки используются при интеграции, если на какое-то событие со стороны Webitel необходимо отправлять данные в другую систему.

Состоит из таких элементов:

  1. Инструмент добавления (Рис.1 (1));
  2. Инструмент обновления списка реестра (Рис.1 (2));
  3. Реестр записей (Рис.1 (3));
  4. Пагинация (Рис.1 (4)).

Рис. 1. Страница детали "Хуки"

1.1. Инструмент добавления

Для добавления нового хука необходимо нажать кнопку добавления - . После нажатия кнопки добавления открывается модальное окно "Добавить хук" (Рис. 2), которое состоит из полей "События" и "Схема", а также кнопок "Сохранить" и "Закрыть".

Модальное окно Добавить хук.png

Рис. 2. Модальное окно "Добавить хук”

1.1.1. Поле "События"

Служит для выбора события. При нажатии на поле "Событие" открывается выпадающий список, из которого выбирается событие.

Существуют такие события:

  • Абонент вошел в очередь;
  • Принят оператором;
  • Распределение на оператора;
  • Соединение абонента с оператором;
  • Пропущенный оператором;
  • Абонент вышел из очереди;
  • Постобработка;
  • Активное действие.

1.1.2. Поле "Схема"

Здесь указывается какая схема будет прорабатываться при указанном событии.

При нажатии на поле "Схема" открывается выпадающий список, из которого выбирается схема. Если необходимой схемы нет в выпадающем списке, то используйте поле "Схема предварительного набора", как поле поиска. 

Как создать новую схему можно посмотреть здесь.

1.2. Инструмент обновления реестра записей

Обновление таблицы реестра записей выполняется нажатием на кнопку обновления -

 (Рис.1 (2)).

1.3. Реестр записей

Реестр представляет собой список записей существующих объектов этого раздела. Каждая запись состоит из набора полей:

  1. Чекбокс;
  2. Колонка "Событие";
  3. Колонка "Схема";
  4. Колонка "Состояние";
  5. Инструмент редактирования записи;
  6. Инструмент удаления записи.

1.3.1. Чекбокс

Используется для выбора нескольких записей объектов. После выбора одной, или нескольких, записей появляется дополнительная кнопка удаления вверху реестра записей . При наведении курсора на этот инструмент появляется информация о количестве выбранных для удаления записей.

1.3.2 Колонка "Событие"

Здесь отображается имя события, при котором необходимо отправлять данные в другую систему. 

1.3.3. Колонка "Схема"

Здесь отображается какая схема будет прорабатываться при указанном событии.

1.3.4. Колонка "Состояние"

Включает в себя переключатель, который отвечает за включение и отключения хука в соответствии с положением переключателя:

 - хук включен;

 - хук отключен.

1.3.5. Инструмент редактирования записи

Открывается нажатием на кнопку редактирования , при наведении курсором на которую отображается информация с названием инструмента. После нажатия на эту кнопку открывается модальное окно "Редактировать хук" (Рис. 3).

Модальное окно Редактировать хук (Очереди).png

Рис. 3. Модальное окно "Редактировать хук”

1.3.6. Инструмент удаления записи

Используется для удаления хука из реестра записей. При наведении на кнопку удаления  отображается информация с названием инструмента. После нажатия кнопки удаления запись о хуке удаляется.

1.4. Пагинация

Состоит из поля "Записей на странице", в котором указывается количество записей (возможно задать от 1 до 1000) на одну страницу и кнопок вперед  и назад  для переключения страниц. 

2. Возможности

2.1. Добавление хука в очередь

Цель

Создать хук

Предусловия
  1.  Доступ к приложению Admin;
  2.  Доступ к разделу "Очереди" в приложении Admin;
  3.  Разрешение на редактирование, или создание, в разделе "Очереди";
  4. Наличие очереди или создание новой.

Сценарий:

  1. Нажать на кнопку добавления - . Открывается модальное окно "Добавить хук".
  2. Нажать на поле "События". Открывается выпадающий список существующих событий.
  3. Выбрать необходимое событие. Выпадающий список закрывается. Кнопка "Сохранить" становится активной.
  4. Нажать на поле "Схема". Открывается выпадающий список существующих схем.
  5. Выбрать необходимую схему. Выпадающий список закрывается.
  6. Нажать кнопку "Сохранить".

Результат

Модальное окно закрывается. Данные сохранены. 

2.2. Удаление хука из очереди

Цель

Удалить хук из очереди

Предусловия
  1.  Доступ к приложению Admin;
  2.  Доступ к разделу "Очереди" в приложении Admin;
  3.  Разрешение на редактирование, или создание, в разделе "Очереди";
  4. Наличие очереди или создание новой;
  5. Наличие минимум одной записи хука.

Сценарий:

  1. Найти запись хука, который необходимо удалить.
  2. Нажать кнопку удаления - .

Результат

Хук удален из реестра записей.

2.3. Редактирование хука в очереди

Цель

Заменить схему при конкретном событии
Предусловия
  1.  Доступ к приложению Admin;
  2.  Доступ к разделу "Очереди" в приложении Admin;
  3.  Разрешение на редактирование, или создание, в разделе "Очереди";
  4. Наличие очереди или создание новой;
  5. Наличие минимум одной записи хука.

Сценарий:

  1. Найти запись хука, в котором нужно заменить схему.
  2. Нажать кнопку редактирования - . Открывается модальное окно "Редактировать хук".
  3. Нажать на поле "Схема". Открывается выпадающим список существующих схем.
  4. Выбрать необходимую схему. Выпадающий список закрывается. Кнопка "Сохранить" становится активной. 
  5. Нажать кнопку "Сохранить".

Результат

Модальное окно закрывается. Данные сохранены. 

3. Вызовы веб-хуков

Вызов веб-хука на очереди происходит при наступлении некоторого события, после чего вызывается выбранная схема, созданная ранее. 

СобытиеОписаниеТип очереди, в которой используетсяПоля, которые передаются
ПолеТипОписание

Абонент вошел в очередь

абонент вошел в очередь

все очереди:

  • офлайн очередь;
  • входящая очередь;
  • исходящий IVR;
  • превью обзвон;
  • прогрессивный обзвон;
  • предиктивный обзвон;
  • входящая очередь чатов;
  • очередь задач. 

channel

stringканал (chat/call/task)
attempt_idintegerидентификатор попытки дозвона дайлера
destinationstringномер назначения, на который поступает звонок
use_processingboolenвключена постобработка 
agent_channel_idstringидентификатор сессии оператора (идентификатор звонка для оператора, нужен для использования API)
member_channel_idstringидентификатор сессии абонента (идентификатор звонка для абонента, нужен для использования API)
+ все переменные, которые передаются с абонентом и в очереди

Принят оператором

оператор ответил на звонок
  • оффлайн очередь;
  • превью обзвон.

channel

stringканал (chat/call/task)
attempt_idintegerидентификатор попытки дозвона дайлера
destinationstringномер назначения, на который поступает звонок
use_processingboolenвключена постобработка 
agent_channel_idstringидентификатор сессии оператора (идентификатор звонка для оператора, нужен для использования API)
member_channel_idstringидентификатор сессии абонента (идентификатор звонка для абонента, нужен для использования API)
agent_namestringимя оператора
agent_idintegerидентификатор оператора
user_idintegerидентификатор пользователя
agent_extensionstringвнутренний номер оператора
member_namestringимя абонента
member_idintegerидентификатор абонента
cc_attempt_seqintegerномер попытки
call_bill_sec numberвремя разговора абонента - с момента поднятия трубки абонентом до данного момента или окончания звонка
call_duration numberобщее время звонка — длительность звонка от начала дозвона до данного момента или же его окончания (постобработка не учитывается)
amd_result stringрезультат автоопределения - HUMAN/MASHINE
call_voice_sec numberвремя разговора абонента с оператором - от начала соединения абонента с оператором, до окончания звонка
+ все переменные, которые передаются с абонентом и в очереди

Распределение на оператора

на оператора распределился звонок

все очереди:

  • оффлайн очередь;
  • входящая очередь;
  • исходящий IVR;
  • превью обзвон;
  • прогрессивный обзвон;
  • предиктивный обзвон;
  • входящая очередь чатов;
  • очередь задач.

channel

stringканал (chat/call/task)
attempt_idintegerидентификатор попытки дозвона дайлера
destinationstringномер назначения, на который поступает звонок
use_processingboolenвключена постобработка 
agent_channel_idstringидентификатор сессии оператора (идентификатор звонка для оператора, нужен для использования API)
member_channel_idstringидентификатор сессии абонента (идентификатор звонка для абонента, нужен для использования API)
agent_namestringимя оператора
agent_idintegerидентификатор оператора
user_idintegerидентификатор пользователя
agent_extensionstringвнутренний номер оператора
member_namestringимя абонента
member_idintegerидентификатор абонента
cc_attempt_seqintegerномер попытки
call_bill_sec numberвремя разговора абонента - с момента поднятия трубки абонентом до данного момента или окончания звонка
call_duration numberобщее время звонка - длительность звонка от начала дозвона до данного момента или же его окончания (постобработка не учитывается)
amd_result stringрезультат автоопределения - HUMAN/MASHINE
call_voice_sec numberвремя разговора абонента с оператором - от начала соединения абонента с оператором до окончания звонка
+ все переменные, которые передаются с абонентом и в очереди

Соединение абонента с оператором

произошло соединение оператора с абонентом

все очереди:

  • оффлайн очередь;
  • входящая очередь;
  • исходящий IVR;
  • превью обзвон;
  • прогрессивный обзвон;
  • предиктивный обзвон;
  • входящая очередь чатов;
  • очередь задач.

channel

stringканал (chat/call/task)
attempt_idintegerидентификатор попытки дозвона дайлера
destinationstringномер назначения, на который поступает звонок
use_processingboolenвключена постобработка 
agent_channel_idstringидентификатор сессии оператора (идентификатор звонка для оператора, нужен для использования API)
member_channel_idstringидентификатор сессии абонента (идентификатор звонка для абонента, нужен для использования API)
agent_namestringимя оператора
agent_idintegerидентификатор оператора
user_idintegerидентификатор пользователя
agent_extensionstringвнутренний номер оператора
member_namestringимя абонента
member_idintegerидентификатор абонента
cc_attempt_seqintegerномер попытки
call_bill_sec numberвремя разговора абонента - с момента поднятия трубки абонентом до данного момента или окончания звонка
call_duration numberобщее время звонка - длительность звонка от начала дозвона до данного момента или же его окончания (постобработка не учитывается)
amd_result stringрезультат автоопределения - HUMAN/MASHINE
call_voice_sec numberвремя разговора абонента с оператором - от начала соединения абонента с оператором до окончания звонка
+ все переменные, которые передаются с абонентом и в очереди

Пропущенный оператором

оператор не ответил на звонок

очереди с участием оператора:

  • оффлайн очередь;
  • входящая очередь;
  • превью обзвон;
  • прогрессивный обзвон;
  • предиктивный обзвон;
  • входящая очередь чатов;
  • очередь задач.

channel

stringканал (chat/call/task)
attempt_idintegerидентификатор попытки дозвона дайлера
destinationstringномер назначения, на который поступает звонок
use_processingboolenвключена постобработка 
agent_channel_idstringидентификатор сессии оператора (идентификатор звонка для оператора, нужен для использования API)
member_channel_idstringидентификатор сессии абонента (идентификатор звонка для абонента, нужен для использования API)
agent_namestringимя оператора
agent_idintegerидентификатор оператора
user_idintegerидентификатор пользователя
agent_extensionstringвнутренний номер оператора
member_namestringимя абонента
member_idintegerидентификатор абонента
cc_attempt_seqintegerномер попытки
call_bill_sec numberвремя разговора абонента - с момента поднятия трубки абонентом до данного момента или окончания звонка
call_duration numberобщее время звонка - длительность звонка от начала дозвона до данного момента или же его окончания (постобработка не учитывается)
amd_result stringрезультат автоопределения - HUMAN/MASHINE
+ все переменные, которые передаются с абонентом и в очереди

Абонент вышел из очереди

абонент покинул очередь

все очереди:

  • оффлайн очередь;
  • входящая очередь;
  • исходящий IVR;
  • превью обзвон;
  • прогрессивный обзвон;
  • предиктивный обзвон;
  • входящая очередь чатов;
  • очередь задач.

channel

stringканал (chat/call/task)
attempt_idintegerидентификатор попытки дозвона дайлера
destinationstringномер назначения, на который поступает звонок
use_processingboolenвключена постобработка 
agent_channel_idstringидентификатор сессии оператора (идентификатор звонка для оператора, нужен для использования API)
member_channel_idstringидентификатор сессии абонента (идентификатор звонка для абонента, нужен для использования API)
agent_namestringимя оператора
agent_idintegerидентификатор оператора
user_idintegerидентификатор пользователя
agent_extensionstringвнутренний номер оператора
member_namestringимя абонента
member_idintegerидентификатор абонента
cc_attempt_seqintegerномер попытки
cc_resultstringрезультат звонка (sucess/cancel/abandoned)
call_bill_sec numberвремя разговора абонента - с момента поднятия трубки абонентом до данного момента, или окончания звонка
call_duration numberобщее время звонка - длительность звонка от начала дозвона до данного момента или же его окончания (постобработка не учитывается)
call_cause stringпричина окончания звонка (варианты возможных причин можно посмотреть здесь)
call_sip_codenumberкод окончания звонка (варианты можно посмотреть здесь в колонке SIP ответ)
amd_result stringрезультат автоопределения - HUMAN/MASHINE
call_voice_sec numberвремя разговора абонента с оператором - от начала соединения абонента с оператором до окончания звонка
+ все переменные, которые передаются с абонентом и в очереди

Постобработка

оператор вошел в статус постобработки

очереди с участием оператора:

  • оффлайн очередь;
  • входящая очередь;
  • превью обзвон;
  • прогрессивный обзвон;
  • предиктивный обзвон;
  • входящая очередь чатов;
  • очередь задач.

channel

stringканал (chat/call/task)
attempt_idintegerидентификатор попытки дозвона дайлера
destinationstringномер назначения, на который поступает звонок
use_processingboolenвключена постобработка 
agent_channel_idstringидентификатор сессии оператора (идентификатор звонка для оператора, нужен для использования API)
member_channel_idstringидентификатор сессии абонента (идентификатор звонка для абонента, нужен для использования API)
agent_namestringимя оператора
agent_idintegerидентификатор оператора
user_idintegerидентификатор пользователя
agent_extensionstringвнутренний номер оператора
member_namestringимя абонента
member_idintegerидентификатор абонента
cc_attempt_seqintegerномер попытки
call_bill_sec numberвремя разговора абонента - с момента поднятия трубки абонентом до данного момента или окончания звонка
call_duration numberобщее время звонка - длительность звонка от начала дозвона до данного момента или же его окончания (постобработка не учитывается)
call_cause stringпричина окончания звонка (варианты возможных причин можно посмотреть здесь)
call_sip_codenumberкод окончания звонка (варианты можно посмотреть здесь в колонке SIP ответ)
amd_result stringрезультат автоопределения - HUMAN/MASHINE
call_voice_sec numberвремя разговора абонента с оператором - от начала соединения абонента с оператором до окончания звонка
+ все переменные, которые передаются с абонентом и в очереди

Активное действие

аналогично с Принят оператором,
но не для звонков