В этой статье
dropdown icon
Обзор
    Webex Contact Center для Salesforce Service Cloud Voice
    Предварительные требования и ограничения
    Лицензии
    Включить многоканальный режим
    Ограничения
dropdown icon
Требования
    Коды бездействия
dropdown icon
Интеграция
    Установка
    Установка и настройка Webex Contact Center для Service Cloud Voice
    Присвойте агентам статус(ы) присутствия
dropdown icon
Конфигурация
    Контакт-центр
    Импортируйте контакт-центр.
    Настройка контакт-центра
dropdown icon
Настройка
    Внешнее клиентское приложение для интеграции с контакт-центром Webex
    Настройка Webex Contact Center и скрипт для создания записей голосовых вызовов.
Для выполнения пользовательских функций требуются разрешения Salesforce.
dropdown icon
Оболочка API голосового сервиса Service Cloud
    Предварительные требования
    Используйте оболочку API Service Cloud Voice.
    Извлечь токен Access_
    Выполните запросы
    Создать голосовой вызов (раздел)
    Обновить голосовой вызов
    Выполнить Omni-flow
    Прозрачная маршрутизация
dropdown icon
Перевод телефонных номеров
    Создание правил перевода
dropdown icon
Настройка страницы голосового вызова
    Настройте страницу записи голосового вызова.
    Отобразить компонент «Причина подведения итогов»
    Отобразить проигрыватель записи разговоров
dropdown icon
Администраторы Webex
    Конфигурация потока
Интеграция Webex Contact Center с Salesforce Service Cloud Voice
list-menuВ этой статье
list-menuОтправить обратную связь?

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 лицензиями на партнерскую телефонию, доступными для тестирования.

  • В качестве альтернативы, вы можете проверить это, перейдя в настройки Salesforce и выполнив поиск по запросу "voice" в левой боковой панели.

    • Если отображается "Партнерские контакт-центры телефонии", значит, у вас есть лицензия SCV.
    • Если опция « Партнерские контакт-центры телефонии » не отображается, выполните следующие действия:« Включить голосовую связь в Service Cloud » .
      • Перейдите в раздел «Настройка Salesforce», найдите и выберите «Настройка партнерской телефонии» и переключите кнопку на «Включить голосовую связь Service Cloud».

      • Включите функцию Omni-Channel, чтобы ваши агенты могли совершать и принимать звонки.

Включить многоканальный режим

Если в вашей организации уже включена функция Omni-Channel, пропустите этот шаг.

  1. В разделе «Настройка» введите Настройки многоканального доступа в поле быстрого поиска, затем выберите Настройки многоканального доступа.

  2. Выберите Включить всеканальный режим.
  3. Щелкните Сохранить.

Ограничения

  • Голосовая связь доступна только в 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 по умолчанию.

Интеграция

Установка и настройка Webex Contact Center для Service Cloud Voice

При получении лицензии Service Cloud Voice for Partner Telephony в меню «Настройка» появляется страница Partner Telephony Setup.

Дополнительную информацию можно найти в официальном справочнике Salesforce ( прямая ссылка).

1

В разделе «Настройка» введите Partner Telephony Setup в поле «Быстрый поиск » [, а затем выберите Настройка партнерской телефонии.

2

Включить Включить голосовую связь с партнерской телефонией.

Страница Партнерские контакт-центры телефонии отображается в меню Настройка.

Если вы планируете развернуть пакет в песочнице Salesforce, замените часть login.salesforce.com в ссылке для установки на test.salesforce.com. Обратите внимание, что этот пакет удаляется из вашей организации песочницы при каждом создании новой копии песочницы.

Установите пакет

Для установки пакета:

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

Предоставьте как минимум одному пользователю следующие наборы разрешений, чтобы вы могли создать контакт-центр:

Contact Center Admin (Partner Telephony).
5

Нажмите Настройка | Пользователи | Пользователи.

6

Поиск и выбор пользователя.

7

Прокрутите вниз до раздела «Назначение наборов разрешений».

8

Нажмите Редактировать задания

9

Для Администраторов контакт-центра: назначить набор разрешений Администратор контакт-центра (Партнерская телефония).

10

Для операторов контакт-центра: Назначьте набор разрешений для агента контакт-центра (партнерская телефония) и набор разрешений для агента Webex Contact Center SCV.

Не рекомендуется выбирать параметр Установить для всех пользователей, поскольку это предоставляет все разрешения (чтение, создание, редактирование и удаление) на компоненты и объекты пакета любому пользователю, использующему пользовательский профиль.

11

Назначьте пользователям лицензию на пакет для работы с Connects for Service Cloud Voice.

  • Нажмите Настройка | Приложения | Упаковка | Установленные пакеты.
  • Нажмите Управление лицензиями рядом с недавно установленным Webex Contact Center для Service Cloud Voice.
  • Щелкните Добавить пользователей.
  • Выберите пользователей, которым должна быть назначена лицензия, и нажмите Добавить.

12

В качестве альтернативы вы можете нажать Настройка | Пользователи | Пользователи..

13

Найдите и выберите пользователя.

14

Прокрутите вниз до раздела Управляемые пакеты.

15

Нажмите Назначить лицензии.

16

Выберите пакет Webex Contact Center for Service Cloud Voice из списка.

17

Щелкните Добавить.

18

Создайте Статусы присутствия, чтобы определить, какие каналы обслуживания назначаются различным статусам. Агенты могут входить в систему Omni-Channel с разными статусами в зависимости от вида работы, которую они имеют право получать.

19

В разделе «Настройка» введите Presence Statuses в поле быстрого поиска, затем выберите Статусы присутствия.

20

Нажмите Создать. Создайте как минимум один статус для "В сети" и один для "Занят".

  • Создайте для RONA отдельный статус занятости. Настройки присутствия позволяют автоматически устанавливать статус омниканальной связи на заданное значение всякий раз, когда происходит сбой в работе системы CTI или внутри Salesforce.
  • Если вы настраиваете статус RONA в разделе Настройка присутствия, убедитесь, что не используете конфигурацию присутствия по умолчанию. В настоящее время Webex Contact Center для Service Cloud Voice не получает статус RONA, настроенный в конфигурации по умолчанию.

Присвойте агентам статус(ы) присутствия

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 для добавления:

  • https://cisco.my.salesforce-scrt.com

9

Для использования агентом сервиса Service Cloud Voice необходим элемент утилиты Omni-Channel в приложении Lightning Service Console.

  • В разделе «Настройка» введите «Приложения» в поле быстрого поиска, затем выберите «Диспетчер приложений».
  • Щелкните раскрывающийся список рядом с приложением «Консоль обслуживания» или приложением, которое вы хотите использовать, затем нажмите «Редактировать».
  • В настройках приложения нажмите «Утилиты (только для настольных компьютеров)».
  • Нажмите «Добавить вспомогательный элемент».
  • В модальном окне найдите «Omni-Channel».
  • Нажмите «Многоканальный режим».
  • Нажмите «Сохранить» и закройте менеджер приложений.

Официальную справочную информацию от 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 и нажмите кнопку «Предварительный просмотр» для CiscoScvMainWxCC. В зависимости от конфигурации организации Salesforce, Salesforce может автоматически перенаправлять пользователя на другой URL-адрес. Скопируйте URL-адрес и добавьте его в список Trusted Domains for Inline Frames, выбрав "Visualforce Pages" в качестве типа IFrame.

Пример. 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

Для отображения элементов управления записью во время звонков операторам требуется разрешение Control Call Recording на использование приложения.

Чтобы назначить его, добавьте его в набор разрешений, созданный на шаге Статусы присутствия.

  • Откройте набор разрешений.
  • Нажмите на ссылку Разрешения приложения.
  • Нажмите кнопку Правка Кнопка "".
  • Добавьте разрешение « Управление записью звонков в колл-центре » и сохраните изменения.

Конфигурация

Контакт-центр

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

Дополнительную информацию можно найти в официальной документации Salesforce ( прямая ссылка).

Импортируйте контакт-центр.

Загрузите последнюю версию контакт-центра здесь.

Переход с бета-версии: В этом руководстве описывается чистая установка общедоступной (GA) версии интеграции Webex Contact Center с Salesforce Service Cloud Voice.

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

  1. Импортируйте XML-файл партнерского контакт-центра, входящий в состав общедоступной версии.
  2. Создайте новую запись в контакт-центре для партнеров, используя импортированный XML-файл.
  3. Обновите конфигурацию, чтобы использовать недавно созданный контакт-центр для партнеров.

XML-файл GA Partner Contact Center содержит обновленные значения конфигурации, включая правильный URL-адрес коннектора и другие метаданные. Повторное использование записи контакт-центра партнера, созданной на основе бета-версии XML, может привести к сохранению устаревших значений конфигурации и препятствовать корректной работе интеграции.

1

В разделе «Настройка» введите Контактные центры партнерской телефонии в поле Быстрый поиск, затем выберите Контактные центры партнерской телефонии.

Отображается список существующих (если таковые имеются) контакт-центров.
2

Нажмите Создать контакт-центр в правой части страницы.

3

Выберите Webex Contact Center в качестве поставщика телефонных услуг. Затем щелкните Далее.

Открывается файловый браузер.
4

Выберите файл .xml, содержащий описание вашего контакт-центра.

5

Нажмите Открыть.

Файл импортирован.
6

Проверьте, отображается ли ваш контакт-центр в списке контакт-центров.

Настройка контакт-центра

1

В разделе «Настройка» введите Контактные центры партнерской телефонии в поле Быстрый поиск, затем выберите Контактные центры партнерской телефонии.

2

Щелкните по ранее импортированному контактному центру.

3

Щелкните Правка.

Таблица 1. Подробная информация о контакт-центре
ПолеОписание
Отображаемое имя Это название контактного центра, которое отображается в списке доступных контактных центров. Один и тот же файл определения контакт-центра (.xml) можно импортировать несколько раз и присваивать ему разные отображаемые имена.
Открытый ключ

Для использования голосовых функций требуется сертификат с открытым и закрытым ключами. Для получения закрытого ключа можно сгенерировать самоподписанныйсертификат , сгенерировать сертификат , подписанный центром сертификации, или напрямую импортировать файлы хранилища ключей Java (JKS) или файлы хранилища ключей Bouncy Castle FIPS (BCFKS) с помощью кнопки « Импорт из хранилища ключей » .

После генерации сертификата:

  • Нажмите на метку Сертификат.
  • Нажмите Скачать сертификат.
  • Откройте загруженный сертификат с помощью текстового редактора.
  • Скопируйте его содержимое в поле Открытый ключ контактного центра.

Требуется Да

уникальное имя сертификата

Unique Name Самоподписанного сертификата, созданного для Открытого ключа.

Требуется Да

Идентификатор состояния готовности
  • Откройте страницу Статусы присутствия в настройках.
  • Щелкните по статусу Online и скопируйте его идентификатор Salesforce из адресной строки.
  • Вставьте идентификатор в это поле.

Требуется Да

Не готов. Идентификатор штата.
  • Откройте страницу Статусы присутствия в настройках.
  • Щёлкните по статусу Busy и скопируйте его идентификатор Salesforce из адресной строки.
  • Вставьте идентификатор в это поле.

Требуется Да

Причина "Cisco не готов" по умолчанию

Идентификатор кода простоя Cisco, используемый в качестве кода простоя по умолчанию в случае, если для определенного состояния присутствия не указано соответствие.

Требуется Да

Чтобы проверить настроенные идентификаторы кодов простоя, см. раздел Коды простоя.

Сопоставление состояния присутствия

Используется для сопоставления статусов Salesforce Omni Presence с кодами причин готовности и неготовности Cisco.

Необходимо добавить статусы Idle Code :

  • Откройте страницу Статусы присутствия в настройках.
  • Щелкните по одному из статусов Занято и скопируйте его идентификатор Salesforce из адресной строки. Идентификаторы статуса присутствия начинаются с квадратных скобок 0N5. Например, 0N51X0000000AUT.
  • Вставьте идентификатор в это поле, затем запятую и идентификатор кода неактивности Cisco.
  • Можно добавить одно или несколько занятых сопоставлений, разделяя их запятыми.

Во избежание проблем с синхронизацией, квадратные скобки Default Not Ready ID также должны быть указаны в сопоставлении.

Если вы настроили статусы Decline и Push Timeout в разделе Presence Configuration, добавьте их также в сопоставление с соответствующим состоянием Cisco Not Ready.

Формат:

  • Загруженное картографирование: busyPresenceID1,ciscoAuxCodeID1
  • Сопоставление по умолчанию, не готовое: defaultNotReadyPresenceID,ciscoDefaultNotReadyAuxCodeID
  • Онлайн-картография: onlinePresenceId,0

Разделяйте каждое полное отображение точкой с запятой.

Требуется Да

Вот пример завершенных кодов простоя для обеда, совещания и перерыва.

Переменная вызова для идентификатора голосового вызова

Переменная Call используется для хранения идентификатора текущего голосового вызова. Он используется для корректного обновления состояния вызова.

Формат: Имя переменной, как настроено в Webex Contact Center Flow. Например SCV_VoiceCallRecordId

Требуется Да

Значение по умолчанию SCV_VoiceCallRecordId

Если вы объединили идентификатор записи голосового вызова и ключ вызова поставщика в одну переменную потока, вы можете указать ее имя в этом поле. См. также переменную потока для идентификатора записи голосового вызова и ключа вызова поставщика.

Переменная вызова для ключа вызова поставщика

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

Формат: Имя переменной, как настроено в Webex Contact Center Flow. Например SCV_VendorCallKey

Требуется Да

Значение по умолчанию SCV_VendorCallKey

Если вы объединили идентификатор записи голосового вызова и ключ вызова поставщика в одну переменную потока, вы можете оставить это поле пустым и указать имя переменной потока, используя идентификатор записи голосового вызова и ключ вызова поставщика, в поле «Переменная вызова для идентификатора голосового вызова». См. также Переменная потока для идентификатора записи голосового вызова и ключа вызова поставщика.

Перевод номера телефона при наборе

Правила преобразования телефонных номеров, применяемые к номеру перед его набором.

См. Переводы телефонных номеров

Требуется Нет

Регион контакт-центра Webex

Данные об арендаторе используются для определения региона работы контакт-центра Webex. Его можно найти в URL-адресе портала Webex Contact Center, портала для разработчиков или настольной версии. Например, devportal.wxcc-eu2.cisco.com использует область eu2.

Формат: eu2

Требуется Да

Регионы Webex Contact Center и соответствующие строки:

  • США: us1
  • Канада: ca1
  • Великобритания: eu1
  • Германия: eu2
  • Австралия: anz1
  • Сингапур: sg1
  • Япония: jp1
Контактный центр Webex, домен WebRTC

Домен используется для установления корректного WebRTC-соединения. Используйте местоположение вашего клиента Webex Contact Center:

  • США: rtw.prod-us1.rtmsprod.net
  • АВСТРАЛИЯ И НОВАЯ ЗЕЛАНДИЯ: rtw.prod-as1.rtmsprod.net
  • CA: rtw.prod-ca1.rtmsprod.net
  • JP: rtw.prod-ja1.rtmsprod.net
  • EU1: rtw.prod-uk1.rtmsprod.net
  • EU2: rtw.prod-gm1.rtmsprod.net

Требуется Да, WebRTC!

Включить транскрипцию WCCAI

Используется для включения или отключения транскрипции WCCAI.

Формат: True или False

Требуется Нет

Значение по умолчанию False

Сохранить ссылку на запись

Используется для сохранения ссылки на запись звонка Webex в записи голосового звонка.

Формат: True или False

Требуется Нет

Значение по умолчанию True

4

В нижней части страницы Контактный центр нажмите кнопку Добавить в разделе Пользователи контактного центра.

5

Нажмите + рядом с пользователями, имеющими доступ к открытому контакт-центру.

В этом списке отображаются только пользователи, имеющие Contact Center Agent (Partner Telephony) установленные права доступа и еще не назначенные в другие контакт-центры.

Настройка

Внешнее клиентское приложение для интеграции с контакт-центром 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:

  1. В разделе Настройкаперейдите в разделПриложения | Внешние клиентские приложения | Диспетчер внешних клиентских приложений.
  2. Нажмите наСоздать внешнее клиентское приложение.
  3. Внешнее клиентское приложение — основная информация
    • Название внешнего клиентского приложения: 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)

    API (Включить настройки oAuth)

    Включение потоков

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

    Включение Floe

    Безопасность

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

    Безопасность

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

    Политики OAuth

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

    Политика приложений

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

      Настройки 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 нажмите «Настроить» или «Добавить коннектор».

  • Идентификатор клиента: Ключ потребителя внешнего клиентского приложения
  • Адрес электронной почты Salesforce: Имя пользователя Salesforce для "интеграции SCV" (см. Пользователь интеграции SCV)
  • URL-адрес: для использования в производственной среде https://login.salesforce.com или если вы настраиваете dev/sandbox использовать https://test.salesforce.com
  • Закрытый ключ: содержимое файла server.key

ВАЖНО! ОБЕСПЕЧИВАЙТЕ БЕЗОПАСНОСТЬ ПУТЕМ ПЕРИОДИЧЕСКОЙ ПЕРЕДАЧИ СЕКРЕТНЫХ ДАННЫХ

Для обеспечения безопасности интеграций обязательно регулярно меняйте закрытый ключ и сертификат.

Обновите закрытый ключ в коннекторе контакт-центра в Webex Hubи сертификат в внешнем клиентском приложении в Salesforce.

Совет по устранению неполадок

Если после нажатия кнопки «Готово» коннектор не сохраняется:

  • Проверьте, есть ли у вас свободные места. before/after ваши работы.
  • Убедитесь, что ваш закрытый ключ (server.key) совпадает с вашим server.crt. Если вы создадите несколько организаций и поменяете сертификаты местами, они работать не будут.
  • Убедитесь, что ваш файл Server.key начинается с . ----- Begin RSA Private Key -----

Основной алгоритм работы контакт-центра Webex

Таблица 2. Переменный расход
Переменный расходОписание
Переменная потока для идентификатора записи голосового вызова Уникальный идентификатор для идентификации звонка. Необходимо для создания записи голосового вызова.

Формат: wxcc_<Interaction Id>

Пример. wxcc_fc4ec7d8-4c91-49aa-b764-081fbba344a8

  • Имя: SCV_VendorCallKey
  • Тип: Строка
  • Сделать агента видимым: Включено
Локальная переменная для времени начала вызова

Используется для создания записи голосового вызова и при обновлении информации о голосовом вызове.

  • Имя: SCV_CallStartTime
  • Тип: Строка
  • Сделать агента видимым: нет
Локальная переменная для очереди name/id

Возвращается функцией Execute Omni Flow, используемой для маршрутизации вызовов.

Эта переменная необходима только при использовании функции «Выполнить Omni Flow».

  • Имя: SCV_OmniFlowQueue
  • Тип: Строка
  • Сделать агента видимым: нет
Локальная переменная для агента name/id

Возвращается функцией Execute Omni Flow, используемой для маршрутизации вызовов.

Эта переменная необходима только при использовании функции «Выполнить Omni Flow».

  • Имя: SCV_OmniFlowAgent
  • Тип: Строка
  • Сделать агента видимым: нет

Обзор основного потока

  1. Сгенерировать ключ вызова поставщика
  2. Установить время начала звонка
  3. HTTP-запрос: Создать запись голосового вызова
  4. Оцените HTTP-ответ для создания записи голосового вызова.
  5. Обработка ошибок при создании записи голосового вызова.
  6. HTTP-запрос: Выполнить Omni Flow
  7. Оцените HTTP-ответ для выполнения Omni-потока.
  8. Обработка ошибок при выполнении Omni Flow
  9. Продолжить маршрутизацию вызовов
Таблица 3. Основной поток
ПотокОписание
Сгенерировать ключ вызова поставщика

Каждый звонок, обработанный в Service Cloud Voice, создает запись о голосовом вызове в Salesforce и требует уникального идентификатора, называемого ключом вызова поставщика (Vendor Call Key). Для записей голосовых вызовов, созданных в Webex Contact Center, ключ вызова поставщика должен быть определен в потоке WxCC, а затем передан вместе со вызовом агенту с помощью переменной потока.

Значение vendorCallKey должно соответствовать следующим правилам:

  • Значение должно быть < = Длина 255 символов.
  • Значение может включать буквенно-цифровые символы, а также символ подчеркивания (_), дефис (-) и точку (.).
  • Значение должно начинаться с буквы, не содержать пробелов, не заканчиваться символом подчеркивания и не содержать двух последовательных символов подчеркивания.

  • Метка активности: Generate_VendorCallKey
  • Имя переменной: SCV_VendorCallKey
  • Тип переменной: Строка
  • Значение переменной - Заданное значение: wxcc_{{NewPhoneContact.InteractionId}}

Установить время начала звонка

Временная метка UTC, указывающая на время начала звонка. Эта метка времени используется для создания записи о голосовом вызове и для обновления записи о голосовом вызове, если звонящий завершает разговор до того, как его перенаправят к оператору.

  • Метка активности: Установить время начала звонка
  • Переменная: SCV_CallStartTime
  • Значение переменной - Заданное значение: {{now() | replace({'[UTC]': ''})}}
HTTP-запрос: Создать запись голосового вызова

Этот шаг необходим для каждого звонка. После создания записи голосового вызова идентификатор записи голосового вызова необходимо передать агенту в переменной вместе с ключом вызова поставщика. Настройте используемую переменную в конфигурации контакт-центра в Service Cloud Voice.

Настройки HTTP-запроса
  • Метка активности: Создать голосовой вызов
  • Использовать аутентифицированную конечную точку: Включено
  • Разъем: Коннектор Salesforce, созданный на предыдущем шаге.
  • Путь запроса: /services/apexrest/cisco_wxcc_scv/voice/v1/createVoiceCall
  • Метод: POST
  • Тип содержимого запроса: Application/JSON

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

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

Пример:

custfield1__c, custfield2__c, custfield3__c: API-имя пользовательского поля в объекте «Голосовой вызов»

value1, value2, value3: Значение для пользовательского поля

Настройки анализа
  • Тип контента: 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

Дополнительные входные данные для многоканального потока (пары ключ-значение).

Пример:

param1, param2: Название входного параметра Omni-Flow

value1, value2: Значение параметра

Настройки анализа

Очередь

  • Тип контента: 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).
  • Отправьте команду «Обновить голосовой вызов», чтобы обновить время начала и окончания в записи голосового вызова и изменить статус с «Новый» на «Завершенный».

  1. Событие PhoneContactEnded срабатывает, когда активный звонок прерывается и все участники удаляются из списка.
  2. HTTP-запрос: Очистка маршрутизации
  3. 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.

Настройки анализа

Нет.

Ссылки

Языковой перевод

(Необязательно) Включить рабочую среду перевода

Этот параметр применим только в том случае, если вы используете настройки языка перевода.

1

Перейдите в Настройки → Рабочая среда перевода → Настройки языка перевода.

2

Нажмите Включить, чтобы выбрать язык перевода.

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

Этот параметр применим только для языков, отличных от английского (EN-US).

1

Перейдите в Настройки → Настройки компании → Языковые настройки.

2

Выберите необходимые языки.

3

Выберите следующие флажки:

  • Включите поддержку языков для конечных пользователей — справка и настройки не переводятся на языки конечных пользователей.
  • Включить языки, доступные только для данной платформы — для языков, доступных только для этой платформы, перевод по умолчанию не предоставляется.
4

Сохраните внесенные изменения.

Активируйте язык и выберите пользователя (задачу).
1

Перейдите в Настройки → Рабочая среда перевода → Настройки языка перевода.

2

Выберите язык и выберите пользователя, который будет переводить.

3

Сохраните внесенные изменения.

Многоязычные настройки
Перевод пользовательских этикеток
1

Перейдите в раздел «Настройка» → «Пользовательские метки».

2

Выберите название пользовательской метки, чтобы открыть её.

3

В списке связанных переводов нажмите New, чтобы ввести новый перевод, или «Редактировать» (рядом с языком), чтобы отредактировать перевод.

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"
 }

Подробное описание параметров, принимаемых этим запросом, можно найти в официальной документации Salesforce в разделе «Параметры».

Ответ (успешно)

{
 "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 использует следующий порядок приоритета для маршрутизации вызовов:

  1. Использует настройки многоканального потока и резервной очереди для телефонного канала, соответствующего набранному номеру. Поток имеет приоритет. В случае сбоя процесса используется резервная очередь.
  2. Использует параметры 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.)

  1. Эта цифра состоит ровно из 12 символов, поэтому применяется правило «Добавляйте пробелы к американским цифрам».
  2. (\+1) говорит, что число должно начинаться с +1. Если число состоит из 12 символов, но не начинается с буквы «а». +1, Правило отменено, и ничего не меняется.
  3. (\d{3}) говорит, что +1 За ним должны следовать 3 цифры.
  4. (\d{3}) гласит, что за последними 3 цифрами должны следовать еще 3 цифры.
  5. (\d{4}) гласит, что за последними 3 цифрами должны следовать 4 цифры.

Если хотя бы одно из этих значений не совпадает, число не будет изменено.

Таким образом, все правила распространяются на “+14693150217”. Следовательно, число изменяется на “$1 $2 $3 $4”:

  1. $1 относится к группе (\+1), Номер, который нужно отправить в Service Cloud Voice, выглядит следующим образом: +1.
  2. $2 относится к первому из двух (\d{3}), номер, который нужно отправить в Service Cloud Voice, выглядит следующим образом: +1 469.
  3. $3 относится ко второму из двух (\d{3}), номер, который нужно отправить в Service Cloud Voice, выглядит следующим образом: +1 469 315.
  4. $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.)

  1. Эта цифра состоит ровно из 13 символов, поэтому применяется правило «Добавляйте пробелы к немецким цифрам».
  2. (\+49) говорит, что число должно начинаться с +49. Если число состоит из 13 символов, но не начинается с буквы «а». +49, Правило отменено, и ничего не меняется.
  3. (\d{3}) говорит, что +49 За ним должны следовать 3 цифры.
  4. (\d{4}) гласит, что за последними 3 цифрами должны следовать 4 цифры.
  5. (\d{3}) гласит, что за последними 4 цифрами должны следовать 3 цифры.

Если хотя бы одно из этих значений не совпадает, число не будет изменено.

Таким образом, все правила распространяются на “+491515555531”. Следовательно, число изменяется на “$1 $2 $3 $4”:

  1. $1 относится к группе (\+49), Номер, который нужно отправить в Service Cloud Voice, выглядит следующим образом: +49.
  2. $2 относится к первому из двух (\d{3}), номер, который нужно отправить в Service Cloud Voice, выглядит следующим образом: +49 151.
  3. $3 относится ко второму из двух (\d{4}), номер, который нужно отправить в Service Cloud Voice, выглядит следующим образом: +49 151 5555.
  4. $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 на страницу записи голосового вызова:

  1. Перетащите компонент Lightning Cisco Wrap-Up Reason из области «Пользовательские» в списке компонентов Lightning на страницу записи голосового вызова.
  2. Щелкните Сохранить.
  3. Щелкните Активировать.
  4. Нажмите Назначить в качестве организации по умолчанию.
  5. Щелкните Сохранить.
  6. Нажмите Сохранить еще раз, затем нажмите Стрелка назад для возврата на страницу.

Компонент Cisco Wrap-Up Reason будет автоматически отображаться во время вызова и во время завершения вызова:

Если компонент Cisco Wrap-Up Reason добавлен на страницу, он отображается для каждого вызова, даже если компонент Wrap-Up не настроен в Cisco Contact Center.

Отобразить проигрыватель записи разговоров

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

Чтобы добавить компонент «Плеер записи звонков» на страницу записи голосового вызова, выполните следующие действия:

  1. Перетащите компонент Lightning Web Player для записи звонков на страницу записи голосового вызова.
  2. НажмитеСохранить.
  3. НажмитеАктивировать.
  4. НажмитеНазначить в качестве организации по умолчанию.
  5. НажмитеСохранить.
  6. НажмитеСохранитьеще раз, затем нажмите стрелку «Назад», чтобы вернуться на страницу.

Администраторы Webex

Конфигурация потока

Всплывающее окно

В рабочем процессе Webex Contact Center доступен узел "Всплывающее окно на экране". Его можно использовать для запуска всплывающего окна внутри Service Cloud Voice или в отдельном окне.

Дополнительную информацию об этой функции можно найти в документации Flow Designer .

Всплывающее окно Screen Pop открывается в отдельном окне.

Чтобы открыть всплывающее окно в отдельном окне, необходимо указать абсолютный URL-адрес ( ) в узле "Всплывающее окно". Параметры запроса будут добавлены к URL-адресу в качестве параметров поиска.

Поддерживаются следующие режимы:

  • Новая вкладка браузера - Всегда открывает новую вкладку браузера.
  • Существующая вкладка браузера - При первом появлении всплывающего окна «Существующая вкладка браузера» открывается новая вкладка браузера. Эта вкладка будет использоваться для последующих всплывающих окон в существующих вкладках браузера, и URL-адрес будет обновляться в этой конкретной вкладке браузера.
  • Внутри рабочего стола - обрабатывается так же, как Новая вкладка браузера.

Текущая открытая страница может предотвратить перенаправление. В этом случае всплывающее окно «Существующая вкладка браузера» откроется в новой вкладке браузера.

Была ли статья полезной?
Была ли статья полезной?