Открыть меню
Платформа Эра. Документация
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Привязка записей разговора: различия между версиями

Материал из Платформа Эра. Документации
Нет описания правки
Нет описания правки
 
(не показаны 4 промежуточные версии этого же участника)
Строка 45: Строка 45:


= Передача данных о звонке из сценариев IVR =
= Передача данных о звонке из сценариев IVR =
Работе со [[8. Сценарии IVR|сценариями IVR]] и другими компонентами коммуникационного слоя посвящен [[:Категория:Курс IP АТС|курс IP-АТС]].
В данном пункте мы лишь кратко рассмотрим логику необходимых дейтсвий для сохранения записи разговора и передачи информации о ней в продуктовый слой. Дополнительную справку по всем элементам IVR-сценариев можно найти в [[Сценарии IVR|данной статье]].
Альтернативный вариант сохранения данных о записи представлен в следующем пункте, однако он не является универсальным.
# Необходимо добавить в IVR-сценарии компонент записи разговора, сохранив путь к результирующему файлу в переменную path[[Файл:Компонент "Запись разговора".png|безрамки|756x756пкс]]
# Сформировать в переменной link новое имя файла в хранилище домена с помощью формулы: <syntaxhighlight>
ss_domain() + "/documents/" + dateformat("yyyy-MM-dd", nowutc()) + "/" + filename([path]):
</syntaxhighlight>[[Файл:Подготовка ссылки на запись разговора.png|безрамки|772x772пкс]]
# Скопировать файл из временной папки сервера IVR в глобальную папку домена с помощью компонента "Файловая операция"[[Файл:Копирование файла записи из временной папки.png|безрамки|775x775пкс]]
# Создать сущность класса Call с помощью компонента "Операция"[[Файл:Создание звонка компонентом Операция.png|безрамки|773x773пкс]][[Файл:Параметры компонента Операция.png|безрамки|773x773пкс]]
Теперь поле recordInfo будет содержать достаточную для прослушивания файла информацию независимо от способа создания сущности – из карточки обращения очереди или из сценария IVR.
= Сохранение данных о звонке с помощью карточки очереди =
В рамках функциональности контакт-центра в рамках платформы эра предоставляется настройка отображения карточки, которая будет открываться в интерфейсе оператора при каждом новом звонке. Данный функционал можно использовать для того, чтобы перенести данные о записи разговора из контекста звонка в контекст приложения.
[[Файл:Обработка очереди.png|мини|Установка ссылки на карточку в очереди]]
Функционал контакт-центра детально рассмотрен в [[:Категория:Курс контакт-центр|соответствующем курсе]], в рамках данного блока будет представлен только пример передачи необходимой информации в карточку звонка. Для того чтобы функционал можно было настроить - необходимо создать [[2. Входящие очереди|очередь звонков]].
Для того, чтобы открыть карточку объекта Call, необходимо в настройках очереди, на вкладке Обработка, в группе Карточка вызова указать Адрес (URL) по следующему шаблону:
/ui/MyPackageName/Call?mode=add&values={"recordInfo": [recordInfo]}
Где MyPackageName/Call это fullName объекта Call
После сохранения изменений, при поступлении звонка из этой очереди, будет автоматически открываться карточка объекта Call в режиме добавления, а поле recordInfo будет заполнено автоматически.


= Функционал Click-To-Call =
= Функционал Click-To-Call =
[[Файл:Эдитор PhoneNumber.png|мини|261x261пкс|Эдитор PhoneNumber]]
Для обеспечения возможности совершать звонок одним кликом мыши в пакете callcenter создан редактор callcenter/PhoneNumber. Если его выбрать для строкового поля, в таблице будут отображаться гиперссылки с возможностью совершить исходящий звонок.
  Следующая статья курса: ''[[Задание 6. Интеграция звонков в карточку]]''
  Следующая статья курса: ''[[Задание 6. Интеграция звонков в карточку]]''


  Предыдущая статья курса: ''[[Задание 5. Сложная карточка]]''
  Предыдущая статья курса: ''[[Задание 5. Сложная карточка]]''
[[Категория:Курс "Разработка приложений"]]

Текущая версия от 14:06, 10 февраля 2025

Предыдущая статья курса: Задание 5. Сложная карточка

Общая информация

Для обеспечения работы со звонками в приложениях, платформа эра предоставляет набор широкий функционала:

  • Тип данных RecordingInfo для хранения информации о записи звонка
  • Метод playRecordedFile для воспроизведения записи
  • Функционал карточки очереди для передачи данных из контекста звонка в контекст приложения
  • Функционал IVR-сценариев для построения логики работы вызовов
  • Тип данных PhoneNumber для осуществления звонков по клику на номер телефона


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

Хранение информации о звонке в данных класса

В первую очередь, для начала работы с записью разговора необходимо в какой-либо из классов (наиболее подходящий по смыслу), добавить свойство для хранения информации о ней.

Для хранения информации о записи разговора, используется специализированный тип данных, входящий в пакет callcenter:

callcenter/ccs/RecordInfo

Обычно, привязка записей разговора осуществляется к специально созданному классу Звонки, объекты которого уже имеют связи с другими классами приложения.

Таким образом, запись будет доступна и в реестре всех звонков, и в карточке звонка, и в реестре звонков, связанных с другим классом (например звонки по конкретной заявке).

В примерах далее, будем считать что в класс Call было добавлено свойство recordInfo.

Воспроизведение записи звонка в интерфейсе

Вкладка Actions

Для того, чтобы была возможность прослушивания записи, необходимо в класс Call добавить дейтсвие по прослушиванию.

Ранее в курсе ещё не использовались действия, так как они подразумевают написание полноценного кода для обработки, однако в данном примере достаточно лишь скопировать уже готовый код. Более подробно, механизм дейтсвий будет рассмотрен в дальнейших частях курса.

Действие playRecorded

Для добавления нового действия, необходимо в редакторе класса перейти во вкладку Actions и добавить новую запись.

Имя действия (name) можно указать произвольное, например playRecorded, заголовок (Caption) - просшулать, actionKind - client, actionTarget - entity

Таким образом мы создаем действие, которое будет выполняться на клиентской стороне и по отношению к конкретному объекту (при открытой карточке или выделенной записи в таблице).

В качестве кода действия, необходимо указать следующий:

this._eraEnvironment.getStrong('EraGlobal').playRecordedFile(this.recordInfo);

В данном коде происходит получение глобального контекста и вызов метода playRecordedFile, с передачей в него данных о сохраненной записи разговора. В качестве кода проверки доступности (allowConditionCode), необходимо указать следующий:

!Converter.isNull(this.recordInfo):

Этим кодом мы проверяем, что информация о записи разговора сохранена. Таким образом, для звонков у которых ещё нет записи разговора, действие прослушки будет недоступно.

Передача данных о звонке из сценариев IVR

Работе со сценариями IVR и другими компонентами коммуникационного слоя посвящен курс IP-АТС.

В данном пункте мы лишь кратко рассмотрим логику необходимых дейтсвий для сохранения записи разговора и передачи информации о ней в продуктовый слой. Дополнительную справку по всем элементам IVR-сценариев можно найти в данной статье.

Альтернативный вариант сохранения данных о записи представлен в следующем пункте, однако он не является универсальным.

  1. Необходимо добавить в IVR-сценарии компонент записи разговора, сохранив путь к результирующему файлу в переменную path
  2. Сформировать в переменной link новое имя файла в хранилище домена с помощью формулы:
    ss_domain() + "/documents/" + dateformat("yyyy-MM-dd", nowutc()) + "/" + filename([path]):
  3. Скопировать файл из временной папки сервера IVR в глобальную папку домена с помощью компонента "Файловая операция"
  4. Создать сущность класса Call с помощью компонента "Операция"

Теперь поле recordInfo будет содержать достаточную для прослушивания файла информацию независимо от способа создания сущности – из карточки обращения очереди или из сценария IVR.

Сохранение данных о звонке с помощью карточки очереди

В рамках функциональности контакт-центра в рамках платформы эра предоставляется настройка отображения карточки, которая будет открываться в интерфейсе оператора при каждом новом звонке. Данный функционал можно использовать для того, чтобы перенести данные о записи разговора из контекста звонка в контекст приложения.

Установка ссылки на карточку в очереди

Функционал контакт-центра детально рассмотрен в соответствующем курсе, в рамках данного блока будет представлен только пример передачи необходимой информации в карточку звонка. Для того чтобы функционал можно было настроить - необходимо создать очередь звонков.

Для того, чтобы открыть карточку объекта Call, необходимо в настройках очереди, на вкладке Обработка, в группе Карточка вызова указать Адрес (URL) по следующему шаблону:

/ui/MyPackageName/Call?mode=add&values={"recordInfo": [recordInfo]}

Где MyPackageName/Call это fullName объекта Call

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

Функционал Click-To-Call

Эдитор PhoneNumber

Для обеспечения возможности совершать звонок одним кликом мыши в пакете callcenter создан редактор callcenter/PhoneNumber. Если его выбрать для строкового поля, в таблице будут отображаться гиперссылки с возможностью совершить исходящий звонок.


Следующая статья курса: Задание 6. Интеграция звонков в карточку
Предыдущая статья курса: Задание 5. Сложная карточка