En este artículo
dropdown icon
Descripción general
    Webex Contact Center para Salesforce Service Cloud Voice
    Requisitos previos y limitaciones
    Licencias
    Habilitar omnicanal
    Limitaciones
dropdown icon
Requisitos
    Códigos inactivos
dropdown icon
INTEGRAR
    Instalación
    Instalar y configurar Webex Contact Center para Service Cloud Voice
    Asignar los estados de presencia a los agentes
dropdown icon
Configuración
    Centro de contacto
    Importar el centro de contacto
    Configurar el centro de contacto
dropdown icon
Personalizar
    Aplicación cliente externa para la integración Webex Contact Center
    Webex Contact Center Configuración y script para crear registros de llamadas de voz
Permisos de Salesforce requeridos por la función de usuario
dropdown icon
Contenedor API de voz de Service Cloud
    Requisitos previos
    Usar el contenedor API de voz de Service Cloud
    Recuperar el Access_Token
    Ejecutar las solicitudes
    Crear llamada de voz (sección)
    Actualizar llamada de voz
    Ejecutar Omni-flow
    Borrar enrutamiento
dropdown icon
Traducciones de números de teléfono
    Creación de reglas de traducción
dropdown icon
Configuración de la página VoiceCall
    Configurar la página de grabación de VoiceCall
    Mostrar el componente Motivo de cierre
    Mostrar el reproductor de grabación de llamadas
dropdown icon
Webex Administradores
    Configuración de flujo
Integrar Webex Contact Center con Salesforce Service Cloud Voice
list-menuEn este artículo
list-menu¿Comentarios?

Webex Contact Center para salesforce Service Cloud Voice integra el robusto CCaaS (Contact Center as a Service) de Cisco con el CRM de Salesforce, lo que permite a las empresas administrar las interacciones omnicanal con los clientes (voz, digital) dentro de la interfaz de Salesforce, utilizando Webex AI para agentes virtuales, transcripción y enrutamiento inteligente, transformando a los agentes en superagentes con datos unificados para mejorar las experiencias de los clientes.

Descripción general

Webex Contact Center para Salesforce Service Cloud Voice

Webex Contact Center for Service Cloud Voice es una solución de integración lista para usar que lleva el poder de Webex Contact Center a la consola de agente omnicanal de Salesforce Service Cloud Voice.

Antes de continuar con la instalación, consulte la siguiente sección:

Para obtener información sobre los requisitos previos y las limitaciones de Salesforce Service Cloud Voice y asegurarse de que su organización de Salesforce está lista para habilitar e instalar Webex Contact Center para el paquete Service Cloud Voice .

Requisitos previos y limitaciones

Requisitos previos (subtema)

Interfaces de usuario: Service Cloud Voice solo está disponible en Salesforce Lightning Experience.

Service Cloud Voice está disponible en estas ediciones.

  • Empresa
  • Ilimitado
  • Desarrollador

Licencias

  • Los clientes deben comprar la nueva licencia adicional A-SF-VOICE por agente conectado, además de las licencias Flex 3 Standard o Premium para Webex Contact Center. Para obtener más información, consulte la guía de pedidos de Flex 3.

  • Telefonía de Salesforce Voice for Partner

Antes de TURN en Voz, debe configurar los servicios de requisitos previos en su organización.

  • Vaya a Información de la empresa > Permiso Establecer licencia
    • Compruebe si hay usuario de voz de Service Cloud (telefonía de socios).

      Todas las ediciones para desarrolladores ahora vienen con 5 licencias de telefonía para socios disponibles para pruebas.

  • Alternativamente, puede verificar esto yendo a Configuración de Salesforce y buscando "voz" en la barra lateral izquierda.

    • Si aparece "Partner Telephony Contact Centers", tiene la licencia SCV.
    • Si la opción "Centros de contacto telefónicos de socios" no está visible, siga los pasos que se indican a continuación para "Habilitar voz en Service Cloud ".
      • Vaya a Configuración de Salesforce y busque y seleccione "Configuración de telefonía de socios" y cambie el botón a "Habilitar voz de Service Cloud".

      • Habilite Omni-Channel para permitir que sus agentes realicen y reciban llamadas.

Habilitar omnicanal

Si Omnicanal ya está habilitado en su organización, omita este paso.

  1. En Configuración, introduzca Configuración omnicanal en el cuadro Búsqueda rápida y, a continuación, seleccione Configuración omnicanal.

  2. Seleccione Habilitar omnicanal.
  3. Haga clic en Guardar.

Limitaciones

  • La voz solo está disponible en Lightning Experience.
  • La voz es compatible con Service Cloud y Sales Cloud como una licencia complementaria.
  • La voz no es compatible con Salesforce Mobile ni con iPad Safari.
  • La voz solo es compatible con los navegadores web Google Chrome, Microsoft Edge (Chromium) y Mozilla Firefox. Las cookies deben estar habilitadas para permitir el inicio de sesión único (SSO).
  • No se admite la navegación estándar.
  • La telefonía está altamente regulada, así que consulte con su representante de Salesforce sobre la disponibilidad de voz en su región.

Consulte Límites y limitaciones de voz de Service Cloud y Guía de instalación y configuración.

Requisitos

Códigos inactivos

Buscar códigos de inactividad

Para establecer códigos de inactividad, siga estos pasos:
1

Inicie sesión en el Portal de administración.

2

Vaya a Contact Center > DESKTOP EXPERIENCE >Idle/Wrap-up Codes.

3

Asegúrese de que se muestren los códigos de inactividad, de lo contrario, haga clic en el botón desplegable filtro y seleccione Código de inactividad en la parte superior de la página.

4

Haga clic en un código inactivo para abrir la vista detallada. Allí puedes encontrar el código de inactividad ID.

Los ID se pueden copiar y, a continuación, utilizar para la configuración de la asignación de estado de presencia. Uno de los ID debe usarse como el motivo predeterminado Cisco No listo.

INTEGRAR

Instalar y configurar Webex Contact Center para Service Cloud Voice

Cuando se obtiene una licencia de Service Cloud Voice for Partner Telephony , aparece la página Configuración de telefonía de socio en el menú Configuración.

Puede encontrar más información en la referencia oficial de Salesforce ( enlace directo).

1

En Configuración, escriba Configuración de telefonía de socio en el cuadro Búsqueda rápida y, a continuación, seleccione Configuración de telefonía de asociado.

2

Activar TURN en voz con telefonía de socios.

Aparece la página Centros de contacto de telefonía para partners en el menú Configuración .

Si planea implementar el paquete en un espacio aislado de Salesforce, reemplace la parte login.salesforce.com del enlace de instalación con test.salesforce.com. Tenga en cuenta que este paquete se elimina de la organización del espacio aislado cada vez que crea una nueva copia del espacio aislado.

Instalar el paquete

Para instalar el paquete:

1

Abra el enlace proporcionado del paquete para iniciar la instalación.

2

Inicie sesión en la organización de Salesforce donde se debe instalar el paquete.

3

En el asistente de instalación, elija la opción de seguridad "Instalar solo para administradores" (1) y haga clic en Instalar (2).

Determine qué usuarios obtienen ciertos permisos para los objetos y componentes que vienen con el paquete Webex Contact Center for Service Cloud Voice. Además, concédales estos permisos; los conjuntos de permisos que vienen con el paquete Webex Contact Center for Service Cloud Voice facilitan este proceso.

Asistente de instalación de paquetes: aparece la pantalla de bienvenida:

4

Conceda los siguientes conjuntos de permisos a al menos un usuario para que pueda crear el Centro de contacto:

Administrador del centro de contacto (telefonía de socios).
5

Haga clic en Configuración | Usuarios | Usuarios.

6

Busque y seleccione un usuario.

7

Desplácese hacia abajo hasta "Asignaciones de conjuntos de permisos".

8

Haga clic en Editar asignaciones

9

Para administradores de centros de contacto: asigne el conjunto de permisos Administrador de centro de contacto (telefonía de socios).

10

Para agentes de centro de contacto: asigne el conjunto de permisos Agente de centro de contacto (telefonía de socios) y el Conjunto de permisos de agente SCV Webex Contact Center.

No se recomienda elegir la opción Instalar para todos los usuarios , ya que concede todos los permisos (lectura, creación, edición y eliminación) sobre los componentes y objetos del paquete a cualquier usuario que utilice un perfil de usuario personalizado.
11

Asigne una licencia de paquete para que los usuarios trabajen con Connects for Service Cloud Voice.

  • Haga clic en Configuración | Aplicaciones | Embalaje | Paquetes instalados.
  • Haga clic en Administrar licencias junto al Webex Contact Center recientemente instalado para Service Cloud Voice.
  • Haga clic en Agregar usuarios.
  • Seleccione los usuarios a los que se asignará la licencia y haga clic en Agregar.

12

También puede hacer clic en Configuración | Usuarios | Usuarios..

13

Buscar y seleccionar usuario.

14

Desplácese hacia abajo hasta Paquetes administrados.

15

Haga clic en Asignar licencias.

16

Elija Webex Contact Center para el paquete Service Cloud Voice de la lista.

17

Haga clic en Add (Agregar).

18

Cree los estados de presencia para definir qué canales de servicio se asignan a diferentes estados. Los agentes pueden iniciar sesión en Omni-Channel con diferentes estados dependiendo del tipo de trabajo que tienen derecho a recibir.

19

En Configuración, introduzca Estados de presencia en el cuadro Búsqueda rápida y, a continuación, seleccione Estados de presencia.

20

Haga clic en New (Nuevo). Cree al menos un estado para "En línea" y otro para "Ocupado".

  • Cree un estado de presencia ocupada dedicado para RONA. La configuración de presencia se puede utilizar para establecer automáticamente el estado omnicanal en un estado designado cada vez que se produce un RONA en el lado CTI o dentro de Salesforce.
  • Si configura un estado RONA dentro de la Configuración depresencia, asegúrese de no utilizar la configuración de presencia predeterminada. Actualmente, Webex Contact Center para Service Cloud Voice no recupera el estado de RONA configurado dentro de la configuración predeterminada.

Asignar los estados de presencia a los agentes

1

En Configuración, introduzca Conjuntos de permisos en el cuadro Búsqueda rápida y, a continuación, seleccione Conjuntos de permisos.

2

Haga clic para abrir Conjunto de permisos de telefonía de socios.

3

Haga clic en Acceso a estados de presencia de servicio.

4

Haga clic en Editar.

5

En la lista Presencias de servicio disponibles, seleccione los estados de presencia creados anteriormente y haga clic en Agregar para asociarlos al conjunto de permisos. Los agentes asignados a este conjunto de permisos pueden iniciar sesión en Omni-Channel con cualquiera de los estados de presencia disponibles.

6

Haga clic en Guardar.

7

Haga clic en Administrar asignaciones en la misma página. Luego haga clic en Agregar asignación en la esquina superior derecha, seleccione el usuario deseado, haga clic en Siguiente, seleccione una Opción de vencimiento para los usuarios asignados (Opcional) y luego haga clic en Asignar.

Service Cloud Voice usa un dominio externo para operar con el registro de VoiceCall. Las siguientes direcciones URL deben agregarse a la "Configuración de sitio remoto" en Configuración ( haga clic aquí para abrir la documentación oficial):

  • https://webexapis.com
  • https://YOUR_INSTANCE_URL.my.salesforce-scrt.com
  • https://YOUR_INSTANCE_URL--cisco-wxcc-scv.my.salesforce-scrt.com

Ejemplo: Cómo encontrar la URL de instancia.

8

Mire la URL en la barra de direcciones de su navegador después de iniciar sesión. La URL de instancia es la parte antes de ".my.salesforce.com" o ".salesforce.com" o ." lightning.force.com". Por ejemplo, si su URL es https://orgfarm-54a38e30ad-dev-ed.develop.my.salesforce-setup.com/, entonces "orgfarm-54a38e30ad-dev-ed.develop" es la URL de su instancia.

Ejemplo:

URL de la organización de origen: https://cisco.lightning.force.com

Ejemplo: direcciones URL para agregar:

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

9

El elemento de utilidad Omnicanal es necesario en la aplicación Lightning Service Console para que el agente utilice Service Cloud Voice.

  • En Configuración, escriba Aplicaciones en el cuadro Búsqueda rápida y, a continuación, seleccione Administrador de aplicaciones.
  • Haga clic en la lista desplegable situada junto a la aplicación Service Console o la aplicación que desee usar y, a continuación, haga clic en Editar.
  • En Configuración de la aplicación, haga clic en Elementos de utilidad (solo escritorio).
  • Haga clic en Agregar elemento de utilidad.
  • En la ventana modal, busque Omnicanal.
  • Haga clic en Omnicanal.
  • Haga clic en Guardar y salga del Administrador de aplicaciones.

La referencia oficial de Salesforce se puede encontrar haciendo clic en el botón Hagamos esto que abre la página Configurar la experiencia del agente para Service Cloud Voice with Partner Telephony en el Portal de ayuda de Salesforce ( enlace directo).

10

En Configuración, escriba Configuración de telefonía de socio en el cuadro Búsqueda rápida y, a continuación, seleccione Configuración de telefonía de socios.

11

Desplácese hacia abajo hasta la sección 5 Más configuraciones de voz.

12

Para habilitar la protección contra clickjack para las páginas de Visualforce con encabezados deshabilitados mientras se trabaja con el softphone en Lightning Experience, debe agregar los dominios desde los que se cargan el softphone y las barras de herramientas personalizadas como dominios de confianza, además de la URL de instancia de Salesforce.

Esta configuración y la lista de dominios de confianza se pueden encontrar en Configuración | Seguridad | Configuración de sesión.

Para recuperar el dominio de Visualforce correcto, vaya a Configuración | Código personalizado | Visualforce y haga clic en el botón Vista previa para CiscoScvMainWxCC. Salesforce puede redirigir automáticamente a una URL diferente, dependiendo de la configuración de Salesforce ORG. Copie la URL y agréguela a la lista Dominios de confianza para marcos en línea seleccionando "Visualforce Pages" como Tipo de IFrame.

Ejemplo: MyDomainName--cisco_wxcc_scv.vf.force.com

Para obtener el dominio de instancia de Salesforce, copie la URL que se muestra en la barra de URL del explorador y agréguela a la lista Dominios de confianza para marcos en línea seleccionando Visualforce Pages como Tipo de IFrame.

Ejemplo: MyDomainName.lightning.force.com

Si no tiene Mi dominio implementado en su organización, el formato de su URL es diferente. Si tiene implementado Mi dominio y los dominios mejorados no están habilitados en su organización, el formato de URL es diferente. Si los dominios mejorados no están habilitados, la configuración Estabilizar URL en Visualforce, Experience Builder, Site.com studio y archivos de contenido Mi dominio también afecta a este formato. Para obtener más información, consulte Formatos de URL de Mi dominio en la Ayuda de Salesforce.

Configuración de protección de clickjack y dominios de confianza para Lightning Experience

13

Para mostrar los controles de grabación durante las llamadas, los agentes necesitan el permiso de la aplicación Control de grabación de llamadas .

Para asignarlo, agréguelo al conjunto de permisos creado en el paso Estados de presencia.

  • Abra el conjunto de permisos.
  • Haga clic en el vínculo Permisos de la aplicación.
  • Haga clic en el botón Editar .
  • Agregue el permiso Control de grabación de llamadas del centro de llamadas y guárdelo.

Configuración

Centro de contacto

Un archivo de definición de Contact Center especifica un conjunto de campos y valores que se utilizan para definir un centro de contacto en Salesforce para un sistema CTI particular. Salesforce utiliza archivos de definición de Contact Center para admitir la integración con múltiples proveedores de sistemas CTI.

Puede encontrar más información en la documentación oficial de Salesforce ( enlace directo).

Importar el centro de contacto

Descargue la última versión del Contact Center aquí.
1

En Configuración, escriba Centros de contacto de telefonía de socios en el cuadro Búsqueda rápida y, a continuación, seleccione Centros de contacto de telefonía de socios.

Se muestra la lista de centros de contacto existentes (si los hay).
2

Haga clic en Crear centro de contacto en el lado derecho de la página.

3

Seleccione Webex Contact Center como proveedor de telefonía. A continuación, haga clic en Siguiente.

Se abre un explorador de archivos.
4

Seleccione el.XML archivo que contiene la definición de su centro de contacto.

5

Haga clic en Abrir.

Se importa el archivo.
6

Compruebe si su centro de contacto se muestra en la vista de lista Centros de contacto.

Configurar el centro de contacto

1

En Configuración, escriba Centros de contacto de telefonía de socios en el cuadro Búsqueda rápida y, a continuación, seleccione Centros de contacto de telefonía de socios.

2

Haga clic en el centro de contacto importado anteriormente.

3

Haga clic en Editar.

Tabla 1. Detalles del centro de contacto
CampoDescripción
Nombre para mostrar Este es el nombre del centro de contacto que aparece en la lista de centros de contacto disponibles. El mismo archivo de definición de Contact Center (.XML) se puede importar varias veces y recibir nombres de visualización diferentes.
Clave pública

Para utilizar las funcionalidades de voz, se requiere un certificado con clave pública y privada. Para obtener una clave privada, es posible generar un certificado autofirmado, generar un certificado firmado por un Certificate Authority o importar directamente Java archivos de almacén de claves (JKS) o archivos de almacén de claves Bouncy castle fips (BCFKS) utilizando el botón Importar desde almacén de claves.

Una vez generado el certificado:

  • Haga clic en la etiqueta Certificado .
  • Haga clic en Descargar certificado.
  • Abra el certificado descargado con un editor de texto.
  • Copie su contenido en el campo Clave pública del Contact Center.

Requerido:

Nombre único del certificado

El nombre único del certificado autofirmado creado para la clave pública.

Requerido:

Estado preparado ID
  • Abra la página Estados de presencia en Configuración.
  • Haga clic en Estado en línea y copie su Salesforce ID de la barra de URL.
  • Pegue el ID en este campo.

Requerido:

Estado no preparado ID
  • Abra la página Estados de presencia en Configuración.
  • Haga clic en el estado Ocupado y copie su Salesforce ID de la barra de URL.
  • Pegue el ID en este campo.

Requerido:

Cisco Motivo predeterminado No preparado

Cisco código de inactividad ID que se utiliza como código de inactividad predeterminado en caso de que no se proporcione una asignación para un determinado estado de presencia.

Requerido:

Para comprobar los ID de código de inactividad configurados, consulte la sección Códigos de inactividad.
Asignación de estado de presencia

Se utiliza para asignar los estados de Salesforce Omni Presence a los códigos de motivo Cisco Ready y Not Ready.

Se deben agregar los estados del código de inactividad:

  • Abra la página Estados de presencia en Configuración.
  • Haga clic en uno de los estados Ocupado y copie su ID de Salesforce de la barra de URL. Los ID de estado de presencia comienzan con 0N5. por ejemplo , 0N51X0000000AUT.
  • Pegue el ID en este campo, seguido de una coma y el Cisco código inactivo ID.
  • Se pueden agregar una o más asignaciones de ocupado mediante la separación de comas.

Para evitar problemas de sincronización, el valor predeterminado ID no preparado también debe configurarse en la asignación.

Si configuró estados para Rechazar y Tiempo de espera de inserción dentro de la Configuración depresencia, agréguelos también a la asignación con el estado correspondiente Cisco No preparado.

Formato: busyPresenceID1, ciscoAuxCodeID1; defaultNotReadyPresenceID,ciscoDefaultNotReadyAuxCodeID; id. de presencia en línea,0

Requerido:

Aquí hay un ejemplo de códigos de inactividad completados para almuerzo, reunión, descanso.

Variable de llamada para llamada de voz ID

La variable de llamada utilizada para almacenar el ID de la llamada de voz actual. Se utiliza para actualizar correctamente el estado de la llamada.

Formato: Nombre de variable configurado en Webex Contact Center Flow. Por ejemplo , SCV_VoiceCallRecordId

Requerido:

Valor predeterminado:SCV_VoiceCallRecordId

Si ha combinado el registro de llamada de voz ID y la clave de llamada de proveedor en una variable de flujo, puede configurar su nombre en este campo. Consulte también Variable de flujo para el registro de llamada de voz ID y la clave de llamada del proveedor.

Variable de llamada para la clave de llamada del proveedor

La variable de llamada utilizada para almacenar la clave de llamada del proveedor de la llamada de voz actual. Se utiliza para abrir la grabación de llamada de voz correcta.

Formato: Nombre de variable configurado en Webex Contact Center Flow. Por ejemplo , SCV_VendorCallKey

Requerido:

Valor predeterminado: SCV_VendorCallKey

Si ha combinado el registro de llamada de voz ID y la clave de llamada de proveedor en una variable de flujo, puede dejar este campo vacío y configurar el nombre de la variable de flujo con el registro de llamada de voz ID y la clave de llamada de proveedor en el campo "Variable de llamada para llamada de voz ID". Consulte también Variable de flujo para el registro de llamada de voz ID y la clave de llamada del proveedor.

Traducción de números de teléfono de marcación

Reglas de traducción de números de teléfono que se aplican al número antes de marcarlo.

Ver traducciones de números de teléfono

Requerido: No
Región del centro de contacto de Webexx

El inquilino se usa para determinar la región Webex Contact Center. Se puede encontrar en la URL del Webex Contact Center Portal, Dev Portal o Desktop. Vea este ejemplo:

https://devportal.wxcc-eu2.cisco.com/

Formato: eu2

Requerido:

Aquí está la tabla de Webex Contact Center regiones y cadenas correspondientes:

  • EE. UU.: us1
  • Canadá: ca1
  • Reino Unido: eu1
  • Alemania: eu2
  • Australia: anz1
  • Singapur: sg1
  • Japón: jp1

Webex Contact Center WebRTC Dominio

El dominio se utiliza para establecer la conexión WebRTC correcta. Use la ubicación de su inquilino Webex Contact Center:

  • US: rtw.prod-us1.rtmsprod.net
  • ANZ: rtw.prod-as1.rtmsprod.net
  • CA: rtw.prod-ca1.rtmsprod.net
  • JP: rtw.prod-ja1.rtmsprod.net
  • UE1: rtw.prod-uk1.rtmsprod.net
  • EU2: rtw.prod-gm1.rtmsprod.net

Requerido: Sí para WebRTC

Habilitar transcripción WCCAI

Se utiliza para habilitar o deshabilitar la transcripción WCCAI.

Formato: verdadero o falso

Requerido: No

Valor predeterminado:Falso

Guardar enlace de grabación

Se utiliza para guardar el enlace de grabación de llamadas Webex en la grabación de llamada de voz.

Formato: verdadero o falso

Requerido: No

Valor predeterminado:True

4

En la parte inferior de la página Centro de contacto , haga clic en el botón Agregar en la sección Usuarios del centro de contacto.

5

Haga clic en + junto a los usuarios que tienen acceso al centro de contacto abierto.

En esta lista solo aparecen los usuarios con permisos de Agente de centro de contacto (telefonía de socios) y que no hayan sido asignados a otros centros de contacto.

Personalizar

Aplicación cliente externa para la integración Webex Contact Center

Configurar la aplicación cliente externo para Webex Contact Center Salesforce Connector

Para utilizar Service Cloud Voice en toda su extensión, el flujo de llamadas de Contact Center se puede adaptar para crear el registro de llamada de voz y ejecutar un flujo omnicanal de Salesforce mientras la llamada está en el IVR.

Crear certificado

Asegúrese de que ya ha creado un certificado digital de acuerdo con la directiva de seguridad de su organización.

Para generar un certificado digital, consulte la documentación de Salesforce en https://developer.salesforce.com/docs/atlas.en-us.voice_pt_developer_guide.meta/voice_pt_developer_guide/voice_pt_generate_certificate.htm.

Ejemplo

openssl genrsa -des3 -passout pass:<password> -out server.pass.key 2048 openssl RSA -passin pass:<password> -in server.pass.key -out server.key rm server.pass.key openssl req -new -key server.key -out server.CSR Nombre del país (código de 2 letras) [AU]:CH Nombre del estado o provincia (nombre completo) [Algún estado]: Nombre de la localidad (por ejemplo, ciudad) []: Nombre de la organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]: Nombre de la unidad organizativa (por ejemplo, sección) []: Nombre común (por ejemplo, servidor FQDN o SU nombre) []: Dirección de correo electrónico []: my-api-user@my-example-org.com Introduzca los siguientes atributos 'extra' que se enviarán con su solicitud de certificado Una contraseña de desafío []:<password> Un nombre de empresa opcional []: openssl x509 -req -sha256 -days 365 -in server.CSR -signkey server.key -out server.crt 

server.crt => certificado para la aplicación cliente externo de Salesforce

server.key => Clave privada para Salesforce Connector en Webex Control Hub

Conjunto de permisos para el usuario de integración de SCV

El siguiente conjunto de permisos concede acceso a las clases de Apex utilizadas por Connects for SCV para la integración con los flujos IVR de Contact Center y Webex Contact Center para Salesforce para SCV.

La siguiente es una configuración de ejemplo y describe los permisos mínimos requeridos para que la integración Contact Center / IVR funcione.

  • En Configuración, vaya a Usuarios | conjuntos de permisos.
  • Haga clic en el botón Nuevo .
    • Introduzca una etiqueta, por ejemplo: IVR Acceso a clases de ápice de SCV
    • API El nombre se completa automáticamente
    • Tipo de licencia: None
    • Haga clic en el botón Guardar .
  • Se abre el nuevo conjunto de permisos.
  • Desplácese hasta Apex Class Access (Acceso ala clase Apex).
  • Haga clic en el botón Editar y agregue las siguientes clases de Apex:
    • cisco_wxcc_scv. ServiceRouting
  • Vaya a Permisos del sistema.
  • Haga clic en el botón Editar y habilite los siguientes permisos:
    • Servicios REST de Apex
    • API Habilitado

Acceso mínimo - API Solo perfil de integraciones

Este perfil se utiliza para integrarse con Webex Contact Center de Salesforce para SCV para crear registros de llamadas de voz y ejecutar Omni-Flow desde el flujo IVR.

La siguiente es una configuración de ejemplo y describe los permisos mínimos requeridos para que la integración Contact Center / IVR funcione.

Este es un clon del perfil Acceso mínimo - API Solo integraciones.

  • En Configuración, vaya a Usuarios | Perfiles.
  • En la lista Perfiles, busque Acceso mínimo al perfil - API Solo integraciones.
  • Haga clic en el nombre del perfil para abrir el perfil Acceso mínimo - API Solo integraciones .
  • En el perfil Acceso mínimo - API Solo integraciones , haga clic en el botón Clonar .
  • Introduzca un nuevo nombre de perfil, por ejemplo: SCV Integration.
  • Haga clic en el botón Guardar .
  • Se abre el nuevo perfil.
  • Verifique que su perfil de acceso mínimo – API Solo integraciones tenga todos los permisos eliminados del perfil en sí.
  • Vaya a Permisos del sistema.
  • Asegúrese de que los siguientes permisos estén habilitados:
    • API habilitado
    • API Solo usuario

Usuario de integración de SCV

La siguiente es una configuración de ejemplo y describe los permisos mínimos requeridos para que la integración Contact Center / IVR funcione. No se requiere ninguna licencia de Salesforce Service Cloud Voice ni Webex Contact Center para la licencia de Salesforce for SCV para el usuario de integración de SCV.

  • En Configuración, vaya a Usuarios | Usuarios.
  • Haga clic en el botón Nuevo usuario .
    • Introduzca Nombre, Apellido y todos los demás campos obligatorios.
    • Licencia de usuario: Integración con Salesforce
    • Perfil: seleccione el perfil creado en el paso anterior ("Perfil de integración SCV", clon de Acceso mínimo - API perfil Solo integraciones)
  • Haga clic en el botón Guardar .
  • Abra el nuevo registro de usuario.
  • Asigne el conjunto de permisos creado antes (" IVR Access to SCV Apex Classes").
  • Asigne el conjunto de permisos Licencia de integración de Salesforce API.
Crear aplicación cliente externa de Salesforce
Crear una nueva aplicación cliente externa

Hay dos opciones para conectar sus datos de Salesforce con aplicaciones de terceros. Tanto las aplicaciones  conectadas como las aplicaciones cliente externas son marcos para integrar datos. Las aplicaciones cliente externas son la próxima generación de aplicaciones conectadas.

Para configurar la aplicación de cliente externo de Salesforce utilizada por Cisco Webex Contact Center:

  1. En Configuración, vaya a Aplicaciones | Aplicaciones cliente externas | Administrador de aplicaciones cliente externo.
  2. Haga clic en Nueva aplicación cliente externa.
  3. Aplicación cliente externa: información básica
    • Nombre de aplicación cliente externo: WxCC - SCV
    • API Nombre: WxCC_SCV
    • Correo electrónico de contacto: < su correo electrónico >
    • Estado de distribución: seleccione Local

    Información básica

    Aplicación cliente externa: API (Habilitar configuración de OAuth)

    • Seleccionar: Habilitar OAuth
    • Configuración de la aplicación
    • URL de devolución de llamada: http://localhost:1717/OauthRedirect como URL de devolución de llamada de muestra
    • Ámbitos de OAuth
    • Seleccione ámbitos de OAuth:
    • Administrar datos de usuario a través de API (API)
    • Realizar solicitudes en cualquier momento (refresh_token, offline_access)

    API (Habilitar configuración de oAuth)

    Habilitación de flujo

    • Seleccionar: Habilitar flujo portador JWT
    • Haga clic en Cargar archivos y cargue el archivo server.crt que contiene su certificado digital.

    Habilitación de témpanos

    Seguridad

    Desmarque la opción Requerir secreto para el flujo del servidor web.

    Seguridad

  4. Haga clic en el botón Crear .
  5. Cambie a Tab Políticas y luego haga clic en el botón Editar .
  6. Directivas: directivas de OAuth
    • Políticas de plugins
      • Usuarios permitidos: algunos usuarios aprobados por el administrador están preautorizados
      • Confirme el cambio
    • Autorización de aplicaciones
      • Política de token de actualización: seleccione Expirar inmediatamente Actualizar token
      • IP Relajación: seleccione Aplicar restricciones IP

    Directivas de OAuth

  7. Directivas: directivas de aplicación
    • Página de inicio: ninguna
    • Seleccionar conjuntos de permisos: asignar el conjunto de permisos creado antes ("IVR Acceso a clases de ápice de SCV") 

    Políticas de aplicaciones

  8. Haga clic en Guardar.
  9. Cambie a Tab configuración.
    • En la sección Configuración de OAuth, haga clic en el botón Clave de consumidor y secreto ; espere el correo electrónico y verifique su identidad. Un nuevo navegador Tab abre una pantalla con detalles del consumidor.

      Configuración de OAuth

    • Haga clic en Copiar y guarde la clave  deconsumidor. La clave de consumidor se utiliza posteriormente para crear el conector de Salesforce en Webex Contact Center Control Hub. 

      Nombre de la aplicación cliente externo

Webex Contact Center Configuración y script para crear registros de llamadas de voz

Para obtener el valor total de Salesforce Service Cloud Voice, el flujo de llamadas en Webex Contact Center debe modificarse para crear el registro de llamada de voz en Service Cloud Voice tan pronto como la llamada llegue al centro de contacto.

Se puede ejecutar un Omni-Flow opcional para las decisiones de enrutamiento y la automatización en Salesforce.

Para obtener más información sobre las API utilizadas, consulte Service Cloud Voice API Wrapper.

Requisitos previos

Para utilizar Service Cloud Voice API Wrapper, se debe configurar una aplicación cliente externa de Salesforce para la integración IVR.

Configure Salesforce Connector en Webex Control Hub

Configure los conectores de integración de Salesforce para Webex Contact Center como se describe en el artículo en https://help.webex.com/en-us/article/7fuy63/SetUp-Integration-Connectors-for-Webex-Contact-Center#id_133211.

1

Inicie sesión en la organización de su cliente en https://admin.webex.com y vaya a Services > Contact Center > Tenant Settings > Integrations>Connectors.

2

En la tarjeta de Salesforce, haga clic en Configurar o Agregar conector.

  • Cliente ID: Clave de consumidor de aplicación cliente externa
  • Correo electrónico de Salesforce ID: nombre de usuario de Salesforce de la "Integración de SCV" (consulte Usuario de integración de SCV)
  • URL: para uso de producciónhttps://login.salesforce.com o si está configurando un dev/sandbox use https://test.salesforce.com
  • clave privada: contenido del archivo server.key

IMPORTANTE: MANTENGA LA SEGURIDAD MEDIANTE LA ROTACIÓN PERIÓDICA DE SECRETOS

Asegúrese de rotar regularmente su clave privada y certificado para mantener sus integraciones seguras.

Actualice la clave privada en el conector del  centro de contacto en Webex hub y el certificado en la  aplicación cliente externa en Salesforce.

Consejo para la solución de problemas

Después de hacer clic en Listo y el conector no guarda:

  • Verifique si tiene espacios antes / después de sus entradas.
  • Asegúrese de que su clave privada (server.key) coincida con server.crt . Si está configurando varias organizaciones y cambia los certificados, no funcionarán.
  • Asegúrese de que su Server.key comience. ----- Begin RSA ----- de clave privada

Webex Contact Center Flujo principal

Tabla 2. Variale de flujo
Variable de flujoDescripción
Variable de flujo para la grabación de llamada de voz ID ID único para identificar la llamada. Necesario para crear el registro de llamada de voz.

Formato: wxcc_<Interacción ID>

Ejemplo: wxcc_fc4ec7d8-4c91-49aa-b764-081fbba344a8

  • Nombre: SCV_VendorCallKey
  • Tipo: Cadena
  • Hacer que el agente sea visible: Habilitado
Variable local para la hora de inicio de la llamada

Se utiliza para crear la grabación de llamada de voz y al actualizar la llamada de voz.

  • Nombre: SCV_CallStartTime
  • Tipo: Cadena
  • Hacer que el agente sea visible: no
Variable local para Nombre de cola/ID

Devuelto por Execute Omni Flow, utilizado para el enrutamiento de llamadas.

Esta variable sólo es necesaria cuando se utiliza Execute Omni Flow

  • Nombre: SCV_OmniFlowQueue
  • Tipo: Cadena
  • Hacer que el agente sea visible: no
Variable local para el nombre del agente/ID

Devuelto por Execute Omni Flow, utilizado para el enrutamiento de llamadas.

Esta variable sólo es necesaria cuando se utiliza Execute Omni Flow

  • Nombre: SCV_OmniFlowAgent
  • Tipo: Cadena
  • Hacer que el agente sea visible: no

Información general sobre el flujo principal

  1. Generar clave de llamada de proveedor
  2. Establecer la hora de inicio de la llamada
  3. Solicitud HTTP: Crear registro de llamada de voz
  4. Evaluar la respuesta HTTP para Crear grabación de llamada de voz
  5. Gestión de errores para Crear grabación de llamada de voz
  6. Solicitud HTTP: Ejecutar Omni Flow
  7. Evaluar la respuesta HTTP para ejecutar Omni Flow
  8. Gestión de errores para Execute Omni Flow
  9. Continuar con el enrutamiento de llamadas
Tabla 3. Flujo principal
FlujoDescripción
Generar clave de llamada de proveedor

Cada llamada gestionada en Service Cloud Voice crea un registro de llamada de voz en Salesforce y requiere un ID único llamado Clave de llamada de proveedor. Para los registros de llamadas de voz creados en Webex Contact Center, la clave de llamada del proveedor debe definirse en el flujo WxCC y luego pasarse junto con la llamada al agente utilizando una variable de flujo.

El valor vendorCallKey debe cumplir las siguientes reglas:

  • El valor debe tener <= 255 caracteres.
  • El valor puede incluir caracteres alfanuméricos más el carácter de subrayado (_), el guión (-) y el punto (.).
  • El valor debe comenzar con una letra, no incluir espacios, no terminar con un guión bajo y no contener dos guiones bajos consecutivos.

  • Etiqueta de actividad: Generate_VendorCallKey
  • Nombre de variable: SCV_VendorCallKey
  • Tipo de variable: String
  • Valor de variable: valor establecido: wxcc_{{NewPhoneContact.InteractionId}}

Establecer la hora de inicio de la llamada

Marca de tiempo UTC de la hora de inicio de la llamada. Esta marca de tiempo se utiliza para crear la grabación de llamada de voz y para actualizar la grabación de llamada de voz si la persona que llama cuelga antes de ser enrutada al agente.

  • Etiqueta de actividad: SetCallStartTime
  • Variable: SCV_CallStartTime
  • Valor variable - Establecer valor: {{now() | replace({'[UTC]': ''})}}
Solicitud HTTP: Crear registro de llamada de voz

Este paso es necesario para cada llamada. Una vez creada la grabación de llamada de voz, se debe pasar la grabación de llamada de voz ID con la llamada al agente en una variable, junto con la clave de llamada del proveedor. Configure la variable utilizada en la configuración del centro de contacto en Service Cloud Voice.

Configuración de solicitud HTTP
  • Etiqueta de actividad: CreateVoiceCall
  • Usar punto final autenticado: habilitado
  • Conector: Conector de Salesforce creado en el paso anterior
  • Ruta de solicitud: /services/apexrest/cisco_wxcc_scv/voice/v1/createVoiceCall
  • Método: POST
  • Tipo de contenido de solicitud: Aplicación/JSON

Solicitud HTTP: Crear registro de llamada de voz

Este paso es necesario para cada llamada. Una vez creada la grabación de llamada de voz, la grabación de llamada de voz ID debe pasarse con la llamada al agente en una variable, junto con la clave de llamada del proveedor. Configure la variable utilizada en la configuración del centro de contacto en Service Cloud Voice.

Configuración de solicitud HTTP

  • Etiqueta de actividad: CreateVoiceCall
  • Usar punto final autenticado: habilitado
  • Conector: Conector de Salesforce creado en el paso anterior
  • Ruta de solicitud: /services/apexrest/cisco_wxcc_scv/voice/v1/createVoiceCall
  • Método: POST
  • Tipo de contenido de solicitud: Aplicación/JSON

Cuerpo de la solicitud

Al crear la grabación de llamada de voz, también puede actualizar los campos personalizados en la grabación de llamada de voz con datos de llamada. A continuación se muestran dos ejemplos del cuerpo de la solicitud, uno con todos los campos obligatorios pero sin actualizar los campos personalizados y otro con campos personalizados.

Sin actualizar los campos personalizados en la grabación de llamada de voz:

{ "callCenterDevName": "<Contact Center API name>", "certDevName": "<cert dev name>", "vendorCallKey": "{{SCV_VendorCallKey}}", "to": "{{NewPhoneContact.DNIS}}", "from": "{{NewPhoneContact.ANI}}", "initiationMethod": "Inbound", "startTime": "{{SCV_CallStartTime}}", "participants": [ { "participantKey": "{{NewPhoneContact.ANI}}", "type" : "END_USER" } ] }

Ejemplo de actualización de campos personalizados en la grabación de llamada de voz:

{ "callCenterDevName": "<Contact Center API name>", "certDevName": "<cert dev name>", "vendorCallKey": "{{SCV_VendorCallKey}}", "to": "{{NewPhoneContact.DNIS}}", "from": "{{NewPhoneContact.ANI}}", "initiationMethod": "Inbound", "startTime": "{{SCV_CallStartTime}}", "participants": [ { "participantKey": "{{NewPhoneContact.ANI}}", "type" : "END_USER" } ], "callAttributes": "{\"custfield1__c\": \"<value1>\",\"custfield2__c\": \"<value2>\",\" custfield3__c\": \"<value3>\"}" }

Parámetros
Nombre de la propiedad Valor
callCenterDevName Nombre del desarrollador del centro de contacto
certDevName API Nombre del certificado (configurado en Contact Center)
vendorCallKey Llamada única ID: {{SCV_VendorCallKey}}
Para CalledNumber/DNIS: {{NewPhoneContact.DNIS}}
De CallingNumber/ANI: {{NewPhoneContact.ANI}}
Hora de inicio Marca de tiempo UTC{{SCV_CallStartTime}} (se establecerá directamente después de que la llamada sea aceptada en el script)
callAttributes

Representa campos estándar y personalizados adicionales en el registro de llamada de voz, donde cada par clave-valor corresponde a un campo estándar o personalizado y sus valores.

Ejemplo

custfield1__c,custfield2__c,custfield3__c : API nombre del campo personalizado en el objeto Llamada de voz

value1,value2,value3 : valor del campo personalizado

Configuración de análisis
  • Tipo de contenido: JSON
  • Variable de salida: SCV_VoiceCallRecordId
  • Expresión de ruta de acceso: $.data.voiceCallId

Grabación de llamada de voz ID, para pasar al agente.

Evaluar la respuesta HTTP para Crear grabación de llamada de voz

Compruebe el estado HTTP de la solicitud HTTP Crear llamada de voz:

  • Etiqueta: statusCodeCreateVoiceCall
  • Variable: CreateVoiceCall.httpStatusCode

Si el código de estado == 200 => correcto else => error en la solicitud, error de gestión

Gestión de errores para Crear grabación de llamada de voz

Solo para demostración / depuración, reproduzca el mensaje según el código de estado http.

Si la creación de llamada de voz se realizó correctamente, continúe con Ejecutar flujo omni. De lo contrario, continúe con el enrutamiento de llamadas.

Solicitud HTTP: Ejecutar Omni Flow (paso opcional)

Utilice Execute Omni-Flow cuando desee:

  • Ejecutar tareas automatizadas, por ejemplo, buscar o crear registros, y vincular los registros con el registro de llamada de voz
  • Buscar registros y hacer pantalla emergente
  • Sincronizar las colas de Salesforce y Cisco
  • Dejar que Service Cloud Voice tome la decisión de enrutamiento

Esta solicitud siempre devuelve la "cola" o "agente" a donde se debe enrutar la llamada.

Después de ejecutar esta solicitud, asegúrese de enviar Borrar enrutamiento si la persona que llama cuelga antes de que un agente le responda. Consulte Webex Contact Center Flujo de eventos.

Configuración de solicitud HTTP

  • Etiqueta de actividad: ExecuteOmniFlow
  • Usar punto final autenticado: habilitado
  • Conector: Conector de Salesforce creado en el paso anterior
  • Ruta de solicitud: /services/apexrest/cisco_wxcc_scv/voice/v1/executeOmniFlow
  • Método: POST
  • Tipo de contenido de solicitud: Aplicación/JSON

Cuerpo de la solicitud

Además de los campos obligatorios, puede pasar datos adicionales como variables de entrada al Omni-Flow. A continuación se muestran dos ejemplos del cuerpo de la solicitud. Primero sin parámetros de flujo adicionales, solo campos obligatorios, el segundo con dos variables de entrada.

Ejemplo con parámetros Omni-Flow:

{ "callCenterDevName": "<Contact Center API name>", "certDevName": "<cert dev name>", "voiceCallId": "{{SCV_VoiceCallRecordId}}", "dialedNumber": "{{NewPhoneContact.DNIS}}", "flowDevName": "<flow API name>", "fallbackQueue": "<nombre de cola de reserva>" }

Ejemplo de actualización de los campos personalizados en la grabación de llamada de voz:

{ "callCenterDevName": "<Contact Center API name>", "certDevName": "<cert dev name>", "voiceCallId": "{{SCV_VoiceCallRecordId}}", "dialedNumber": "{{NewPhoneContact.DNIS}}", "flowDevName": "<flow API name>", "fallbackQueue": "<fallback queue name>", "flowInputParameters": { "param1": "value1", "param2": "value2" } }

Parámetros
Nombre de la propiedad Valor
callCenterDevName Nombre del desarrollador del centro de contacto
certDevName API Nombre del certificado (configurado en Contact Center)
voiceCallId ID del registro de llamada de voz, creado en el paso anterior: {{SCV_VoiceCallRecordId}}
Número marcado CalledNumber/DNIS: {{NewPhoneContact.DNIS}}
flowDevName Nombre de desarrollador del Omni-Flow a ejecutar
fallbackQueue Cola ID o Cola API nombre de la cola de Salesforce con respaldo
flowInputParameters

Entradas adicionales al flujo omnicanal (par clave-valor).

Ejemplo

param1,param2 : Nombre del parámetro de entrada Omni-Flow

value1,value2 : valor del parámetro

Configuración de análisis

Cola

  • Tipo de contenido: JSON
  • Variable de salida: SCV_OmniFlowQueue
  • Expresión de ruta: $.data.queue

La "cola" devuelta por Execute Omni-Flow se puede utilizar para el enrutamiento.

Agente
  • Tipo de contenido: JSON
  • Variable de salida: SCV_OmniFlowAgent
  • Expresión de ruta de acceso: $.data.agent

El "agente" devuelto por Execute Omni-Flow se puede utilizar para el enrutamiento.

Evaluar la respuesta HTTP para ejecutar Omni Flow

Compruebe el estado HTTP de la solicitud http Execute Omni Flow:

  • Etiqueta: statusCodeExecuteOmniFlow
  • Variable: ExecuteOmniFlow.httpStatusCode

Si el código de estado == 200 => correcto else => error en la solicitud, error de manejo.

Gestión de errores para Execute Omni Flow

Solo para demostración / depuración, reproduzca el mensaje según el código de estado http.

Si Execute Omni Flow se realizó correctamente, las variables SCV_OmniFlowQueue y SCV_OmniFlowAgent no se establecen. Decisión de enrutamiento en el flujo de llamadas.

Continuar con el enrutamiento de llamadas

Continuar en el flujo de llamadas, dirigir la llamada al agente. Opcional, utilice SCV_OmniFlowQueue y SCV_OmniFlowAgent para seleccionar cola y agente.

Webex Contact Center Flujo de eventos

Si la persona que llama cuelga la llamada antes de que un agente la responda, debemos actualizar Service Cloud Voice y finalizar la llamada.

  • Si se utilizó Execute Omni-Flow, envíe Borrar enrutamiento para eliminar el enrutamiento de servicio pendiente (PSR)
  • Enviar actualización de llamada de voz para actualizar las horas de inicio y finalización en la grabación de llamada de voz y para cambiar el estado de Nuevo a Completado

  1. PhoneContactEnded: este evento se desencadena cuando se desconecta una llamada en vivo y se eliminan todos los participantes.
  2. Solicitud HTTP: Borrar enrutamiento
  3. Solicitud HTTP: Actualizar llamada de voz
Solicitud HTTP: Borrar enrutamiento

  • Etiqueta: ClearRouting
  • Usar punto final autenticado: habilitado
  • Conector: Conector de Salesforce creado en el paso anterior
  • Ruta de solicitud: /services/apexrest/cisco_wxcc_scv/voice/v1/clearRouting
  • Método: POST

Tipo de contenido de solicitud: Aplicación/JSON

Cuerpo de la solicitud

{ "callCenterDevName": "<Contact Center API name>", "certDevName": "<cert dev name>", "voiceCallId": "{{SCV_VoiceCallRecordId}}" }

Parámetros

Nombre de la propiedadValor
callCenterDevName Nombre del desarrollador del centro de contacto
certDevName API Nombre del certificado (configurado en Contact Center)
voiceCallId ID del registro de llamada de voz, creado en el paso anterior: SCV_VoiceCallRecordId

Configuración de análisis

Ninguno.

Solicitud HTTP: Actualizar llamada de voz

  • Etiqueta: UpdateVoiceCall
  • Usar punto final autenticado: habilitado
  • Conector: Conector de Salesforce creado en el paso anterior
  • Ruta de solicitud: /services/apexrest/cisco_wxcc_scv/voice/v1/updateVoiceCall
  • Método: POST
  • Tipo de contenido de solicitud: Aplicación/JSON

Cuerpo de la solicitud

{ "callCenterDevName": "<Contact Center API name>", "certDevName": "<cert dev name>", "voiceCallId": "{{SCV_VoiceCallRecordId}}", "startTime": "{{SCV_CallStartTime}}", "endTime": "{{now() | replace({'[UTC]': ''})}}", "disconnectReason": { "value": "Abandonado en cola", "isError": true } }

Parámetros

Nombre de la propiedadValor
callCenterDevName Nombre del desarrollador del centro de contacto
certDevName API Nombre del certificado (configurado en Contact Center)
voiceCallId ID del registro de llamada de voz, creado en el paso anterior: SCV_VoiceCallRecordId
Hora de inicio Marca de tiempo UTC del inicio de la llamada{{SCV_CallStartTime}} (como se usa para crear el registro de llamada de voz)
Hora de finalización Marca de tiempo UTC actual '{{now()
disconnectReason Motivo de la desconexión de la llamada. La propiedad isError debe establecerse en true para que se muestre correctamente.

Configuración de análisis

Ninguno.

Referencias

Traducción de idiomas

(Opcional) Activar Translation Workbench

Esta configuración solo se aplica si utiliza la configuración de idioma de traducción.

1

Vaya a Configuración de → Translation Workbench → Configuración de idioma de traducción.

2

Haga clic en Habilitar para seleccionar el idioma de traducción.

(Opcional) Habilitar idiomas exclusivos de la plataforma

Esta configuración solo se aplica a idiomas distintos de EN-US.

1

Vaya a Configurar → configuración de la empresa → Configuración de idioma.

2

Elija los idiomas requeridos.

3

Seleccione las siguientes casillas de verificación:

  • Habilitar idiomas para el usuario final: la Ayuda y el programa de instalación no se traducen a los idiomas del usuario final
  • Habilitar idiomas solo de plataforma: no se proporcionan traducciones predeterminadas para idiomas exclusivos de plataforma
4

Guarde los cambios.

Activar el idioma y seleccionar el usuario (tarea)
1

Vaya a Configuración de → Translation Workbench → Configuración de idioma de traducción.

2

Elija el idioma y seleccione el usuario que lo traducirá.

3

Guarde los cambios.

Configuración multilingüe
Traducir etiquetas personalizadas
1

Vaya a Configuración → etiquetas personalizadas.

2

Seleccione el nombre de la etiqueta personalizada que desea abrir.

3

En la lista Traducciones relacionada, haga clic en Nueva para introducir una traducción nueva o en Editar (junto al idioma) para editar una traducción.

4

Seleccione el idioma al que está traduciendo.

5

Introduzca el valor traducido en el campo Texto de traducción. Este texto anula el valor especificado en el campo Valor de la etiqueta cuando el idioma predeterminado de un usuario es el idioma de traducción.

6

Guarde los cambios.

Permisos de Salesforce requeridos por la función de usuario

El conjunto de permisos del agente Webex Contact Center SCV contiene todos los permisos necesarios para trabajar con el gadget Webex Contact Center y las integraciones desarrolladas para los agentes.

Acceso a clase Apex (sección)

  • cisco_wxcc_scv. CiscoScvWxcc
  • cisco_wxcc_scv. ServiceResponseHandler
  • cisco_wxcc_scv. ServiceRouting
  • cisco_wxcc_scv. TelephonyIntegrationHandler

Accesos de tipo de metadatos personalizados (sección)

  • cisco_wxcc_scv. Conexión WxCC

Acceso a la página de Visualforce (sección)

  • cisco_wxcc_scv. CiscoScvLoginWxCC
  • cisco_wxcc_scv. CiscoScvMainWxCC
  • cisco_wxcc_scv. Redireccionamiento a CiscoScvOAuthRedirect
  • cisco_wxcc_scv. CiscoScvSwLoader

Contenedor API de voz de Service Cloud

Requisitos previos

Para utilizar Service Cloud Voice API Wrapper, se debe configurar una aplicación cliente externa de Salesforce para la integración IVR.

Usar el contenedor API de voz de Service Cloud

Service Cloud Voice (SCV) para Salesforce utiliza el REST API de integración de telefonía para crear y actualizar llamadas de voz, ejecutar flujos omnicanal y eliminar registros PendingServiceRouting asociados a una llamada de voz. Este servicio requiere autorización JWT y el uso del método HTTP PATCH, que actualmente no es compatible con Cisco IP Interactive Voice Response (IVR).

Con el fin de simplificar el uso del REST API de integración de telefonía para SCV en (no solo) un sistema IVR, se ha puesto a disposición un nuevo conjunto de API, que envuelven el Salesforce API existente y son accesibles directamente desde la organización de Salesforce donde está instalado el paquete Webex Contact Center for Service Cloud Voice.

Service Cloud Voice API Wrapper elimina la necesidad de autenticar un token JWT, implementa comprobaciones adicionales en los datos requeridos por Salesforce API y mejora los objetos de respuesta.

Recuperar el Access_Token

Ejecute una solicitud POST a https://<your-domain-name>.my.salesforce.com/services/oauth2/token

Enviando los siguientes parámetros en el cuerpo:

{ "grant_type": "client_credentials", "client_id": "<clave de consumidor de la aplicación conectada>", "client_secret": "<secreto del consumidor de la aplicación conectada>" } Si la solicitud se realiza correctamente, se devolverá la siguiente respuesta JSON: { "access_token": "<your-access-token>", "instance_url": "<your-org-base-url>", "ID": "https://login.salesforce.com/id/<id>/<id>", "token_type": "Bearer", "issued_at": "<timestamp>", "signature": "<unique-signature-code>" }

Ejecutar las solicitudes

La URL de la instancia debe contener my.salesforce.com.

Ejemplo de url de instancia correcta: https://abc-123.my.salesforce.com

El uso de cualquier otro dominio como URL de instancia (es decir, https://abc-123.lightning.force.com ) da como resultado un estado 401 no autorizado con un código de error de INVALID_SESSION_ID devuelto.

Crear llamada de voz (sección)

Crea un registro de VoiceCall que contiene los participantes (es decir, el autor de la llamada y el destinatario) para el registro de VoiceCall. Cuando crea un registro de VoiceCall, se crea una conversación en Salesforce. Solo use este API en un contexto en tiempo real, lo que significa que debe invocar este API solo cuando se inicia una llamada. Este API también se puede usar para crear registros de VoiceCall para llamadas de transferencia y conferencia al incluir el parámetro parentVoiceCallId en la carga útil de solicitud.

Punto final URI

<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/createVoiceCall

HTTP (método)

POST

Encabezados

Autorización: Portador <access_token>

Tipo de contenido: application/json

Parámetros

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

Puede encontrar una descripción detallada sobre los parámetros aceptados por esta solicitud en la documentación oficial de Salesforce en la sección "Parámetros".

Respuesta (exitosa)

{ "data": { "voiceCallId": "00X000012345abc" }, "errors": null, "success": true } 

Respuesta (con errores)

 { "data": null, "errors": ["Error message 1", "Error message 2"], "success": false }

Actualizar llamada de voz

Actualiza la llamada de voz una vez finalizada la llamada. Utilice este API para actualizar los parámetros relacionados con la llamada que no están disponibles durante la etapa de creación de VoiceCall. La actualización de VoiceCall API es una operación asíncrona. No puede consultar el estado de la llamada API.

Este punto final también se puede usar para crear una llamada de voz incluso después de que la llamada haya finalizado. Este comportamiento es útil en escenarios en los que desea registrar un registro en Salesforce para llamadas abandonadas o perdidas, o para cualquier otro escenario en el que aún no se haya creado una llamada de voz.

Punto final URI

<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/updateVoiceCall

HTTP (método)

POST

Encabezados

Autorización: Portador <access_token>

Tipo de contenido: application/json

Parámetros

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

Puede encontrar una descripción detallada sobre los parámetros aceptados por esta solicitud en la documentación oficial de Salesforce en la sección "Parámetros".

Respuesta (exitosa)

{ "data": { "status": "pending" }, "errors": null, "success": true }

La actualización de llamada de voz API es una operación asincrónica. No puede consultar el estado de la llamada API.

Respuesta (con errores)

{ "data": null, "errors": ["Error message 1", "Error message 2"], "success": false }

Ejecutar Omni-flow

Ejecuta el flujo omnicanal para enrutar llamadas. Pasa la llamada ID (Salesforce VoiceCallId o proveedor de telefonía ContactId) como parámetros al flujo y devuelve las instrucciones de enrutamiento del agente o de la cola al flujo de contacto. De forma predeterminada, Service Cloud Voice usa el flujo omnicanal (o cola de reserva) especificado para el canal telefónico que coincide con el número marcado. Si el número marcado no coincide con un canal telefónico existente, puede establecer opcionalmente un nuevo número marcado, flujo omnicanal y cola de respaldo como parámetros de entrada para esta llamada API.

Service Cloud Voice usa este orden de prioridad para enrutar llamadas:

  1. Utiliza los ajustes de flujo omnicanal y cola de respaldo para el canal telefónico que coincide con el número marcado. El flujo tiene prioridad. Si se produce un error en el flujo, se utiliza la cola de reserva.
  2. Utiliza los parámetros flowDevName y fallbackQueue especificados en la llamada Execute Omniflow API.

Punto final URI

<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/executeOmniFlow

HTTP (método)

POST

Encabezados

Autorización: Portador <access_token>

Tipo de contenido: application/json

Parámetros

{ "callCenterDevName": "contactCenterDevName123", "certDevName": "certDevName123", "voiceCallId": "00X000012345abc", "dialedNumber": "+18445791189", "flowDevName": "Route_VoiceCall", "fallbackQueue": "00G111222333444", "flowInputParameters": { "Input1": "one", "Input2": "two" } }

  • El parámetro voiceCallId es el Salesforce voiceCallId o el contacto ID del proveedor de telefonía.
  • Puede encontrar una descripción detallada sobre los parámetros aceptados por esta solicitud en la documentación oficial de Salesforce en la sección "Parámetros".

Respuesta (exitosa)

{ "data": { "queue": "queue info", "agent": "agent info" }, "errors": null, "success": true }

AGENT_INFO y QUEUE_INFO corresponden al campo ExternalId del CallCenterRoutingMap

Respuesta (con errores)

{ "data": null, "errors": ["Error message 1", "Error message 2"], "success": false }

Borrar enrutamiento

Elimina el registro PendingServiceRouting (PSR) de una llamada de voz. Este API no necesita ser llamado para la mayoría de los escenarios; el registro PSR se elimina automáticamente cuando la llamada ya no se enruta. Sin embargo, hay algunos escenarios, como para llamadas perdidas o abandonadas cuando se utilizan sistemas de telefonía asociados, en los que debe llamar explícitamente a este API para borrar el registro PSR.

Punto final URI

<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/clearRouting

HTTP (método)

POST

Encabezados

Autorización: Portador <access_token>

Tipo de contenido: application/json

Parámetros

{ "callCenterDevName": "contactCenterDevName123", "certDevName": "certDevName123", "voiceCallId": "00X000012345abc" }

  • El parámetro voiceCallId es el Salesforce voiceCallId o el ID de contacto del proveedor de telefonía.
  • Puede encontrar una descripción detallada sobre los parámetros aceptados por esta solicitud en la documentación oficial de Salesforce en la sección "Parámetros".

Respuesta (exitosa)

{ "data": { "status": "Success" }, "errors": null, "success": true }

Respuesta (con errores)

{ "data": null, "errors": ["Error message 1", "Error message 2"], "success": false }

Traducciones de números de teléfono

Varias interacciones entre Service Cloud Voice y Webex Contact Center dependen de las traducciones de números de teléfono. Debido a las diferencias internacionales y las aplicaciones específicas del cliente, se necesita una herramienta personalizable para transferir números de teléfono del formato A al formato B.

La solución Webex Contact Center para Service Cloud Voice elimina automáticamente todos los caracteres excepto números, hashtags (#), asteriscos (*), comas (,) y signos más iniciales (+). También elimina la primera aparición de (0). Esto se hará ANTES de que se apliquen las traducciones de números de teléfono.

En esta guía se describe cómo configurar traducciones de números de teléfono.

Campos

Las traducciones de números de teléfono se almacenan en campos Nombre-Valor. Esto le permite configurar una cantidad ilimitada de reglas por característica.

La configuración se almacena como una cadena JSON.

Tenga en cuenta que las barras diagonales inversas deben escaparse, por ejemplo, \d+ se convierte en \\d+.

{"Remove all characters but digits":"[1,17]->[^\\d]+","To internal number":"[7,17]->(\\d{7})(\\d{4})->$2"}

El campo Nombre no se utiliza técnicamente. Está ahí para agregar una cadena legible por humanos para identificar rápidamente el propósito de esta regla. Los buenos nombres son, por ejemplo: Eliminar todos los ceros iniciales, agregar más a la izquierda, etc.

Creación de reglas de traducción

Las reglas se proporcionan como expresiones regulares. Para ser más precisos: La implementación de JavaScript de expresiones regulares.

Una buena manera de comenzar es leyendo el documento RegExp de los documentos web de MDN.

Sin embargo, la creación de expresiones regulares complejas suele ser engorrosa. Por lo tanto, agregamos sintaxis adicional para que la configuración sea lo más fácil posible.

La siguiente figura muestra la sintaxis general de una regla de traducción de números de teléfono:

Predicado

El predicado se utiliza para especificar un intervalo que define la longitud del número que va a coincidir.

El predicado anterior especifica que todos los números con una longitud entre 7 y 11 caracteres (incluidos los bordes + espacios) coinciden.

Los predicados siempre coinciden con la longitud original del número. Esto ayuda a simplificar la configuración al reducir el riesgo de colisión de reglas para números internos / externos.

Patrón

El patrón especifica el formato del número que va a coincidir.

El patrón anterior indica que el número debe constar solo de dígitos y los selecciona.

Selector

Los selectores definen el formato final del número. Si es necesario agregar caracteres / dígitos que no estaban presentes originalmente, este es el lugar para hacerlo.

El selector es el último paso para construir el número. En función de la salida del patrón, el selector crea el nuevo número.

Ejemplo 1

En el ejemplo siguiente se muestra cómo transferir un número recibido del centro de contacto con el formato 0319175200 al formato suizo E164 +41 31 917 52 00.

En este ejemplo se usan dos reglas de traducción (1. y 2).

La primera regla en este ejemplo en realidad no cambia el número. Para números entre 1 y 17 caracteres de longitud, se eliminaría cualquier otra cosa que no fueran dígitos. Como no hay ningún dígito presente, nada cambia.

La segunda regla se aplica a los números que tienen exactamente 10 caracteres (originalmente). 0319175200 coincide y, por lo tanto, se aplica la regla. El patrón especifica que el número debe comenzar con un grupo de un dígito (\d{1}), seguido de un grupo de dos dígitos (\d{2}), seguido de un grupo de tres dígitos (\d{3}), y así sucesivamente.

A continuación, el selector accede a los grupos de patrones para definir la nueva cadena numérica. Esto significa que $2 hace referencia a la primera (\d{2}) y por lo tanto contiene 31.

Ejemplo 2

En el ejemplo siguiente se muestra cómo transferir un número recibido del centro de contacto con el formato +14693150217 al formato +1 469 315 0217 E164 de EE. UU.

En este ejemplo se usan dos reglas de traducción (1. y 2).

  1. Este número tiene exactamente 12 caracteres, por lo que se aplica la regla "Agregar espacios a números de EE. UU.".
  2. (\+1) dice que el número debe comenzar con +1. Si el número tiene 12 caracteres, pero no comienza con un +1, la regla se cancela y no se cambia nada.
  3. (\d{3}) dice que +1 debe ir seguido de 3 dígitos.
  4. (\d{3}) dice que los últimos 3 dígitos deben ir seguidos de otros 3 dígitos.
  5. (\d{4}) dice que los últimos 3 dígitos deben ir seguidos de 4 dígitos.

Si algo de esto no coincide, el número no se cambiará.

Por lo tanto, todas las reglas se aplican a "+14693150217". Por lo tanto, el número se cambia por "$1 $2 $3 $4":

  1. $1 hace referencia al grupo (\+1), el número que se va a enviar a Service Cloud Voice es similar a +1.
  2. $2 se refiere al primero de los dos (\d{3}), el número para enviar a Service Cloud Voice tiene un aspecto de +1 469.
  3. $3 se refiere al segundo de los dos (\d{3}), el número para enviar a Service Cloud Voice es similar al +1 469 315.
  4. $4 hace referencia al último grupo (\d{4}), el número que se va a enviar a Service Cloud Voice es similar al +1 469 315 0217.

Los espacios en la parte de reemplazo de la regla "$1 $2 $3 $4" se usan directamente. Entonces, si usa "$ 1- $ 2- $ 3- $ 4", el número se traduciría a: +1-469-315-0217

Y también se le permite eliminar grupos: [12, 12]->(\+1)(\d{3})(\d{3})(\d{4})->$2 $3 $4 se traducirá a: 469 315 0217. [12, 12]->(\+1)(\d{3})(\d{3})(\d{4})-> $3 $4 se traducirá a: 315 0217.

También es posible convertir un número internacional de EE.UU. a uno local como: [12, 12]->(\+1)(\d{3})(\d{3})(\d{4})->($2) $3-$4.

Luego, el número entrante "+14693150217" se traducirá a: (469) 315-0217.

Ejemplo 3

En el ejemplo siguiente se muestra cómo transferir un número recibido del centro de contacto con el formato +491515555531 al formato alemán E164 +49 151 5555 531.

En este ejemplo se usan dos reglas de traducción (1. y 2).

  1. Este número tiene exactamente 13 caracteres, por lo que se aplica la regla "Agregar espacios a los números alemanes".
  2. (\+49) dice que el número debe comenzar con +49. Si el número tiene 13 caracteres, pero no comienza con un +49, la regla se cancela y no se cambia nada.
  3. (\d{3}) dice que +49 debe ir seguido de 3 dígitos.
  4. (\d{4}) dice que los últimos 3 dígitos deben ir seguidos de 4 dígitos.
  5. (\d{3}) dice que los últimos 4 dígitos deben ir seguidos de 3 dígitos.

Si algo de esto no coincide, el número no se cambiará.

Así que todas las reglas se aplican a "+491515555531". Por lo tanto, el número se cambia por "$1 $2 $3 $4":

  1. $1 hace referencia al grupo (\+49), el número que se va a enviar a Service Cloud Voice es similar a +49.
  2. $2 se refiere al primero de los dos (\d{3}), el número para enviar a Service Cloud Voice tiene un aspecto de +49 151.
  3. $3 se refiere al segundo de los dos (\d{4}), el número para enviar a Service Cloud Voice es similar al +49 151 5555.
  4. $4 hace referencia al último grupo (\d{3}), el número para enviar a Service Cloud Voice es similar al +49 151 5555 531.

Lo mismo se aplica a la regla uno. Puede usar la pieza de repuesto $1 $2 $3 $4 para elegir qué usar del número.

Más ejemplos de Regex de traducción

Descripción Traducción Regex
Quitar todos los caracteres excepto los dígitos [1,17]->[^\d]+
Eliminar todos los caracteres excepto dígitos & + [1,17]->[^+\d]+
Descripción Traducción Regex
Eliminar +1 [12,12]->(.{ 1})(\d{1})(\d{10})->$3
Eliminar +1 [10,12]->(^\+1+)(\d+)->$2
Eliminar +49 [10,15]->(^\+49+)(\d+)->$2
Eliminar +49 [10,15]->(.{ 1})(\d{2})(\d{9})->$3
Eliminar +41 [10,13]->(^\+41+)(\d+)->$2
Eliminar +41 [10,13]->(.{ 1})(\d{2})(\d{9})->$3
Eliminar +XX [10,14]->(^\++)(\d{2})(\d+)->$3
Descripción Traducción Regex
Elimine + y reemplácelo con ceros US E164 [10,12]->(.{ 1})(\d{1})(\d{10})-> 001 $3
Elimine +1 y reemplácelo con ceros US E164 [10,12]->(^\+1+)(\d+)-> 001$2
Elimine + y reemplácelo con ceros DE E164 [12,15]->(.{ 1})(\d{2})(\d{10})-> 0049 $3
Elimine +49 y reemplácelo con ceros DE E164 [10,12]->(^\+49+)(\d+)-> 0049$2
Retire + y reemplácelo con ceros CH E164 [10,13]->(.{ 1})(\d{2})(\d{9})-> 0041 $3
Elimine +41 y reemplácelo con ceros CH E164 [10,12]->(^\+41+)(\d+)-> 0041$2
Descripción Traducción Regex
Número de EE. UU. con espacio [12,17]->(\d{1})(\d{3})(\d{3})(\d{4})->+1 $2 $3 $4
Número de EE. UU. con espacio [12,17]->(\+1)(\d{3})(\d{3})(\d{4})->$1 $2 $3 $4
Número DE con espacio [12,17]->(\d{2})(\d{3})(\d{4})(\d{3})->+49 $2 $3 $4
Número DE con espacio [12,17]->(\+49)(\d{3})(\d{4})(\d{3})->$1 $2 $3 $4
Número CH con espacio [12,17]->(\d{2})(\d{2})(\d{3})(\d{2})(\d{2})->+41 $2 $3 $4
Número CH con espacio [12,17]->(\+41)(\d{2})(\d{3})(\d{2})(\d{2})->$1 $2 $3 $4

Configuración de la página VoiceCall

Configurar la página de grabación de VoiceCall

La página de grabación de VoiceCall viene preconfigurada de forma predeterminada, con un diseño de 3 columnas y los siguientes componentes:

  • Acciones y recomendaciones
  • Notas de llamada
  • Detalles de la llamada
  • Grabaciones

Los componentes se pueden eliminar o agregar libremente a la página, según las necesidades del negocio. También se pueden usar diferentes diseños de página, pero algunos componentes, como el reproductor de grabación de llamadas y el cuerpo de conversación, solo pueden caber en áreas medianas y grandes de la plantilla.

Mostrar el componente Motivo de cierre

El componente Motivo de cierre debe mostrarse durante la llamada y durante la finalización.

Agregue el componente Cisco Motivo de cierre a la página de grabación de VoiceCall:

  1. Arrastre el componente web Cisco Motivo de cierre Lightning del área Personalizada de la lista Componentes Lightning a la página Grabación de llamada de voz.
  2. Haga clic en Guardar.
  3. Haga clic en Activar.
  4. Haga clic en Asignar como predeterminado de la organización.
  5. Haga clic en Guardar.
  6. Haga clic en Guardar de nuevo y, a continuación, haga clic en Flecha atrás para volver a la página.

El componente Cisco motivo de cierre se mostrará automáticamente durante la llamada y durante el cierre:

Si se agrega a la página, el componente Cisco Motivo de cierre se muestra para cada llamada, también si no se configura ningún cierre en Cisco Contact Center.

Mostrar el reproductor de grabación de llamadas

El reproductor de grabación de llamadas se mostrará si se ha guardado un enlace de grabación para la llamada de voz correspondiente.

Siga estos pasos para agregar el componente Reproductor de grabación de llamadas a la página Grabación de llamadas de voz:

  1. Arrastre el componente web Lightning del reproductor de grabación de llamadas a la página Grabación de llamadas de voz
  2. Haga clic en Guardar.
  3. Haga clic en Activar.
  4. Haga clic en Asignar como predeterminado de la organización.
  5. Haga clic en Guardar.
  6. Haga clic en Guardar de nuevo y, a continuación, haga clic en Flecha atrás para volver a la página.

Webex Administradores

Configuración de flujo

Pantalla emergente

Un nodo "Screen Pop" está disponible en el Webex Contact Center Flow. Se puede usar para activar una pantalla emergente dentro de Service Cloud Voice o en una ventana separada.

Puede encontrar más información sobre esta función en la documentación de Flow Designer.

Pantalla emergente en una ventana separada

Para abrir la pantalla emergente en una ventana separada, se debe proporcionar una URL absoluta en el nodo "Pantalla emergente". Los queryParameters se anexarán como parámetros de búsqueda a la dirección URL.

Se admiten los siguientes modos:

  • Nuevo navegador Tab - Siempre abre un nuevo navegador Tab.
  • Navegador existente Tab - En la primera pantalla emergente Tab navegador existente, se abre un nuevo navegador Tab. Ese Tab será el Tab dedicado para el posterior Navegador existente Tab pantalla emerge y la URL se actualizará dentro de ese navegador específico Tab.
  • Dentro del escritorio : se maneja de la misma manera que el nuevo navegador Tab.

La página abierta actualmente puede impedir una redirección. En ese caso, se abre una ventana emergente de pantalla Tab navegador existente en un nuevo navegador Tab.

¿Ha encontrado este artículo útil?
¿Ha encontrado este artículo útil?