- Главная
- /
- Статья
Webex Contact Center для Salesforce Service Cloud Voice интегрирует мощную услугу Cisco CCaaS (Contact Center as a Service) с CRM Salesforce, позволяя компаниям управлять многоканальным взаимодействием с клиентами (голосовое, цифровое) в интерфейсе Salesforce, используя Webex AI для виртуальных агентов, транскрипции и интеллектуальной маршрутизации, превращая агентов в « супер-агентов» с унифицированными данными для улучшения качества обслуживания клиентов.
Обзор
Webex Contact Center для Salesforce Service Cloud Voice
Webex Contact Center для Service Cloud Voice — это готовое интеграционное решение, которое переносит возможности Webex Contact Center в консоль оператора многоканальной связи Salesforce Service Cloud Voice.
Перед началом установки ознакомьтесь со следующим разделом:
Чтобы узнать о предварительных требованиях и ограничениях Salesforce Service Cloud Voice и убедиться, что ваша организация Salesforce готова включить и установить пакет Webex Contact Center for Service Cloud Voice .
Предварительные требования и ограничения
Предварительные требования (подтема)
Пользовательские интерфейсы: Сервис Service Cloud Voice доступен только в Salesforce Lightning Experience.
Сервис Service Cloud Voice доступен в этих версиях.
- Предприятие
- Не ограничено
- Для разработчиков
Лицензии
-
Помимо лицензий Flex 3 Standard или Premium для Webex Contact Center, клиентам необходимо приобрести дополнительную лицензию A-SF-VOICE для каждого вошедшего в систему оператора. Для получения более подробной информации см. руководство по заказу Flex 3.
- Salesforce Voice для партнерской телефонии
Прежде чем включить голосовую связь, необходимо настроить необходимые службы в вашей организации.
- Перейдите к Информация о компании > Лицензия на набор разрешений
- Проверьте наличие пользователя голосовой службы Service Cloud (партнерская телефония).
Все версии для разработчиков теперь поставляются с 5 лицензиями на партнерскую телефонию, доступными для тестирования.
- Проверьте наличие пользователя голосовой службы Service Cloud (партнерская телефония).
- В качестве альтернативы, вы можете проверить это, перейдя в настройки Salesforce и выполнив поиск по запросу "voice" в левой боковой панели.
- Если отображается "Партнерские контакт-центры телефонии", значит, у вас есть лицензия SCV.
- Если опция « Партнерские контакт-центры телефонии » не отображается, выполните следующие действия:« Включить голосовую связь в Service Cloud » .
- Перейдите в раздел «Настройка Salesforce», найдите и выберите «Настройка партнерской телефонии» и переключите кнопку на «Включить голосовую связь Service Cloud».
- Включите функцию Omni-Channel, чтобы ваши агенты могли совершать и принимать звонки.
- Перейдите в раздел «Настройка Salesforce», найдите и выберите «Настройка партнерской телефонии» и переключите кнопку на «Включить голосовую связь Service Cloud».
Включить многоканальный режим
Если в вашей организации уже включена функция Omni-Channel, пропустите этот шаг.
- В разделе «Настройка» введите Настройки многоканального доступа в поле быстрого поиска, затем выберите Настройки многоканального доступа.


- Выберите Включить всеканальный режим.
- Щелкните Сохранить.
Ограничения
- Голосовая связь доступна только в Lightning Experience.
- Поддержка голосовой связи доступна в Service Cloud и Sales Cloud в виде дополнительной лицензии.
- Голосовая связь не поддерживается в Salesforce Mobile и в браузере Safari на iPad.
- Поддержка голосового управления доступна только в веб-браузерах Google Chrome, Microsoft Edge (Chromium) и Mozilla Firefox. Для обеспечения единого входа (SSO) необходимо включить использование файлов cookie.
- Стандартная навигация не поддерживается.
- Телефония — это сфера с строгим регулированием, поэтому уточните у представителя Salesforce доступность голосовой связи в вашем регионе.
Требования
Коды бездействия
Найти коды ошибок холостого хода
| 1 |
Войдите в портал управления. |
| 2 |
Перейдите в Контактный центр > ОПЫТ РАБОТЫ НА РАБОЧЕМ СТОЛЕ > Idle/Wrap-up Коды. |
| 3 |
Убедитесь, что отображаются коды холостого хода, в противном случае нажмите кнопку раскрывающегося списка фильтра и выберите Код холостого хода в верхней части страницы. |
| 4 |
Нажмите на код простоя, чтобы открыть подробную информацию. Там вы можете найти идентификатор кода холостого хода.
Идентификаторы можно скопировать, а затем использовать для настройки Сопоставления состояния присутствия. Один из идентификаторов должен использоваться в качестве причины ошибки Cisco Not Ready по умолчанию. |
Интеграция
Установка
Перед началом установки ознакомьтесь с разделом Предварительные требования и ограничения, чтобы узнать о предварительных требованиях и ограничениях Salesforce Service Cloud.
Установка и настройка Webex Contact Center для Service Cloud Voice
При получении лицензии Service Cloud Voice for Partner Telephony в меню «Настройка» появляется страница Partner Telephony Setup.
Дополнительную информацию можно найти в официальном справочнике Salesforce ( прямая ссылка).
| 1 |
В разделе «Настройка» введите |
| 2 |
Включить Включить голосовую связь с партнерской телефонией. Страница Партнерские контакт-центры телефонии отображается в меню Настройка. Если вы планируете развернуть пакет в песочнице Salesforce, замените часть |
Установите пакет
Для установки пакета:
| 1 |
Откройте предоставленную ссылку на пакет, чтобы начать установку. |
| 2 |
Войдите в организацию Salesforce, куда должен быть установлен пакет. |
| 3 |
В мастере установки выберите параметр безопасности "Установить только для администраторов" (1) и нажмите Установить (2). Определите, каким пользователям предоставляются определенные разрешения на доступ к объектам и компонентам, входящим в состав пакета Webex Contact Center for Service Cloud Voice. Кроме того, предоставьте им эти разрешения; наборы разрешений, входящие в состав пакета Webex Contact Center for Service Cloud Voice, облегчают этот процесс. Мастер установки пакета – появляется приветственный экран: Установочный пакет недоступен напрямую через Salesforce AppExchange. Клиенты должны использовать кнопку «Получить сейчас» в списке приложений AppExchange, которая открывает контактную форму для запроса ссылки на установку и активации Cisco. |
| 4 |
Предоставьте как минимум одному пользователю следующие наборы разрешений, чтобы вы могли создать контакт-центр: |
| 5 |
Нажмите Настройка | Пользователи | Пользователи. |
| 6 |
Поиск и выбор пользователя. |
| 7 |
Прокрутите вниз до раздела «Назначение наборов разрешений». |
| 8 |
Нажмите Редактировать задания |
| 9 |
Для Администраторов контакт-центра: назначить набор разрешений Администратор контакт-центра (Партнерская телефония).
|
| 10 |
Для операторов контакт-центра: Назначьте набор разрешений для агента контакт-центра (партнерская телефония) и набор разрешений для агента Webex Contact Center SCV.
Не рекомендуется выбирать параметр Установить для всех пользователей, поскольку это предоставляет все разрешения (чтение, создание, редактирование и удаление) на компоненты и объекты пакета любому пользователю, использующему пользовательский профиль. |
| 11 |
Назначьте пользователям лицензию на пакет для работы с Connects for Service Cloud Voice.
|
| 12 |
В качестве альтернативы вы можете нажать Настройка | Пользователи | Пользователи.. |
| 13 |
Найдите и выберите пользователя. |
| 14 |
Прокрутите вниз до раздела Управляемые пакеты. |
| 15 |
Нажмите Назначить лицензии. |
| 16 |
Выберите пакет Webex Contact Center for Service Cloud Voice из списка. |
| 17 |
Щелкните Добавить. |
| 18 |
Создайте Статусы присутствия, чтобы определить, какие каналы обслуживания назначаются различным статусам. Агенты могут входить в систему Omni-Channel с разными статусами в зависимости от вида работы, которую они имеют право получать. |
| 19 |
В разделе «Настройка» введите |
| 20 |
Нажмите Создать. Создайте как минимум один статус для "В сети" и один для "Занят".
|
Присвойте агентам статус(ы) присутствия
| 1 |
В разделе «Настройка» введите «Наборы разрешений» в поле быстрого поиска, затем выберите «Наборы разрешений». |
| 2 |
Нажмите, чтобы открыть Набор разрешений для партнерской телефонии. |
| 3 |
Нажмите Доступ к статусам присутствия службы. |
| 4 |
Щелкните Правка. |
| 5 |
В списке Доступные статусы присутствия службы выберите ранее созданные статусы присутствия и нажмите Добавить, чтобы связать их с набором разрешений. Агенты, которым назначен этот набор разрешений, могут входить в Omni-Channel с любым из доступных им статусов присутствия. |
| 6 |
Щелкните Сохранить. |
| 7 |
На той же странице нажмите Управление назначениями. Затем нажмите Добавить назначение в правом верхнем углу, выберите нужного пользователя, нажмите Далее, выберите Вариант истечения срока действия для назначенных пользователей (необязательно), а затем нажмите Назначить. Сервис Service Cloud Voice использует внешний домен для работы с записью VoiceCall. Следующие URL-адреса необходимо добавить в раздел «Настройки удаленного сайта» в разделе «Настройка» ( нажмите здесь, чтобы открыть официальную документацию):
Пример. Как найти URL-адрес экземпляра. |
| 8 |
Посмотрите на URL-адрес в адресной строке вашего браузера после входа в систему. URL экземпляра — это часть, предшествующая ".my.salesforce.com" или ".salesforce.com" или ".lightning.force.com". Например, если ваш URL — https://orgfarm-54a38e30ad-dev-ed.develop.my.salesforce-setup.com/,, то "orgfarm-54a38e30ad-dev-ed.develop" — это URL вашего экземпляра. Пример. Исходный URL организации: https://cisco.lightning.force.com Пример. URL для добавления:
|
| 9 |
Для использования агентом сервиса Service Cloud Voice необходим элемент утилиты Omni-Channel в приложении Lightning Service Console.
Официальную справочную информацию от Salesforce можно найти, нажав на кнопку Let's Do This, которая открывает страницу Configure the Agent Experience for Service Cloud Voice with Partner Telephony в портале справки Salesforce ( прямая ссылка). |
| 10 |
В разделе «Настройка» введите Настройка партнерской телефонии в поле быстрого поиска, затем выберите Настройка партнерской телефонии. |
| 11 |
Прокрутите вниз до раздела 5 Дополнительные настройки голоса. |
| 12 |
Для включения защиты от кликджекинга для страниц Visualforce с отключенными заголовками при работе с программным телефоном в Lightning Experience необходимо добавить домены, с которых загружаются программный телефон и пользовательские панели инструментов, в качестве доверенных доменов, помимо URL-адреса экземпляра Salesforce. Эти настройки, а также список доверенных доменов можно найти в разделе Настройка | Безопасность | Настройки сеанса. Чтобы получить правильный домен Visualforce, перейдите в Настройка | Пользовательский код | Страницы Visualforce и нажмите кнопку «Предварительный просмотр» для Пример. MyDomainName--cisco_wxcc_scv.vf.force.com Чтобы получить домен экземпляра Salesforce, скопируйте URL-адрес, отображаемый в адресной строке браузера, и добавьте его в список Доверенные домены для встроенных фреймов и выберите Страницы Visualforce в качестве типа IFrame. Пример. MyDomainName.lightning.force.com Если в вашей организации не развернут сервис My Domain, формат вашего URL-адреса будет другим. Если у вас развернут раздел «Мой домен», и расширенные домены не включены в вашей организации, формат вашего URL-адреса будет другим. Если расширенные домены не включены, то параметр «Стабилизировать URL-адреса в Visualforce, Experience Builder, Site.com studio и файлах контента в разделе «Мой домен» также влияет на этот формат. Подробности см. в Форматы URL-адресов моего домена в справке Salesforce. Настройки защиты от кликджекинга и доверенных доменов для Lightning Experience |
| 13 |
Для отображения элементов управления записью во время звонков операторам требуется разрешение Чтобы назначить его, добавьте его в набор разрешений, созданный на шаге Статусы присутствия.
|
Конфигурация
Контакт-центр
Файл определения контакт-центра задает набор полей и значений, используемых для определения контакт-центра в Salesforce для конкретной системы CTI. Salesforce использует файлы определения контакт-центра для поддержки интеграции с различными поставщиками систем CTI.
Дополнительную информацию можно найти в официальной документации Salesforce ( прямая ссылка).
Импортируйте контакт-центр.
Загрузите последнюю версию контакт-центра здесь.
Переход с бета-версии: В этом руководстве описывается чистая установка общедоступной (GA) версии интеграции Webex Contact Center с Salesforce Service Cloud Voice.
Если вы обновляете интеграцию с бета-версии, не используйте повторно существующую запись в контакт-центре для партнеров. Вместо:
- Импортируйте XML-файл партнерского контакт-центра, входящий в состав общедоступной версии.
- Создайте новую запись в контакт-центре для партнеров, используя импортированный XML-файл.
- Обновите конфигурацию, чтобы использовать недавно созданный контакт-центр для партнеров.
XML-файл GA Partner Contact Center содержит обновленные значения конфигурации, включая правильный URL-адрес коннектора и другие метаданные. Повторное использование записи контакт-центра партнера, созданной на основе бета-версии XML, может привести к сохранению устаревших значений конфигурации и препятствовать корректной работе интеграции.
| 1 |
В разделе «Настройка» введите Контактные центры партнерской телефонии в поле Быстрый поиск, затем выберите Контактные центры партнерской телефонии. Отображается список существующих (если таковые имеются) контакт-центров.
|
| 2 |
Нажмите Создать контакт-центр в правой части страницы. |
| 3 |
Выберите Webex Contact Center в качестве поставщика телефонных услуг. Затем щелкните Далее. Открывается файловый браузер.
|
| 4 |
Выберите файл |
| 5 |
Нажмите Открыть. Файл импортирован.
|
| 6 |
Проверьте, отображается ли ваш контакт-центр в списке контакт-центров. |
Настройка контакт-центра
| 1 |
В разделе «Настройка» введите Контактные центры партнерской телефонии в поле Быстрый поиск, затем выберите Контактные центры партнерской телефонии. | ||||||||||||||||||||||||||||||
| 2 |
Щелкните по ранее импортированному контактному центру. | ||||||||||||||||||||||||||||||
| 3 |
Щелкните Правка.
| ||||||||||||||||||||||||||||||
| 4 |
В нижней части страницы Контактный центр нажмите кнопку Добавить в разделе Пользователи контактного центра. | ||||||||||||||||||||||||||||||
| 5 |
Нажмите + рядом с пользователями, имеющими доступ к открытому контакт-центру. В этом списке отображаются только пользователи, имеющие |
Настройка
Внешнее клиентское приложение для интеграции с контакт-центром Webex
Настройка внешнего клиентского приложения для коннектора Webex Contact Center к Salesforce.
Для полноценного использования Service Cloud Voice можно адаптировать схему обработки вызовов в контакт-центре таким образом, чтобы она создавала запись голосового вызова и выполняла поток Salesforce Omni-Channel во время обработки вызова в системе IVR.
Создать сертификат
Убедитесь, что вы уже создали цифровой сертификат в соответствии с политикой безопасности вашей организации.
Для генерации цифрового сертификата см. документацию Salesforce по адресу https://developer.salesforce.com/docs/atlas.en-us.voice_pt_developer_guide.meta/voice_pt_developer_guide/voice_pt_generate_certificate.htm.
Пример
openssl genrsa -des3 -passout pass: -out server.pass.key 2048
openssl rsa -passin pass: -in server.pass.key -out server.key
rm server.pass.key
openssl req -new -key server.key -out server.csr
Country Name (2 letter code) [AU]:CH
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []: my-api-user@my-example-org.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt
server.crt => Сертификат для внешнего клиентского приложения Salesforce.
сервер.ключ => Закрытый ключ для коннектора Salesforce в Webex Control Hub
Набор разрешений для пользователя интеграции SCV
Следующий набор разрешений предоставляет доступ к классам Apex, используемым Connects for SCV для интеграции с IVR-процессами контакт-центра и Webex Contact Center for Salesforce for SCV.
Ниже приведен пример конфигурации, описывающий минимально необходимые права доступа для контакт-центра. / Интеграция IVR должна работать.
- В разделе «Настройка» перейдите к Пользователи | Наборы разрешений.
- Нажмите на кнопку Новый.
- Введите метку, например: Доступ к занятиям SCV Apex через IVR
- Название API заполняется автоматически.
- Лицензия: Нет
- Щелкните кнопку Сохранить.
- Открывается новый набор разрешений.
- Перейдите в Доступ к классам Apex.
- Нажмите кнопку Редактировать и добавьте следующие классы Apex:
- cisco_wxcc_scv.ServiceRouting
- Перейдите в Системные разрешения.
- Нажмите кнопку Редактировать и включите следующие разрешения:
- Сервисы Apex REST
- API включен
Минимальный уровень доступа - Профиль интеграции только с API
Этот профиль используется для интеграции с Webex Contact Center для Salesforce for SCV с целью создания записей голосовых вызовов и выполнения многопотоковых операций из IVR-системы.
Ниже приведен пример конфигурации, описывающий минимально необходимые права доступа для контакт-центра. / Интеграция IVR должна работать.
Это клон профиля «Минимальный доступ — Интеграции только через API».
- В разделе «Настройка» перейдите в Пользователи | Профили.
- В списке профилей найдите профиль Минимальный доступ - Интеграции только через API.
- Щелкните по названию профиля, чтобы открыть профиль Минимальный доступ - Интеграции только через API.
- В профиле Минимальный доступ - Интеграции только через API нажмите кнопку Клонировать.
- Введите новое имя профиля, например: Интеграция SCV.
- Нажмите на кнопку Сохранить.
- Открывается новый профиль.
- Убедитесь, что в вашем профиле «Минимальный доступ — Интеграции только с API» удалены все разрешения.
- Перейдите в Системные разрешения.
- Убедитесь, что следующие разрешения включены:
- API включен
- Только для пользователей API
Пользователь интеграции SCV
Ниже приведен пример конфигурации, описывающий минимально необходимые права доступа для контакт-центра. / Интеграция IVR должна работать. Для использования интеграции SCV не требуется лицензия Salesforce Service Cloud Voice или лицензия Webex Contact Center for Salesforce for SCV.
- В разделе «Настройка» перейдите к Пользователи | Пользователи.
- Нажмите на кнопку Новый пользователь.
- Введите имя, фамилию и все остальные обязательные поля.
- Пользовательская лицензия: Интеграция с Salesforce
- Профиль: Выберите профиль, созданный на предыдущем шаге («Профиль интеграции SCV», клон профиля «Минимальный доступ — интеграция только с API»).
- Нажмите на кнопку Сохранить.
- Откройте новую запись пользователя.
- Назначьте созданный ранее набор разрешений( "Доступ IVR к классам SCV Apex").
- Назначьте лицензию набора разрешений Интеграция API Salesforce.
Создание внешнего клиентского приложения Salesforce
Создайте новое внешнее клиентское приложение.
Существует два варианта подключения ваших данных Salesforce к сторонним приложениям. Иподключенные приложения, ивнешние клиентские приложения— это фреймворки для интеграции данных. Внешние клиентские приложения — это следующее поколение подключенных приложений.
Для настройки внешнего клиентского приложения Salesforce, используемого Cisco Webex Contact Center:
- В разделе Настройкаперейдите в разделПриложения | Внешние клиентские приложения | Диспетчер внешних клиентских приложений.
- Нажмите наСоздать внешнее клиентское приложение.
- Внешнее клиентское приложение — основная информация
- Название внешнего клиентского приложения: WxCC - SCV
- Название API: WxCC_SCV
- Контактный адрес электронной почты: < your email >
- Состояние распространения: выберите Локальный

Внешнее клиентское приложение — API (включите настройки OAuth)
- Выбирать: Включить OAuth
- Настройки приложения
- Перезвонить URL: http://localhost:1717/OauthRedirect as пример URL-адреса обратного вызова
- Области OAuth
- Выберите области действия OAuth:
- Управление пользовательскими данными через API (API)
- Выполняйте запросы в любое время (refresh_token, offline_access)

Включение потоков
- Выбирать: Включить поток JWT Bearer
- Нажмите «Загрузить файлы» и загрузите файл
server.crt, содержащий ваш цифровой сертификат.

Безопасность
Снимите флажок Требовать секрет для потока веб-сервера.

- Нажмите на кнопкуСоздать.
- Перейдите на вкладку Политики и затем нажмите кнопкуРедактировать.
- Политики — Политики OAuth
- Политики плагинов
- Разрешенные пользователи: Пользователи, одобренные администратором, проходят предварительную авторизацию.
- Подтвердите изменение
- Авторизация приложения
- Политика обновления токенов: выберите «Немедленно истечь» и обновить токен
- Смягчение требований IP-адреса: выберите «Применить ограничения по IP-адресам»

- Политики плагинов
- Политика — Политика приложения
- Начальная страница — отсутствует
- Выберите наборы разрешений — назначьте созданный ранее набор разрешений («Доступ IVR к классам SCV Apex»)

- Щелкните Сохранить.
- Перейдите в настройки вкладок.
-
В разделе «Настройки OAuth» нажмите кнопкуКлюч потребителя и Секрет; дождитесь получения электронного письма и подтвердите свою личность. В новой вкладке браузера откроется страница с подробной информацией о потребителе.

- Нажмите Копировать и сохранитеКлюч потребителя. Ключ потребителя используется позже для создания коннектора Salesforce в Webex Contact Center Control Hub.

-
Настройка Webex Contact Center и скрипт для создания записей голосовых вызовов.
Для получения максимальной пользы от Salesforce Service Cloud Voice необходимо изменить схему обработки вызовов в Webex Contact Center таким образом, чтобы запись о голосовом вызове в Service Cloud Voice создавалась сразу после поступления вызова в контакт-центр.
Для принятия решений по маршрутизации и автоматизации в Salesforce можно дополнительно использовать Omni-Flow.
Подробную информацию об используемых API см. в Service Cloud Voice API Wrapper.
Предварительные требования
Для использования Service Cloud Voice API Wrapper необходимо настроить внешнее клиентское приложение Salesforce для интеграции с IVR .
Настройте коннектор Salesforce в Webex Control Hub.
Настройте коннекторы интеграции Salesforce для Webex Contact Center, как описано в статье по адресу https://help.webex.com/en-us/article/7fuy63/Set-Up-Integration-Connectors-for-Webex-Contact-Center#id_133211.
| 1 |
Войдите в свою клиентскую организацию по адресу https://admin.webex.com и перейдите в раздел «Услуги». > Контактный центр > Настройки арендатора > Integrations>Connectors. |
| 2 |
На карточке Salesforce нажмите «Настроить» или «Добавить коннектор».
ВАЖНО! ОБЕСПЕЧИВАЙТЕ БЕЗОПАСНОСТЬ ПУТЕМ ПЕРИОДИЧЕСКОЙ ПЕРЕДАЧИ СЕКРЕТНЫХ ДАННЫХ Для обеспечения безопасности интеграций обязательно регулярно меняйте закрытый ключ и сертификат. Обновите закрытый ключ в коннекторе контакт-центра в Webex Hubи сертификат в внешнем клиентском приложении в Salesforce. Совет по устранению неполадок Если после нажатия кнопки «Готово» коннектор не сохраняется:
|
Основной алгоритм работы контакт-центра Webex
| Переменный расход | Описание |
|---|---|
| Переменная потока для идентификатора записи голосового вызова | Уникальный идентификатор для идентификации звонка. Необходимо для создания записи голосового вызова. Формат: wxcc_<Interaction Id> Пример. wxcc_fc4ec7d8-4c91-49aa-b764-081fbba344a8
|
| Локальная переменная для времени начала вызова |
Используется для создания записи голосового вызова и при обновлении информации о голосовом вызове.
|
| Локальная переменная для очереди name/id |
Возвращается функцией Execute Omni Flow, используемой для маршрутизации вызовов. Эта переменная необходима только при использовании функции «Выполнить Omni Flow».
|
| Локальная переменная для агента name/id |
Возвращается функцией Execute Omni Flow, используемой для маршрутизации вызовов. Эта переменная необходима только при использовании функции «Выполнить Omni Flow».
|
Обзор основного потока

- Сгенерировать ключ вызова поставщика
- Установить время начала звонка
- HTTP-запрос: Создать запись голосового вызова
- Оцените HTTP-ответ для создания записи голосового вызова.
- Обработка ошибок при создании записи голосового вызова.
- HTTP-запрос: Выполнить Omni Flow
- Оцените HTTP-ответ для выполнения Omni-потока.
- Обработка ошибок при выполнении Omni Flow
- Продолжить маршрутизацию вызовов
| Поток | Описание |
|---|---|
| Сгенерировать ключ вызова поставщика |
Каждый звонок, обработанный в Service Cloud Voice, создает запись о голосовом вызове в Salesforce и требует уникального идентификатора, называемого ключом вызова поставщика (Vendor Call Key). Для записей голосовых вызовов, созданных в Webex Contact Center, ключ вызова поставщика должен быть определен в потоке WxCC, а затем передан вместе со вызовом агенту с помощью переменной потока. Значение vendorCallKey должно соответствовать следующим правилам:
|
| Установить время начала звонка |
Временная метка UTC, указывающая на время начала звонка. Эта метка времени используется для создания записи о голосовом вызове и для обновления записи о голосовом вызове, если звонящий завершает разговор до того, как его перенаправят к оператору.
|
| HTTP-запрос: Создать запись голосового вызова |
Этот шаг необходим для каждого звонка. После создания записи голосового вызова идентификатор записи голосового вызова необходимо передать агенту в переменной вместе с ключом вызова поставщика. Настройте используемую переменную в конфигурации контакт-центра в Service Cloud Voice. |
| Настройки HTTP-запроса |
|
HTTP-запрос: Создать запись голосового вызова
Этот шаг необходим для каждого звонка. После создания записи голосового вызова идентификатор записи голосового вызова необходимо передать агенту в переменной вместе с ключом вызова поставщика. Настройте используемую переменную в конфигурации контакт-центра в Service Cloud Voice.
Настройки HTTP-запроса
- Метка активности: Создать голосовой вызов
- Использовать аутентифицированную конечную точку: Включено
- Разъем: Коннектор Salesforce, созданный на предыдущем шаге.
- Путь запроса:
/services/apexrest/cisco_wxcc_scv/voice/v1/createVoiceCall - Метод: POST
- Тип содержимого запроса: Application/JSON
Текст запроса
При создании записи голосового вызова вы также можете обновлять пользовательские поля в записи голосового вызова данными о вызове. Ниже приведены два примера тела запроса: один содержит все обязательные поля, но без обновления пользовательских полей, а другой — содержит пользовательские поля.
Без обновления пользовательских полей в записи голосового вызова:
{
"callCenterDevName": "",
"certDevName": "",
"vendorCallKey": "{{SCV_VendorCallKey}}",
"to": "{{NewPhoneContact.DNIS}}",
"from": "{{NewPhoneContact.ANI}}",
"initiationMethod": "Inbound",
"startTime": "{{SCV_CallStartTime}}",
"participants": [
{
"participantKey": "{{NewPhoneContact.ANI}}",
"type" : "END_USER"
}
]
}
Пример обновления пользовательских полей в записи голосового вызова:
{
"callCenterDevName": "",
"certDevName": "",
"vendorCallKey": "{{SCV_VendorCallKey}}",
"to": "{{NewPhoneContact.DNIS}}",
"from": "{{NewPhoneContact.ANI}}",
"initiationMethod": "Inbound",
"startTime": "{{SCV_CallStartTime}}",
"participants": [
{
"participantKey": "{{NewPhoneContact.ANI}}",
"type" : "END_USER"
}
],
"callAttributes": "{\"custfield1__c\": \"\",\"custfield2__c\": \"\",\"custfield3__c\": \"\"}"
}
Параметры
| Название объекта недвижимости | Значение |
|---|---|
| callCenterDevName | Название разработчика контакт-центра |
| certDevName | Название API-сертификата (как настроено в контакт-центре) |
| vendorCallKey | Уникальный идентификатор вызова: {{SCV_VendorCallKey}} |
| кому | CalledNumber/DNIS: {{NewPhoneContact.DNIS}} |
| от | CallingNumber/ANI: {{NewPhoneContact.ANI}} |
| startTime | Временная метка UTC {{SCV_CallStartTime}} (устанавливается сразу после принятия вызова в скрипте) |
| callAttributes |
Представляет собой дополнительные стандартные и пользовательские поля в записи голосового вызова, где каждая пара ключ-значение соответствует стандартному или пользовательскому полю и его значениям. Пример: |
Настройки анализа
- Тип контента: JSON
- Выходная переменная: SCV_VoiceCallRecordId
- Выражение пути:
$.data.voiceCallId
Идентификатор записи голосового вызова, который будет передан оператору.
Оцените HTTP-ответ для создания записи голосового вызова.
Проверьте HTTP-статус HTTP-запроса на создание голосового вызова:
- Этикетка: statusCodeCreateVoiceCall
- Переменная: CreateVoiceCall.httpStatusCode
Если код состояния == 200 => успешный в противном случае => Запрос не выполнен, обработка ошибки
Обработка ошибок при создании записи голосового вызова.
Для демонстрации / Только отладка, воспроизведение сообщения зависит от кода состояния HTTP.
Если создание голосового вызова прошло успешно, перейдите к выполнению Omni Flow. В противном случае, продолжайте маршрутизацию вызовов.
HTTP-запрос: Выполните Omni Flow (необязательный шаг)
Используйте команду Execute Omni-Flow, когда вам это необходимо:
- Выполнять автоматизированные задачи, например, поиск или создание записей, и связывать эти записи с записями голосовых вызовов.
- искать записи и делать скриншоты
- синхронизировать очереди Salesforce и Cisco
- Пусть Service Cloud Voice примет решение о маршрутизации.
Этот запрос всегда возвращает "очередь" или "агента", к которому должен быть направлен звонок.
После выполнения этого запроса обязательно отправьте команду Clear Routing, если звонящий повесит трубку до того, как ему ответит оператор. См. Схема событий контакт-центра Webex.
Настройки HTTP-запроса
- Метка активности: ExecuteOmniFlow
- Использовать аутентифицированную конечную точку: Включено
- Разъем: Коннектор Salesforce, созданный на предыдущем шаге.
- Путь запроса:
/services/apexrest/cisco_wxcc_scv/voice/v1/executeOmniFlow - Метод: POST
- Тип содержимого запроса: Application/JSON
Текст запроса
Помимо обязательных полей, вы можете передавать в Omni-Flow дополнительные данные в качестве входных переменных. Ниже приведены два примера текста запроса. Первый вариант без дополнительных параметров потока, только необходимые поля, второй — с двумя входными переменными.
Пример с параметрами Omni-Flow:
{
"callCenterDevName": "",
"certDevName": "",
"voiceCallId": "{{SCV_VoiceCallRecordId}}",
"dialedNumber": "{{NewPhoneContact.DNIS}}",
"flowDevName": "",
"fallbackQueue": ""
}
Пример обновления пользовательских полей в записи голосового вызова:
{
"callCenterDevName": "",
"certDevName": "",
"voiceCallId": "{{SCV_VoiceCallRecordId}}",
"dialedNumber": "{{NewPhoneContact.DNIS}}",
"flowDevName": "",
"fallbackQueue": "",
"flowInputParameters":
{
"param1": "value1",
"param2": "value2"
}
}
Параметры
| Название объекта недвижимости | Значение |
|---|---|
| callCenterDevName | Название разработчика контакт-центра |
| certDevName | Название API-сертификата (как настроено в контакт-центре) |
| voiceCallId | Идентификатор записи голосового вызова, созданной на предыдущем шаге: {{SCV_VoiceCallRecordId}} |
| набранный номер | CalledNumber/DNIS: {{NewPhoneContact.DNIS}} |
| flowDevName | Имя разработчика, которому будет выполняться Omni-Flow. |
| fallbackQueue | Идентификатор очереди или имя API очереди резервной очереди Salesforce |
| flowInputParameters |
Дополнительные входные данные для многоканального потока (пары ключ-значение). Пример: |
Настройки анализа
Очередь
- Тип контента: JSON
- Выходная переменная: SCV_OmniFlowQueue
- Выражение пути:
$.data.queue
Функция «Queue», возвращаемая функцией Execute Omni-Flow, может использоваться для маршрутизации.
Оператор- Тип контента: JSON
- Выходная переменная: SCV_OmniFlowAgent
- Выражение пути:
$.data.agent
Объект «Agent», возвращаемый функцией Execute Omni-Flow, может использоваться для маршрутизации.
Оцените HTTP-ответ для выполнения Omni-потока.
Проверьте HTTP-статус HTTP-запроса Execute Omni Flow:
- Этикетка: statusCodeExecuteOmniFlow
- Переменная: ExecuteOmniFlow.httpStatusCode
Если код состояния == 200 => успешный в противном случае => Запрос не выполнен, обработка ошибки.
Обработка ошибок при выполнении Omni Flow
Для демонстрации / Только отладка, воспроизведение сообщения зависит от кода состояния HTTP.
Если операция Execute Omni Flow прошла успешно, переменные SCV_OmniFlowQueue и SCV_OmniFlowAgent не устанавливаются. Решение о маршрутизации в процессе обработки вызова.
Продолжить маршрутизацию вызовов
Продолжайте обработку звонка, перенаправьте звонок оператору. При желании используйте SCV_OmniFlowQueue и SCV_OmniFlowAgent для выбора очереди и агента.
Схема обработки событий контакт-центра Webex
Если звонящий завершает разговор до того, как на него ответит оператор, нам необходимо обновить Service Cloud Voice и завершить вызов.
- Если использовалась функция Execute Omni-Flow, отправьте команду Clear Routing для удаления ожидающей маршрутизации сервиса (PSR).
- Отправьте команду «Обновить голосовой вызов», чтобы обновить время начала и окончания в записи голосового вызова и изменить статус с «Новый» на «Завершенный».

- Событие PhoneContactEnded срабатывает, когда активный звонок прерывается и все участники удаляются из списка.
- HTTP-запрос: Очистка маршрутизации
- HTTP-запрос: Обновить голосовой вызов
HTTP-запрос: Очистка маршрутизации
- Этикетка: Очистка маршрутизации
- Использовать аутентифицированную конечную точку: Включено
- Разъем: Коннектор Salesforce, созданный на предыдущем шаге.
- Путь запроса:
/services/apexrest/cisco_wxcc_scv/voice/v1/clearRouting - Метод: POST
Тип содержимого запроса: Application/JSON
Текст запроса
{
"callCenterDevName": "",
"certDevName": "",
"voiceCallId": "{{SCV_VoiceCallRecordId}}"
}
Параметры
| Название объекта недвижимости | Значение |
|---|---|
| callCenterDevName | Название разработчика контакт-центра |
| certDevName | Название API-сертификата (как настроено в контакт-центре) |
| voiceCallId | Идентификатор записи голосового вызова, созданной на предыдущем шаге: SCV_VoiceCallRecordId |
Настройки анализа
Нет.
HTTP-запрос: Обновить голосовой вызов
- Этикетка: Обновить голосовой вызов
- Использовать аутентифицированную конечную точку: Включено
- Разъем: Коннектор Salesforce, созданный на предыдущем шаге.
- Путь запроса:
/services/apexrest/cisco_wxcc_scv/voice/v1/updateVoiceCall - Метод: POST
- Тип содержимого запроса: Application/JSON
Текст запроса
{
"callCenterDevName": "",
"certDevName": "",
"voiceCallId": "{{SCV_VoiceCallRecordId}}",
"startTime": "{{SCV_CallStartTime}}",
"endTime": "{{now() | replace({'[UTC]': ''})}}",
"disconnectReason": { "value": "Abandoned in queue", "isError": true }
}
Параметры
| Название объекта недвижимости | Значение |
|---|---|
| callCenterDevName | Название разработчика контакт-центра |
| certDevName | Название API-сертификата (как настроено в контакт-центре) |
| voiceCallId | Идентификатор записи голосового вызова, созданной на предыдущем шаге: SCV_VoiceCallRecordId |
| startTime | Временная метка UTC начала вызова {{SCV_CallStartTime}} (используется для создания записи голосового вызова) |
| endTime | Текущая метка времени UTC `{{now() |
| причина отключения | Причина обрыва звонка. Для корректного отображения свойство isError необходимо установить в значение true. |
Настройки анализа
Нет.
Ссылки
- Создание закрытого ключа и самоподписанного цифрового сертификата.
- Настройка подключенного приложения для Webex Contact Center Salesforce Connector
- Настройка интеграционных коннекторов для Webex Contact Center - Salesforce
- Руководство по настройке и администрированию Cisco Webex Contact Center > Конструктор потоков
- REST API для интеграции телефонии
Языковой перевод
(Необязательно) Включить рабочую среду перевода
Этот параметр применим только в том случае, если вы используете настройки языка перевода.
| 1 |
Перейдите в Настройки → Рабочая среда перевода → Настройки языка перевода. |
| 2 |
Нажмите Включить, чтобы выбрать язык перевода. |
(Необязательно) Включить языки, доступные только на данной платформе.
Этот параметр применим только для языков, отличных от английского (EN-US).
| 1 |
Перейдите в Настройки → Настройки компании → Языковые настройки. |
| 2 |
Выберите необходимые языки. |
| 3 |
Выберите следующие флажки:
|
| 4 |
Сохраните внесенные изменения. |
Активируйте язык и выберите пользователя (задачу).
| 1 |
Перейдите в Настройки → Рабочая среда перевода → Настройки языка перевода. |
| 2 |
Выберите язык и выберите пользователя, который будет переводить. |
| 3 |
Сохраните внесенные изменения. |
Многоязычные настройки
Перевод пользовательских этикеток
| 1 |
Перейдите в раздел «Настройка» → «Пользовательские метки». |
| 2 |
Выберите название пользовательской метки, чтобы открыть её.
|
| 3 |
В списке связанных переводов нажмите |
| 4 |
Выберите язык, на который вы переводите. |
| 5 |
Введите переведенное значение в поле «Текст перевода». Этот текст переопределяет значение, указанное в поле «Значение» метки, если языком по умолчанию для пользователя является язык перевода. |
| 6 |
Сохраните внесенные изменения. |
Для выполнения пользовательских функций требуются разрешения Salesforce.
Набор разрешений для агентов Webex Contact Center SCV содержит все разрешения, необходимые для работы с гаджетом Webex Contact Center и интеграциями, разработанными для агентов.
Доступ к классам Apex (раздел)
- cisco_wxcc_scv.CiscoScvWxcc
- cisco_wxcc_scv.ServiceResponseHandler
- cisco_wxcc_scv.ServiceRouting
- cisco_wxcc_scv.TelephonyIntegrationHandler
Доступ к пользовательским типам метаданных (раздел)
- cisco_wxcc_scv.WxCC Connection
Доступ к страницам Visualforce (раздел)
- cisco_wxcc_scv.CiscoScvLoginWxCC
- cisco_wxcc_scv.CiscoScvMainWxCC
- cisco_wxcc_scv.CiscoScvOAuthRedirect
- cisco_wxcc_scv.CiscoScvSwLoader
Оболочка API голосового сервиса Service Cloud
Предварительные требования
Для использования Service Cloud Voice API Wrapper необходимо настроить внешнее клиентское приложение Salesforce для интеграции с IVR .
Используйте оболочку API Service Cloud Voice.
Service Cloud Voice (SCV) для Salesforce использует REST API интеграции телефонии для создания и обновления голосовых вызовов, выполнения многоканальных потоков и удаления записей PendingServiceRouting, связанных с голосовым вызовом. Для работы этой услуги требуется авторизация JWT и использование метода HTTP PATCH, который в настоящее время не поддерживается системой интерактивного голосового ответа Cisco IP (IVR).
Для упрощения использования REST API интеграции телефонии для SCV (не только) в системах IVR был разработан новый набор API, которые являются оберткой над существующим API Salesforce и доступны непосредственно из организации Salesforce, где установлен пакет Webex Contact Center for Service Cloud Voice.
Оболочка API Service Cloud Voice устраняет необходимость аутентификации с помощью JWT-токена, реализует дополнительные проверки данных, необходимых для API Salesforce, и улучшает объекты ответов.
Извлечь токен Access_
Выполните POST запрос к https://<your-domain-name>.my.salesforce.com/services/oauth2/token
В теле запроса отправляются следующие параметры:
{
"grant_type": "client_credentials",
"client_id": "",
"client_secret": ""
}
If the request is successful, the following JSON response will be returned:
{
"access_token": "",
"instance_url": "",
"id": "https://login.salesforce.com/id//",
"token_type": "Bearer",
"issued_at": "",
"signature": ""
}
Выполните запросы
URL-адрес экземпляра должен содержать my.salesforce.com.
Пример корректного URL-адреса экземпляра: https://abc-123.my.salesforce.com
Использование любого другого домена в качестве URL-адреса экземпляра (например, https://abc-123.lightning.force.com ) приводит к ошибке 401 Unauthorized с кодом ошибки INVALID_SESSION_ID.
Создать голосовой вызов (раздел)
Создает запись VoiceCall, содержащую участников (то есть звонящего и получателя) для данной записи VoiceCall. При создании записи голосового вызова в Salesforce создается диалог. Используйте этот API только в режиме реального времени, то есть вызывайте его только при поступлении запроса. Этот API также можно использовать для создания записей VoiceCall для переадресации и конференц-звонков, добавив параметр parentVoiceCallId в полезную нагрузку запроса.
URI конечной точки
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/createVoiceCall
Метод HTTP
POST
Заголовки
Авторизация: Носитель <access_token>
Content-Type: application/json
Параметры
{
"callCenterDevName": "contactCenterDevName123",
"certDevName": "certDevName123",
"vendorCallKey": "5324881f-1e84-4367-8930-f69a74b30ca6",
"to": "8002345678",
"from": "4081456688",
"initiationMethod": "Inbound",
"startTime": "2019-07-02T17:32:28Z",
"participants": [
{
"participantKey": "4081456688",
"type" : "END_USER"
}
],
"callAttributes": "{\"devscv24__AAA_Test__c\":\"field value\",\"Other_Field__c\":\"other value\"}",
"parentVoiceCallId": "fsdfzuhsdfsa-43556fgef3-56g44gv4ew",
"callOrigin": "Preview",
"queue": "queue123"
}
Ответ (успешно)
{
"data": {
"voiceCallId": "00X000012345abc"
},
"errors": null,
"success": true
}
Ответ (с ошибками)
{
"data": null,
"errors": ["Error message 1", "Error message 2"],
"success": false
} Обновить голосовой вызов
Обновляет информацию о голосовом вызове после его завершения. Используйте этот API для обновления параметров, связанных с вызовом, которые недоступны на этапе создания голосового вызова. Обновление API VoiceCall — это асинхронная операция. Вы не можете запросить статус вызова API.
Этот конечный пункт также можно использовать для создания голосового вызова даже после завершения звонка. Такое поведение полезно в ситуациях, когда необходимо зарегистрировать в Salesforce запись о прерванных или пропущенных звонках, а также в любых других ситуациях, когда голосовой вызов еще не был создан.
URI конечной точки
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/updateVoiceCall
Метод HTTP
POST
Заголовки
Авторизация: Носитель <access_token>
Content-Type: application/json
Параметры
{
"callCenterDevName": "contactCenterDevName123",
"certDevName": "certDevName123",
"voiceCallId": "00X000012345abc",
"startTime": "2020-08-26T21:21:14Z",
"endTime": "2019-08-26T21:21:34Z",
"isActiveCall": true,
"fromNumber": "1234",
"callOrigin": "Preview",
"enqueueTime": "2019-08-26T21:21:34Z",
"acceptTime": "2019-08-26T21:21:24Z",
"numberOfHolds": 20,
"queue": "queue123",
"agent": "agent123",
"agentInteractionDuration": 12,
"longestHoldDuration": 10,
"totalHoldDuration": 21,
"recordingLocation": "Bern",
"totalRecordingDuration": 55,
"callAttributes": "{\"devscv24__AAA_Test__c\":\"field value\",\"Other_Field__c\":\"other value\"}",
"disconnectReason": {
"value": "TELECOM_PROBLEM",
"isError": true
}
} Подробное описание параметров, принимаемых этим запросом, можно найти в официальной документации Salesforce в разделе «Параметры».
Ответ (успешно)
{
"data": {
"status": "pending"
},
"errors": null,
"success": true
} Обновление API VoiceCall — это асинхронная операция. Вы не можете запросить статус вызова API.
Ответ (с ошибками)
{
"data": null,
"errors": ["Error message 1", "Error message 2"],
"success": false
} Выполнить Omni-flow
Выполняет многоканальный поток для маршрутизации вызовов. В качестве параметров в поток передается идентификатор вызова (Salesforce VoiceCallId или ContactId поставщика телефонных услуг) и возвращаются инструкции по маршрутизации вызова агенту или очереди в поток обработки контактов. По умолчанию Service Cloud Voice использует поток Omni-Channel (или резервную очередь), указанный для телефонного канала, соответствующего набранному номеру. Если набранный номер не соответствует существующему телефонному каналу, вы можете дополнительно задать новый набранный номер, поток Omni-Channel и резервную очередь в качестве входных параметров для этого вызова API.
Сервис Cloud Voice использует следующий порядок приоритета для маршрутизации вызовов:
- Использует настройки многоканального потока и резервной очереди для телефонного канала, соответствующего набранному номеру. Поток имеет приоритет. В случае сбоя процесса используется резервная очередь.
- Использует параметры flowDevName и fallbackQueue, указанные в вызове API Execute Omniflow.
URI конечной точки
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/executeOmniFlow
Метод HTTP
POST
Заголовки
Авторизация: Носитель <access_token>
Content-Type: application/json
Параметры
{
"callCenterDevName": "contactCenterDevName123",
"certDevName": "certDevName123",
"voiceCallId": "00X000012345abc",
"dialedNumber": "+18445791189",
"flowDevName": "Route_VoiceCall",
"fallbackQueue": "00G111222333444",
"flowInputParameters":
{
"Input1": "one",
"Input2": "two"
}
} Ответ (успешно)
{
"data": {
"queue": "queue info",
"agent": "agent info"
},
"errors": null,
"success": true
} AGENT_INFO и QUEUE_INFO соответствуют полю ExternalId в CallCenterRoutingMap.
Ответ (с ошибками)
{
"data": null,
"errors": ["Error message 1", "Error message 2"],
"success": false
} Прозрачная маршрутизация
Удаляет запись PendingServiceRouting (PSR) для голосового вызова. В большинстве случаев вызывать этот API не требуется; запись PSR автоматически удаляется, когда вызов больше не маршрутизируется. Однако существуют некоторые сценарии, например, при пропущенных или прерванных звонках при использовании партнерских телефонных систем, когда необходимо явно вызвать этот API для очистки записи PSR.
URI конечной точки
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/clearRouting
Метод HTTP
POST
Заголовки
Авторизация: Носитель <access_token>
Content-Type: application/json
Параметры
{
"callCenterDevName": "contactCenterDevName123",
"certDevName": "certDevName123",
"voiceCallId": "00X000012345abc"
} Ответ (успешно)
{
"data": {
"status": "Success"
},
"errors": null,
"success": true
} Ответ (с ошибками)
{
"data": null,
"errors": ["Error message 1", "Error message 2"],
"success": false
} Перевод телефонных номеров
Различные взаимодействия между Service Cloud Voice и Webex Contact Center зависят от преобразования телефонных номеров. В связи с международными различиями и специфическими потребностями клиентов, необходим настраиваемый инструмент для переноса телефонных номеров из формата А в формат В.
Решение Webex Contact Center for Service Cloud Voice автоматически удаляет все символы, кроме цифр и символов решетки (#). (#), звездочки (*), запятые (,) и знаки плюса в начале предложения. (+). Это также удаляет первое вхождение (0). Это будет сделано ДО применения перевода ваших телефонных номеров.
В этом руководстве описано, как настроить перевод телефонных номеров.
Поля
Перевод телефонных номеров хранится в полях типа «Имя-Значение». Это позволяет настраивать неограниченное количество правил для каждой функции.
Настройки хранятся в виде строки JSON.
Обратите внимание, что обратные косые черты необходимо экранировать, например: \d+ становится \\d+.
{"Remove all characters but digits":"[1,17]->[^\\d]+","To internal number":"[7,17]->(\\d{7})(\\d{4})->$2"}
Технически поле "Имя поля" не используется. Это сделано для того, чтобы добавить удобочитаемую строку, позволяющую быстро определить назначение этого правила. Хорошие названия, например: Удалить все ведущие нули, Добавить ведущий плюс и т. д.
Создание правил перевода
Правила представлены в виде регулярных выражений. Если быть точнее: Реализация регулярных выражений на JavaScript.
Хорошим началом будет ознакомление с документацией по регулярным выражениям на веб-сайте MDN.
Тем не менее, создание сложных регулярных выражений зачастую сопряжено с трудностями. Поэтому мы добавили дополнительный синтаксис, чтобы максимально упростить настройку.
На рисунке ниже показан общий синтаксис правила преобразования телефонного номера:
Предикат
Предикат используется для указания интервала, определяющего длину числа, которое необходимо сопоставить.
Приведенный выше предикат указывает, что все числа длиной от 7 до 11 символов (включая ребра) относятся к определенным категориям. + пробелы) совпадают.
Предикаты всегда соответствуют исходной длине числа. Это помогает упростить конфигурацию, снижая риск возникновения конфликтов правил во внутренних системах. / внешние номера.
Шаблон
В поле «Шаблон» указывается формат числа, которое необходимо сопоставить.
Приведенный выше шаблон указывает, что число должно состоять только из цифр, и выбирает именно их.
Селектор
Селекторы определяют окончательный формат числа. Если символы / Необходимо добавить цифры, которых изначально не было; это нужно сделать здесь.
Селектор — это последний шаг в построении числа. На основе полученного шаблона селектор формирует новое число.
Пример 1
В следующем примере показано, как преобразовать номер, полученный от контакт-центра в формате 0319175200, в швейцарский формат E164. +41 31 917 52 00.
В этом примере используются два правила перевода (1. и 2.)
Первое правило в этом примере фактически не меняет число. Для чисел длиной от 1 до 17 символов удаляются все символы, кроме цифр. Поскольку нецифровых символов нет, ничего не меняется.
Второе правило применяется к числам, длина которых составляет ровно 10 символов (изначально). Число 0319175200 совпадает, поэтому правило применяется. В соответствии с этим шаблоном, число должно начинаться с группы из одной цифры. (\d{1}), за которыми следует группа из двух цифр (\d{2}), за которыми следует группа из трех цифр (\d{3}), и так далее.
Затем селектор обращается к группам шаблонов для определения новой числовой строки. Это означает $2 ссылается на первый (\d{2}) и, следовательно, содержит 31.
Пример 2
В следующем примере показано, как передать номер, полученный из контакт-центра, в следующем формате: +14693150217 в формат США E164 +1 469 315 0217.
В этом примере используются два правила перевода (1. и 2.)
- Эта цифра состоит ровно из 12 символов, поэтому применяется правило «Добавляйте пробелы к американским цифрам».
- (\+1) говорит, что число должно начинаться с +1. Если число состоит из 12 символов, но не начинается с буквы «а». +1, Правило отменено, и ничего не меняется.
- (\d{3}) говорит, что +1 За ним должны следовать 3 цифры.
- (\d{3}) гласит, что за последними 3 цифрами должны следовать еще 3 цифры.
- (\d{4}) гласит, что за последними 3 цифрами должны следовать 4 цифры.
Если хотя бы одно из этих значений не совпадает, число не будет изменено.
Таким образом, все правила распространяются на “+14693150217”. Следовательно, число изменяется на “$1 $2 $3 $4”:
- $1 относится к группе (\+1), Номер, который нужно отправить в Service Cloud Voice, выглядит следующим образом: +1.
- $2 относится к первому из двух (\d{3}), номер, который нужно отправить в Service Cloud Voice, выглядит следующим образом: +1 469.
- $3 относится ко второму из двух (\d{3}), номер, который нужно отправить в Service Cloud Voice, выглядит следующим образом: +1 469 315.
- $4 относится к последней группе (\d{4}), номер, который нужно отправить в Service Cloud Voice, выглядит следующим образом: +1 469 315 0217.
Пробелы в части правила, отвечающей за замену. “$1 $2 $3 $4” используются напрямую. Так что, если вы используете “$1-$2-$3-$4” Это число будет переведено следующим образом: +1-469-315-0217
А также вам разрешено удалять группы: [12, 12]->(\+1)(\d{3})(\d{3})(\d{4})->$2 $3 $4 будет переведено на: 469 315 0217. [12, 12]->(\+1)(\d{3})(\d{3})(\d{4})-> $3 $4 будет переведено на: 315 0217.
Также можно преобразовать международный американский номер в местный, например: [12, 12]->(\+1)(\d{3})(\d{3})(\d{4})->($2) $3-$4.
Затем входящее число “+14693150217” будет переведено на: (469) 315-0217.
Пример 3
В следующем примере показано, как передать номер, полученный из контакт-центра, в следующем формате: +491515555531 в немецкий формат E164 +49 151 5555 531.
В этом примере используются два правила перевода (1. и 2.)
- Эта цифра состоит ровно из 13 символов, поэтому применяется правило «Добавляйте пробелы к немецким цифрам».
- (\+49) говорит, что число должно начинаться с +49. Если число состоит из 13 символов, но не начинается с буквы «а». +49, Правило отменено, и ничего не меняется.
- (\d{3}) говорит, что +49 За ним должны следовать 3 цифры.
- (\d{4}) гласит, что за последними 3 цифрами должны следовать 4 цифры.
- (\d{3}) гласит, что за последними 4 цифрами должны следовать 3 цифры.
Если хотя бы одно из этих значений не совпадает, число не будет изменено.
Таким образом, все правила распространяются на “+491515555531”. Следовательно, число изменяется на “$1 $2 $3 $4”:
- $1 относится к группе (\+49), Номер, который нужно отправить в Service Cloud Voice, выглядит следующим образом: +49.
- $2 относится к первому из двух (\d{3}), номер, который нужно отправить в Service Cloud Voice, выглядит следующим образом: +49 151.
- $3 относится ко второму из двух (\d{4}), номер, который нужно отправить в Service Cloud Voice, выглядит следующим образом: +49 151 5555.
- $4 относится к последней группе (\d{3}), номер, который нужно отправить в Service Cloud Voice, выглядит следующим образом: +49 151 5555 531.
То же самое относится и к правилу номер один. Вы можете использовать запасную часть. $1 $2 $3 $4 выбрать из предложенных вариантов то, что нужно использовать.
Больше примеров регулярных выражений для перевода
| Описание | Регулярное выражение для перевода |
|---|---|
| Удалите все символы, кроме цифр. | [1,17]->[^\d]+ |
| Удалите все символы, кроме цифр. & + | [1,17]->[^+\d]+ |
| Описание | Регулярное выражение для перевода |
|---|---|
| Удалять +1 | [12,12]->(.{1})(\d{1})(\d{10})->$3 |
| Удалять +1 | [10,12]->(^\+1+)(\d+)->$2 |
| Удалять +49 | [10,15]->(^\+49+)(\d+)->$2 |
| Удалять +49 | [10,15]->(.{1})(\d{2})(\d{9})->$3 |
| Удалять +41 | [10,13]->(^\+41+)(\d+)->$2 |
| Удалять +41 | [10,13]->(.{1})(\d{2})(\d{9})->$3 |
| Удалять +XX | [10,14]->(^\++)(\d{2})(\d+)->$3 |
| Описание | Регулярное выражение для перевода |
|---|---|
| Удалять + и заменить его нулями US E164 | [10,12]->(.{1})(\d{1})(\d{10})-> 001 $3 |
| Удалять +1 и заменить его нулями US E164 | [10,12]->(^\+1+)(\d+)-> 001$2 |
| Удалять + и заменить его нулями DE E164 | [12,15]->(.{1})(\d{2})(\d{10})-> 0049 $3 |
| Удалять +49 и заменить его нулями DE E164 | [10,12]->(^\+49+)(\d+)-> 0049$2 |
| Удалять + и заменить его нулями CH E164 | [10,13]->(.{1})(\d{2})(\d{9})-> 0041 $3 |
| Удалять +41 и заменить его нулями CH E164 | [10,12]->(^\+41+)(\d+)-> 0041$2 |
| Описание | Регулярное выражение для перевода |
|---|---|
| Номер телефона в США с пробелом | [12,17]->(\d{1})(\d{3})(\d{3})(\d{4})->+1 $2 $3 $4 |
| Номер телефона в США с пробелом | [12,17]->(\+1)(\d{3})(\d{3})(\d{4})->$1 $2 $3 $4 |
| Номер DE с пробелом | [12,17]->(\d{2})(\d{3})(\d{4})(\d{3})->+49 $2 $3 $4 |
| Номер DE с пробелом | [12,17]->(\+49)(\d{3})(\d{4})(\d{3})->$1 $2 $3 $4 |
| Номер CH с пробелом | [12,17]->(\d{2})(\d{2})(\d{3})(\d{2})(\d{2})->+41 $2 $3 $4 |
| Номер CH с пробелом | [12,17]->(\+41)(\d{2})(\d{3})(\d{2})(\d{2})->$1 $2 $3 $4 |
Настройка страницы голосового вызова
Настройте страницу записи голосового вызова.
Страница записи голосового вызова по умолчанию имеет предустановленный трехколоночный макет и следующие компоненты:
- Действия & рекомендации
- Сведения о вызовах
- Подробности вызова
- Записи
Компоненты можно свободно удалять или добавлять на страницу в зависимости от потребностей бизнеса. Можно использовать различные макеты страниц, но некоторые компоненты, такие как проигрыватель записи звонков и текст разговора, помещаются только на средних и больших участках шаблона.
Отобразить компонент «Причина подведения итогов»
Компонент «Причина завершения» должен отображаться во время звонка и во время завершения разговора.
Добавьте компонент Cisco Wrap-Up Reason на страницу записи голосового вызова:
- Перетащите компонент Lightning Cisco Wrap-Up Reason из области «Пользовательские» в списке компонентов Lightning на страницу записи голосового вызова.
- Щелкните Сохранить.
- Щелкните Активировать.
- Нажмите Назначить в качестве организации по умолчанию.
- Щелкните Сохранить.
- Нажмите Сохранить еще раз, затем нажмите Стрелка назад для возврата на страницу.
Компонент Cisco Wrap-Up Reason будет автоматически отображаться во время вызова и во время завершения вызова:
Если компонент Cisco Wrap-Up Reason добавлен на страницу, он отображается для каждого вызова, даже если компонент Wrap-Up не настроен в Cisco Contact Center.
Отобразить проигрыватель записи разговоров
Если для соответствующего голосового вызова сохранена ссылка на запись, отобразится окно проигрывателя записей разговоров.
Чтобы добавить компонент «Плеер записи звонков» на страницу записи голосового вызова, выполните следующие действия:
- Перетащите компонент Lightning Web Player для записи звонков на страницу записи голосового вызова.
- НажмитеСохранить.
- НажмитеАктивировать.
- НажмитеНазначить в качестве организации по умолчанию.
- НажмитеСохранить.
- НажмитеСохранитьеще раз, затем нажмите стрелку «Назад», чтобы вернуться на страницу.
Администраторы Webex
Конфигурация потока
Всплывающее окно
В рабочем процессе Webex Contact Center доступен узел "Всплывающее окно на экране". Его можно использовать для запуска всплывающего окна внутри Service Cloud Voice или в отдельном окне.
Дополнительную информацию об этой функции можно найти в документации Flow Designer .
Всплывающее окно Screen Pop открывается в отдельном окне.
Чтобы открыть всплывающее окно в отдельном окне, необходимо указать абсолютный URL-адрес ( ) в узле "Всплывающее окно". Параметры запроса будут добавлены к URL-адресу в качестве параметров поиска.
Поддерживаются следующие режимы:
- Новая вкладка браузера - Всегда открывает новую вкладку браузера.
- Существующая вкладка браузера - При первом появлении всплывающего окна «Существующая вкладка браузера» открывается новая вкладка браузера. Эта вкладка будет использоваться для последующих всплывающих окон в существующих вкладках браузера, и URL-адрес будет обновляться в этой конкретной вкладке браузера.
- Внутри рабочего стола - обрабатывается так же, как Новая вкладка браузера.
Текущая открытая страница может предотвратить перенаправление. В этом случае всплывающее окно «Существующая вкладка браузера» откроется в новой вкладке браузера.





