Обычно оператор контакт-центра принимает звонки в интерфейсе телефонии. Чтобы быстро начать разговор, оператору нужно понять от кого поступил звонок, чтобы правильно его поприветствовать.
Когда поступает новый звонок, система телефонии передает параметры звонка в BPMSoft и автоматически открывает статичную веб-страницу, где оператор видит данные клиента и приветственную фразу для начала диалога. Так оператор может сразу начать диалог без дополнительных поисков информации.
После приветствия клиента оператор контакт-центра может продолжить диалог используя возможности работы в интерфейсе BPMSoft, в том числе скрипты для диалога.
Автоматическое открытие страницы возможно в двух случаях:
Содержимое страницы включает:
Рисунок 1 — Статичная страница с заполненными данными о клиенте
Статичная страница содержит следующие данные:
Кнопки «Свернуть»/ «Развернуть» предназначены для гибкого управления видимостью информационного блока и оптимизации рабочего пространства.
При открытии статичной страницы в ней автоматически отображается BPMSoft со страницей текущего звонка, на которой уже заполнена информация о клиенте, и пользователь может совершать необходимые действия в системе во время диалога с клиентом.
Рисунок 2 — Статичная страница с открытой страницей «Звонка»
Для получения данных из BPMSoft используется протокол OpenID Connect. Для настройки необходимо:
Для корректной работы статичной страницы требуется предварительная настройка сервиса телефонии на автоматическое открытие страницы во встроенном или внешнем браузере в момент начала звонка.
Статичная страница реализована как файловый контент пакета, ссылка на страницу определяется ее расположением (путь до папки определяется шаблоном, описанным в статье Хранение файлового контента.
Таким образом, ссылка на страницу может выглядеть следующим образом:
..[Путь до приложения]\BPMSoft.Configuration\Pkg\CCWorkplace\Files\src\res\[Название файла.html
..[Путь до приложения]\BPMSoft.WebApp\BPMSoft.Configuration\Pkg\CCWorkplace\Files\src\res\[Название файла.html]
Информация о звонке должна передаваться в виде GET-параметров. Параметры, доступные по умолчанию, представлены в таблице ниже.
Таблица 1 — Параметры статичной страницы
Статичная страница реализована как файловый контент пакета. Для настройки необходимо открыть папку по пути, который определяется шаблоном, описанным в статье Хранение файлового контента, и внести изменения в соответствующие файлы.
Структура решения выглядит следующим образом:
-CCWorkplace -Files … -res … index.html serviceClient.js staticWindowsConst.js staticWindowsFunction.js -scc … stylesStaticWindow.css
На стороне BPMSoft реализован сервис получения данных «StaticWindowOperatorCCService».
Для добавления новой функциональности необходимо:
Пример. Добавить поле «Город», которое должно заполняться на статичной странице при открытии из найденного контакта.
Для решения задачи необходимо:
<div class="form-group"> <table style="width: 100%;"> ... <tr class="tr-row"> <td class="td-label"> <label for="city">Город</label> </td> <td> <input type="text" id="city" name="city" value="" readonly="readonly" /> </td> </tr> ... </table> </div>
function setContactValue(contacts) { let values = []; if (contacts.length == 1) { let contact = contacts[0]; document.getElementById("contact").value = contact.contactId !== guid_empty ? contact.contactName : staticWindowsConst.notDefined; document.getElementById("account").value = contact.accountId !== guid_empty ? contact.accountName : staticWindowsConst.notDefined; // Заполнение поля "Город". document.getElementById("city").value = contact.contactId ? contact.cityName: staticWindowsConst.notDefined; // Аналогично для других полей ...
private List<ContactData> GetContactForNumber(string numberPhone) { var listContact = new List<ContactData>(); var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, nameof(ContactCommunication)) { PrimaryQueryColumn = { IsAlwaysSelect = true } }; var accountId = esq.AddColumn("Contact.Account.Id").Name; var accountName = esq.AddColumn("Contact.Account.Name").Name; var nameType = esq.AddColumn("CommunicationType.Name").Name; var contactName = esq.AddColumn("Contact.Name").Name; var contactId = esq.AddColumn("Contact.Id").Name; esq.AddColumn("Number"); // Добавление в запрос колонки "Город". var cityName = esq.AddColumn("City.Name").Name; esq.Filters.Add(esq.CreateFilterWithParameters(FilterComparisonType.Equal, "[ComTypebyCommunication:CommunicationType:CommunicationType].Communication.Code", "Phone")); var searchNumber = PreprocessPhone(numberPhone); esq.Filters.Add(esq.CreateFilterWithParameters(FilterComparisonType.Equal, "SearchNumber", searchNumber)); esq.Filters.Add(esq.CreateIsNotNullFilter("Contact")); var collection = esq.GetEntityCollection(UserConnection); if (collection.Any()) { listContact.AddRange(collection.Select(contactCommunication => new ContactData() { Id = contactCommunication.PrimaryColumnValue, AccountId = contactCommunication.GetTypedColumnValue<Guid>(accountId), AccountName = contactCommunication.GetTypedColumnValue<string>(accountName), CommunicationTypeName = contactCommunication.GetTypedColumnValue<string>(nameType), ContactId = contactCommunication.GetTypedColumnValue<Guid>(contactId), ContactName = contactCommunication.GetTypedColumnValue<string>(contactName), Number = contactCommunication.GetTypedColumnValue<string>("Number"), // Добавление в ответ сервиса поля "Город". CityName = contactCommunication.GetTypedColumnValue<string>(cityName) })); } return listContact; }
По умолчанию статичная страница настроена на открытие страницы звонка в окне с приложением BPMSoft и передачу в нее параметров, полученных из телефонии. При необходимости данное поведение можно изменить.
Для изменения поведения статичной страницы необходимо внести изменения в переменную «callPage.src» в файле «staticWindowsFunction.js».
Пример открытия страницы контакта:
... function updateCallPageUrl(contactId, accountId) { const callPage = document.getElementById("bpmsoft"); callPage.src = `${urlSite}/Nui/ViewModule.aspx#CardModuleV2/ContactPageV2/edit/${contactId}`; } ...
Если требуется открывать разные страницы в BPMSoft в зависимости от параметров звонка, можно добавить новую статичную страницу в папку «[Путь до приложения]\BPMSoft.Configuration\Pkg\CCWorkplace\Files\res» с произвольным названием и настроить открытие нужной страницы на уровне телефонии. Ограничений на количество дополнительных статичных страниц нет.
Работа в окне прохождения диалога История прохождения скриптов Настройка скриптов диалогов Универсальный модуль скриптов
Ссылка, по которой вы перешли, больше недействительна — её срок действия закончился. Ссылка активна в течение 24 часов.
Вы можете запросить новую ссылку.
До встречи в экосистеме BPMSoft.
Теперь вы зарегистрированы в экосистеме BPMSoft. Авторизуйтесь, чтобы получить доступ ко всем её возможностям.
Если у вас возникнут трудности с использованием сайта или сервисов, вы всегда можете обратиться к нам за помощью.
К сожалению, ссылка больше не активна — она действовала только 24 часа.
Здравствуйте.
Эта ссылка больше недействительна, так как вы запрашивали новую.
Перейдите по последней ссылке или запросите новую.
Ссылка, по которой вы перешли, недействительна.
Если вы хотите восстановить пароль, просто запросите новую ссылку.
Ваш пароль успешно обновлён — теперь вы можете пользоваться всеми возможностями экосистемы BPMSoft.
Ваш пароль успешно изменен, вы можете продолжить работу в экосистеме BPMSoft.
Учётная запись пока не активирована.
Мы отправили письмо для подтверждения на ваш Email — перейдите по ссылке в течение 24 часов с момента регистрации.
Если письмо не пришло, пожалуйста, напишите нам об этом.
До встречи в экосистемe BPMSoft.
Учетная запись заблокирована
Пожалуйста, свяжитесь с нами для уточнения данных.
Если пользователь с указанным Email зарегистрирован в системе BPMSoft, ему на почту отправлена ссылка для восстановления пароля.
Чтобы установить новый пароль, перейдите по ссылке из письма.
Ссылка активна в течение 24 часов.