- Inicio
- /
- Artículo
Webex Contact Center para Salesforce Service Cloud Voice integra el sólido CCaaS (Contact Center as a Service) de Cisco con la CRM de Salesforce, lo que permite a las empresas administrar las interacciones omnicanal de los clientes (voz, digital) dentro de la interfaz de Salesforce. Utiliza la IA de Webex para agentes virtuales, transcripción y enrutamiento inteligente, y transforma los agentes en "superagentes" con datos unificados para mejorar las experiencias del cliente.
Descripción general
Webex Contact Center para voz en la nube de servicios de Salesforce
Webex Contact Center para Service Cloud Voice es una solución de integración lista para usar que aporta la potencia de Webex Contact Center a la consola de agente omnicanal de voz en la nube de servicios de Salesforce.
Antes de continuar con la instalación, consulte la siguiente sección:
para conocer los requisitos previos y las limitaciones de la voz en la nube del servicio de Salesforce y asegurarse de que su organización de Salesforce esté lista para habilitar e instalar el paquete Webex Contact Center para la voz en la nube de servicio.
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.
- Enterprise
- Sin límite
- Desarrollador
Licencias
-
Los clientes deben comprar la nueva licencia complementaria A-SF-VOICE por agente conectado, además de las licencias Flex 3 estándar o Premium para Webex Contact Center. Para obtener más información, consulte la guía de pedidos de Flex 3.
- Voz de Salesforce para telefonía de socios
Antes de activar la voz, debe configurar los servicios de requisitos previos en su organización.
- Navegue hasta Información de la empresa > Licencia del conjunto de permisos
- Busque Usuario de voz en la nube de servicios (telefonía del socio).
Todas las ediciones de desarrolladores ahora vienen con 5 licencias de telefonía de socio disponibles para la prueba.
- Busque Usuario de voz en la nube de servicios (telefonía del socio).
- Como alternativa, puede verificar esto si se dirige a Configuración de Salesforce y busca "voz" en la barra lateral izquierda.
- Si aparece “Centros de contacto de telefonía del socio”, usted tiene la licencia de SCV.
- Si la opción “Centros de contacto de telefonía de socios” no está visible, siga los pasos que se indican a continuación: “Habilitar voz en la nube de servicios”.
- Vaya a Configuración de Salesforce, busque y seleccione "Configuración de telefonía de socio" y active el botón para "Habilitar voz en la nube de servicios".
- Active Omnicanal para permitir que sus agentes realicen y reciban llamadas.
- Vaya a Configuración de Salesforce, busque y seleccione "Configuración de telefonía de socio" y active el botón para "Habilitar voz en la nube de servicios".
Habilitar omnicanal
Si el omnicanal ya está habilitado en su organización, omita este paso.
- Desde la configuración, introduzca Omni-Channel Settings en el cuadro Búsqueda rápida, seleccione Omni-Channel Settings.


- Seleccione Enable Omni-Channel.
- Haga clic en Save.
Limitaciones
- Voice solo está disponible en Lightning Experience.
- Voice es compatible con Service Cloud y Sales Cloud como licencia adicional.
- 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).
- La navegación estándar no es compatible.
- La telefonía está muy regulada, así que consulte a su representante de Salesforce sobre la disponibilidad de voz en su región.
Requisitos
Códigos inactivos
Buscar códigos de inactividad
| 1 |
Inicie sesión en el Portal de administración. |
| 2 |
Navegue hasta Contact Center > DESKTOP EXPERIENCE > Idle/Wrap-up Codes. |
| 3 |
Asegúrese de que se muestran los códigos de inactividad; de lo contrario, haga clic en el botón desplegable de filtro y seleccione Idle Code en la parte superior de la página. |
| 4 |
Haga clic en un código de inactividad para abrir la vista de detalles. Allí puede encontrar el ID de código de inactividad.
Los ID se pueden copiar y, a continuación, utilizar para la configuración Asignación de estado de presencia. Uno de los ID debe utilizarse como Motivo predeterminado de Cisco no listo. |
Integrar
Instalación
Antes de continuar con la instalación, consulte la sección Requisitos previos y limitaciones para obtener información sobre los requisitos previos y las limitaciones de la nube de servicios de Salesforce.
Instalar y configurar Webex Contact Center para la voz en la nube de servicios
Cuando se obtiene una licencia Service Cloud Voice for Partner Telephony, aparece la página Configuración de la telefonía del socio en el menú de configuración.
Se puede encontrar más información en la referencia oficial de Salesforce ( enlace directo).
| 1 |
Desde la configuración, introduzca
|
| 2 |
Habilitar Turn on Voice with Partner Telephony. El mensaje Partner Telephony Contact Centers aparece en la página Setup menú.
Si tiene pensado implementar el paquete en un entorno aislado de Salesforce, reemplace el
|
Instala 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 debe instalarse 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 determinados permisos para los objetos y componentes que vienen con el paquete de Webex Contact Center for Service Cloud Voice. Además, otorgue estos permisos; los conjuntos de permisos que vienen con el paquete de Webex Contact Center for Service Cloud Voice ayudan a este proceso. Asistente de instalación de paquetes: aparecerá la pantalla de bienvenida: No se puede acceder directamente al paquete de instalación a través de AppExchange de Salesforce. Los clientes deben utilizar el botón “Consígalo ahora” del listado de AppExchange, que abre un formulario de contacto para solicitar el enlace de instalación y la activación de Cisco. |
| 4 |
Otorgue los siguientes conjuntos de permisos a al menos un usuario para poder crear el centro de contactos:
|
| 5 |
Haga clic en Configuración | Usuarios | Usuarios. |
| 6 |
Buscar y seleccionar usuario. |
| 7 |
Desplácese hacia abajo hasta "Asignaciones de conjuntos de permisos". |
| 8 |
Haga clic en Edit Assignments |
| 9 |
Para administradores del centro de contactos: asigne el conjunto de permisos administrador del centro de contactos (telefonía de socio).
|
| 10 |
Para agentes del centro de contacto: asigne el conjunto de permisos agente del centro de contacto (telefonía de socio) y el conjunto de permisos del agente de SCV del centro de contacto de Webex.
No se recomienda elegir el Install for All Users opción, ya que esto otorga todos los permisos (lectura, creación, edición y eliminación) en 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.
|
| 12 |
También puede hacer clic en Configuración | Usuarios | Usuarios.. |
| 13 |
Busque y seleccione un usuario. |
| 14 |
Desplácese hacia abajo hasta Managed Packages. |
| 15 |
Haga clic en Assign Licenses. |
| 16 |
Elegir Webex Contact Center for Service Cloud Voice de la lista. |
| 17 |
Haga clic en Add. |
| 18 |
Cree los estados de presencia para definir qué canales de servicio están asignados a diferentes estados. Los agentes pueden iniciar sesión en Omnicanal con diferentes estados según el tipo de trabajo al que tengan derecho. |
| 19 |
Desde la configuración, introduzca
|
| 20 |
Haga clic en New. Cree al menos un estado para “En línea” y otro para “Ocupado”.
|
Asignar los estados de presencia a los agentes
| 1 |
En Configuración, ingrese Conjuntos de permisos en el cuadro Búsqueda rápida y, a continuación, seleccione Conjuntos de permisos. |
| 2 |
Haga clic para abrir Partner Telephony Permission Set. |
| 3 |
Haga clic en Service Presence Statuses Access. |
| 4 |
Haga clic en Edit. |
| 5 |
En la ficha Available Service Presences , seleccione los estados de presencia creados anteriormente y haga clic en Add para asociarlos con el 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 puestos a su disposición. |
| 6 |
Haga clic en Save. |
| 7 |
Haga clic en Manage Assignments en la misma página. Luego, haga clic en Add Assignment en la esquina superior derecha, seleccione el usuario deseado, haga clic en Next, seleccione una Expiration Option para los usuarios asignados (opcional) y luego haga clic en Assign. Service Cloud Voice utiliza un dominio externo para operar con el registro de VoiceCall. Se deben agregar las siguientes URL a la "Configuración del sitio remoto" en Configuración ( haga clic aquí para abrir la documentación oficial):
Ejemplo: Cómo encontrar la URL de la instancia. |
| 8 |
Mire la URL en la barra de direcciones de su navegador después de conectarse. La URL de instancia es la parte anterior a ".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/, "orgfarm-54a38e30ad-dev-ed.develop" es su URL de instancia. Ejemplo: URL de la organización de origen: https://cisco.lightning.force.com Ejemplo: URL a agregar:
|
| 9 |
Se requiere el elemento de utilidad omnicanal en la aplicación Lightning Service Console para que el agente utilice Service Cloud Voice.
La referencia oficial de Salesforce se puede encontrar haciendo clic en el Let's Do This botón que abre la página Configurar la experiencia del agente para Service Cloud Voice con telefonía del socio en el portal de ayuda de Salesforce ( enlace directo). |
| 10 |
Desde la configuración, introduzca Partner Telephony Setup en el cuadro Búsqueda rápida, seleccione Partner Telephony Setup. |
| 11 |
Desplazarse hacia abajo hasta la sección 5 More Voice Settings. |
| 12 |
Para habilitar la protección contra clickjack para las páginas de Visualforce con encabezados deshabilitados mientras trabaja con el softphone en Lightning Experience, debe agregar los dominios desde los que se cargan los softphone y las barras de herramientas personalizadas como dominios de confianza, además de la URL de la instancia de Salesforce. Esta configuración y la lista de dominios de confianza se encuentran en Configuración | Seguridad | Configuración de la sesión. Para recuperar el dominio de Visualforce correcto, navegue hasta Configuración | Código personalizado | Páginas de Visualforce y haga clic en el botón Vista previa de
Ejemplo: Mi nombre de dominio--cisco_wxcc_scv.vf.force.com Para obtener el dominio de instancia de Salesforce, copie la URL que aparece en la barra de URL del navegador y agréguela a la Trusted Domains for Inline Frames List selección de lista Visualforce Pages como tipo IFrame. Ejemplo: MyDomainName.lightning.force.com
Si no tiene implementado Mi dominio en su organización, su formato URL es diferente. Si tiene implementado Mi dominio y los dominios mejorados no están habilitados en su organización, su formato URL es diferente. Si los dominios mejorados no están habilitados, la configuración de Stabilize URL en Visualforce, Experience Builder, Site.com studio y los archivos de contenido My Domain (Mi dominio) también afecta este formato. Para obtener detalles, consulte Mis formatos de URL de dominio en la ayuda de Salesforce. Configuración de protección Clickjack y dominios de confianza para Lightning Experience
|
| 13 |
Para mostrar los controles de grabación durante las llamadas, los agentes necesitan
Para asignarlo, agréguelo al conjunto de permisos creado en el paso Estados de presencia.
|
Configuración
Centro de contacto
Un archivo de definición del centro de contacto especifica un conjunto de campos y valores que se utilizan para definir un centro de contacto en Salesforce para un sistema CTI en particular. Salesforce utiliza archivos de definición del centro de contacto para admitir la integración con varios proveedores de sistemas CTI.
Se 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 Centro de contactos aquí.
Mejora desde Beta: En esta guía se describe una instalación clara de la versión de disponibilidad general (GA) de la integración de Webex Contact Center para la voz en la nube de servicios de Salesforce.
Si está mejorando desde una versión Beta de la integración, no vuelva a utilizar un registro existente del Centro de contacto del socio. En su lugar:
- Importe el archivo XML del Centro de contacto del socio incluido con la versión de GA.
- Cree un nuevo registro del Centro de contacto del socio mediante el XML importado.
- Actualice su configuración para utilizar el Centro de contacto para socios recién creado.
El XML del Centro de contacto para socios de GA contiene valores de configuración actualizados, incluida la URL del conector correcta y otros metadatos. La reutilización de un registro del Centro de contacto del socio creado a partir de XML beta puede conservar valores de configuración desactualizados e impedir que la integración funcione correctamente.
| 1 |
Desde la configuración, introduzca Partner Telephony Contact Centers en Quick Find , a continuación, seleccione Partner Telephony Contact Centers. Se muestra la lista de centros de contactos existentes (si existieran).
|
| 2 |
Haga clic en Create Contact Center en la parte derecha de la página. |
| 3 |
Seleccione Webex Contact Center como su proveedor de telefonía. Luego, haga clic en Next.
Se abrirá un navegador de archivos.
|
| 4 |
Seleccione el botón |
| 5 |
Haga clic en Open. Se importa el archivo.
|
| 6 |
Compruebe si su centro de contactos aparece en la vista de lista de centros de contactos.
|
Configurar el Centro de contacto
| 1 |
Desde la configuración, introduzca Partner Telephony Contact Centers en Quick Find , a continuación, seleccione Partner Telephony Contact Centers. | ||||||||||||||||||||||||||||||
| 2 |
Haga clic en el Centro de contactos importado anteriormente. | ||||||||||||||||||||||||||||||
| 3 |
Haga clic en Edit.
| ||||||||||||||||||||||||||||||
| 4 |
En la parte inferior del Contact Center página, haga clic en Add botón debajo Contact Center Users . | ||||||||||||||||||||||||||||||
| 5 |
Haga clic en + junto a los usuarios que tienen acceso al centro de contactos abierto. Solo los usuarios que tienen |
Personalizar
Aplicación de cliente externo para la integración de Webex Contact Center
Configurar la aplicación de clientes externos para el conector de Salesforce de Webex Contact Center
Para utilizar la voz en la nube de servicios en toda su extensión, el flujo de llamadas del centro de contacto puede adaptarse para crear el registro de llamadas de voz y para ejecutar un flujo omnicanal de Salesforce mientras la llamada está en la IVR.
Crear certificado
Asegúrese de haber creado un certificado digital según la política 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
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 []:<password>
An optional company name []:
openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt
server.crt => Certificado para la aplicación de cliente externo de Salesforce
server.key => Clave privada para el conector de Salesforce en Webex Control Hub
Conjunto de permisos para el usuario de integración de SCV
El siguiente conjunto de permisos otorga acceso a las clases de Apex utilizadas por Connects para SCV para la integración con los flujos de IVR del centro de contacto y el centro de contacto de Webex para Salesforce para SCV.
A continuación, se muestra una configuración de ejemplo y se describen los permisos mínimos requeridos para que funcione la integración del centro de contacto/IVR.
- En Configuración, diríjase a Usuarios | Conjuntos de permisos.
- Haga clic en New Botón.
- Introduzca una etiqueta, por ejemplo: Acceso a IVR a las clases SCV Apex
- El nombre de la API se completa automáticamente
- Licencia: Ninguno
- Haga clic en el botón Save Botón.
- Se abrirá el nuevo conjunto de permisos.
- Navegue hasta Apex Class Access.
- Haga clic en el botón Edit y agregue las siguientes clases de Apex:
- cisco_wxcc_scv.RoutingService
- Navegue hasta System Permissions.
- Haga clic en el botón Edit y habilite los siguientes Permisos:
- Servicios de REST de Apex
- API habilitada
Acceso mínimo: perfil de integraciones de solo API
Este perfil se utiliza para integrar con Webex Contact Center para Salesforce para SCV a fin de crear registros de llamadas de voz y ejecutar omni-flow desde el flujo de IVR.
A continuación, se muestra una configuración de ejemplo y se describen los permisos mínimos requeridos para que funcione la integración del centro de contacto/IVR.
Este es un clon del perfil de Acceso mínimo - Integraciones de solo API.
- En Configuración, diríjase a Usuarios | Perfiles.
- En la lista de perfiles, busque el perfil Acceso mínimo: integraciones de solo API.
- Haga clic en el nombre del perfil para abrir el Minimum Access - API Only Integrations perfil.
- En Minimum Access - API Only Integrations perfil, haga clic en el Clone Botón.
- Introduzca un nombre de perfil nuevo, por ejemplo: Integración de SCV.
- Haga clic en Save Botón.
- Se abrirá el nuevo perfil.
- Verifique que su perfil de acceso mínimo: integraciones de solo API tenga todos los permisos eliminados del propio perfil.
- Navegue hasta System Permissions.
- Asegúrese de que los siguientes Permisos estén habilitados:
- API habilitada
- Usuario de solo API
Usuario de integración de SCV
A continuación, se muestra una configuración de ejemplo y se describen los permisos mínimos requeridos para que funcione la integración del centro de contacto/IVR. No se requiere una licencia de voz en la nube del servicio de Salesforce ni una licencia de Webex Contact Center para Salesforce para SCV para el usuario de integración de SCV.
- En Configuración, diríjase a Usuarios | Usuarios.
- Haga clic en New User Botón.
- Introduzca el nombre, el apellido y todos los demás campos obligatorios.
- Licencia de usuario: Integración de Salesforce
- Perfil: seleccione el perfil creado en el paso anterior ("Perfil de integración de SCV", clon de Acceso mínimo: perfil de integraciones de solo API)
- Haga clic en Save Botón.
- Abra el nuevo registro del usuario.
- Asigne el Permission Set creado antes ("IVR Access to SCV Apex Classes").
- Asigne la licencia del conjunto de permisos Integración de la API de Salesforce.
Crear la aplicación de cliente externo de Salesforce
Crear una nueva aplicación de cliente externo
Existen dos opciones para conectar sus datos de Salesforce con aplicaciones de terceros. Ambos Connected Apps y External Client Apps son marcos para integrar datos. Las aplicaciones de clientes externos son la próxima generación de aplicaciones conectadas.
Para configurar la aplicación de clientes externos de Salesforce que utiliza Cisco Webex Contact Center:
- Desde Setup, navegar hasta Apps | External Client Apps | External Client App Manager.
- Haga clic en New External Client App.
- External Client App—Basic Information
- Nombre de la aplicación del cliente externo: WxCC: SCV
- Nombre de la API: WxCC_SCV
- Correo electrónico de contacto: < su correo electrónico >
- Estado de distribución: seleccione Local

External Client App—API (Enable OAuth Settings)
- Seleccione: 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 los ámbitos de OAuth:
- Administrar datos de usuarios a través de API (api)
- Realizar solicitudes en cualquier momento (refresh_token, offline_access)

Flow Enablement
- Seleccione: Habilitar flujo de la portadora de JWT
- Haga clic en Cargar archivos y cargue el
server.crtarchivo que contiene su certificado digital.

Security
Desmarque el Require secret for the Web Server Flow opción.

- Haga clic en Create Botón.
- Cambiar a Tab Policies y luego haga clic en Edit Botón.
- Directivas: directivas de OAuth
- Políticas de complementos
- Usuarios permitidos: seleccione los usuarios aprobados por el administrador están preautorizados
- Confirmar el cambio
- Autorización de la aplicación
- Política de tokens de actualización: seleccione Caducar token de actualización de inmediato
- Relajación de IP: seleccione Aplicar restricciones de IP

- Políticas de complementos
- Políticas: políticas de la aplicación
- Página de inicio: ninguna
- Seleccionar conjuntos de permisos: asignar el conjunto de permisos creado antes ("Acceso de IVR a las clases de SCV Apex")

- Haga clic en Save.
- Cambie a Configuración de fichas.
-
Sección Configuración de OAuth, haga clic en Consumer Key y Secret botón; espere al correo electrónico y verifique su identidad. Una nueva pestaña del navegador abre una pantalla con los detalles del consumidor.

- Haga clic en Copy y guarde el Consumer Key. La clave de consumidor se utiliza más tarde para crear el conector de Salesforce en Webex Contact Center Control Hub.

-
Configuración y secuencia de comandos de Webex Contact Center para crear registros de llamadas de voz
Para obtener el valor completo de la voz en la nube del servicio de Salesforce, el flujo de llamadas en Webex Contact Center debe modificarse para crear el registro de llamadas de voz en Service Cloud Voice tan pronto como la llamada llegue al centro de contactos.
Se puede ejecutar un Omni-Flow opcional para decisiones de enrutamiento y automatización en Salesforce.
Para obtener detalles sobre las API utilizadas, consulte Contenedor de la API de voz en la nube de servicios.
Requisitos previos
Para utilizar el contenedor de la API de voz en la nube de servicios, debe configurarse una aplicación de cliente externo de Salesforce para la integración de IVR.
Configurar el conector de Salesforce 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/Set-Up-Integration-Connectors-for-Webex-Contact-Center#id_133211.
| 1 |
Conéctese a la organización de su cliente en https://admin.webex.com y navegue a Servicios > Centro de contactos > Configuración de inquilinos > Integraciones>Conectores. |
| 2 |
En la tarjeta de Salesforce, haga clic en Configurar o Agregar conector.
IMPORTANTE: MANTENGA LA SEGURIDAD ROTANDO PERIÓDICAMENTE SECRETOS Asegúrese de rotar regularmente su clave privada y su certificado para mantener seguras sus integraciones. Actualice la clave privada en el conector del centro de contacto en Webex Hub y el certificado en la aplicación de cliente externo de Salesforce. Consejo para la resolución de problemas Después de hacer clic en Listo, y el conector no se guardará:
|
Flujo principal del Centro de contacto de Webex
| Variable de flujo | Descripción |
|---|---|
| Variable de flujo para el ID de registro de llamada de voz | ID único para identificar la llamada. Obligatorio para crear el registro de llamadas de voz. Formato: wxcc_<ID de interacción> Ejemplo: wxcc_fc4ec7d8-4c91-49aa-b764-081fbba344a8
|
| Variable local para la Hora de inicio de llamada |
Se utiliza para crear el registro de llamadas de voz y al actualizar la llamada de voz.
|
| Variable local para nombre/id de cola |
Devuelto por Ejecutar Omni Flow, utilizado para el enrutamiento de llamada. Esta variable solo es necesaria cuando se utiliza Execute Omni Flow
|
| Variable local para nombre/ID del agente |
Devuelto por Ejecutar Omni Flow, utilizado para el enrutamiento de llamada. Esta variable solo es necesaria cuando se utiliza Execute Omni Flow
|
Descripción general del flujo principal

- Generar clave de llamada del proveedor
- Definir hora de inicio de llamada
- Solicitud HTTP: Crear registro de llamadas de voz
- Evaluar respuesta HTTP para crear registro de llamada de voz
- Administración de errores para crear registro de llamada de voz
- Solicitud HTTP: Ejecutar flujo de omni
- Evaluar respuesta HTTP para ejecutar flujo omni
- Manejo de errores para Ejecutar flujo de omni
- Continuar con el enrutamiento de llamada
| Flujo | Descripción |
|---|---|
| Generar clave de llamada del proveedor |
Cada llamada administrada en Service Cloud Voice crea un registro de llamada de voz en Salesforce y requiere un ID único llamado Clave de llamada del proveedor. En el caso de los registros de llamadas de voz creados en Webex Contact Center, la clave de llamada del proveedor debe definirse en el flujo de WxCC y, a continuación, transferirse junto con la llamada al agente mediante una variable de flujo. El valor vendorCallKey debe cumplir con las siguientes reglas:
|
| Definir hora de inicio de llamada |
Marca de hora UTC de la hora de inicio de llamada. Esta marca de tiempo se utiliza para crear el registro de llamadas de voz y para actualizar el registro de llamadas de voz si la persona que llama cuelga antes de ser enrutada al agente.
|
| Solicitud HTTP: Crear registro de llamadas de voz |
Este paso es obligatorio para cada llamada. Una vez creado el registro de llamadas de voz, se debe pasar el ID de registro de llamadas de voz 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 Servicio de voz en la nube de servicios. |
| Configuración de solicitud HTTP |
|
Solicitud HTTP: Crear registro de llamadas de voz
Este paso es obligatorio para cada llamada. Una vez creado el registro de llamadas de voz, se debe pasar el ID de registro de llamadas de voz 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 Servicio de voz en la nube de servicios.
Configuración de solicitud HTTP
- Etiqueta de actividad: Crear llamada de voz
- Utilizar extremo autenticado: Enabled
- 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 la solicitud: Aplicación/JSON
Cuerpo de la solicitud
Al crear el registro de llamadas de voz, también puede actualizar los campos personalizados del registro de llamadas de voz con los datos de la 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 el registro de llamadas 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 con la actualización de campos personalizados en el registro de llamadas 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 |
|---|---|
| DevName del centro de llamadas | Nombre del desarrollador del Centro de contacto |
| certDevName | Nombre del certificado de la API (como se configura en el centro de contactos) |
| claveDeLlamadaDel proveedor | ID de llamada único: {{SCV_VendorCallKey}}
|
| hasta | Número llamado/DNIS: {{NewPhoneContact.DNIS}}
|
| desde | Número que llama/ANI: {{NewPhoneContact.ANI}}
|
| hora de inicio | Marca de hora de UTC {{SCV_CallStartTime}} (se configurará inmediatamente después de que se acepte la llamada en la secuencia de comandos) |
| Atributos de llamada |
Representa campos estándar y personalizados adicionales en el registro de llamadas de voz, donde cada par de valores de clave corresponde a un campo estándar o personalizado y sus valores. Ejemplo:
|
Configuración de análisis
- Tipo de contenido: JSON
- Variable de salida: SCV_VoiceCallRecordId
- Expresión de ruta:
$.data.voiceCallId
ID de registro de llamada de voz, que se pasa al agente.
Evaluar respuesta HTTP para crear registro de llamada de voz
Compruebe el estado HTTP de la solicitud http para crear llamada de voz:
- Etiqueta: statusCodeCreateVoiceCall
- Variable: CreateVoiceCall.httpStatusCode
Si el código de estado == 200 => se realizó correctamente else => falló la solicitud, se manejó un error
Administración de errores para crear registro de llamada de voz
Solo para demostración/depuración, reproduzca el mensaje dependiendo del código de estado http.
Si la opción Crear llamada de voz fue exitosa, continúe con Ejecutar flujo de omni. De lo contrario, continúe con el enrutamiento de llamada.
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 pop de pantalla
- sincronizar colas de Salesforce y Cisco
- deje que Service Cloud Voice tome la decisión de enrutamiento
Esta solicitud siempre devuelve la "cola" o "agente" al lugar donde se debe enrutar la llamada.
Después de ejecutar esta solicitud, asegúrese de enviar un enrutamiento claro si la persona que llama cuelga antes de que un agente lo responda. Consulte Flujo de eventos de Webex Contact Center.
Configuración de solicitud HTTP
- Etiqueta de actividad: ExecuteOmniFlow
- Utilizar extremo autenticado: Enabled
- 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 la solicitud: Aplicación/JSON
Cuerpo de la solicitud
Además de los campos obligatorios, puede pasar datos adicionales como variables de entrada a Omni-Flow. A continuación, se muestran dos ejemplos del cuerpo de la solicitud. En primer lugar, sin parámetros de flujo adicionales, solo se requieren campos y en segundo lugar, con dos variables de entrada.
Ejemplo con parámetros de Omni-Flow:
{
"callCenterDevName": "<Contact Center API name>",
"certDevName": "<cert dev name>",
"voiceCallId": "{{SCV_VoiceCallRecordId}}",
"dialedNumber": "{{NewPhoneContact.DNIS}}",
"flowDevName": "<flow api name>",
"fallbackQueue": "<fallback queue name>"
}
Ejemplo con la actualización de los campos personalizados del registro de llamadas 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 |
|---|---|
| DevName del centro de llamadas | Nombre del desarrollador del Centro de contacto |
| certDevName | Nombre del certificado de la API (como se configura en el centro de contactos) |
| ID deLlamadaDeVoz | ID del registro de llamadas de voz, creado en el paso anterior:
{{SCV_VoiceCallRecordId}}
|
| Número marcado | Número llamado/DNIS: {{NewPhoneContact.DNIS}}
|
| DevName de flujo | Nombre del desarrollador del Omni-Flow para ejecutar |
| cola de recuperación | ID de cola o nombre de la API de cola de la cola de Salesforce de respaldo |
| parámetros de entrada de flujo |
Entradas adicionales al flujo omnicanal (par clave-valor). Ejemplo:
|
Configuración de análisis
Cola
- Tipo de contenido: JSON
- Variable de salida: SCV_OmniFlowQueue
- Expresión de ruta:
$.data.queue
La "cola" devuelta de Execute Omni-Flow se puede utilizar para el enrutamiento.
Agente- Tipo de contenido: JSON
- Variable de salida: SCV_OmniFlowAgent
- Expresión de ruta:
$.data.agent
El "agente" devuelto por Execute Omni-Flow se puede utilizar para el enrutamiento.
Evaluar respuesta HTTP para ejecutar flujo omni
Compruebe el estado HTTP de la solicitud http Execute Omni Flow:
- Etiqueta: statusCodeExecuteOmniFlow
- Variable: ExecuteOmniFlow.httpStatusCode
Si el código de estado == 200 => se realizó correctamente else => falló la solicitud, se gestionó el error.
Manejo de errores para Ejecutar flujo de omni
Solo para demostración/depuración, reproduzca el mensaje dependiendo del código de estado http.
Si Ejecutar Omni Flow tuvo éxito, las variables SCV_OmniFlowQueue y SCV_OmniFlowAgent no están configuradas. Decisión de enrutamiento en el flujo de llamadas.
Continuar con el enrutamiento de llamada
Continuar en el flujo de llamadas, enrutar la llamada al agente. Opcional, utilice SCV_OmniFlowQueue y SCV_OmniFlowAgent para seleccionar la cola y el agente.
Flujo de eventos de Webex Contact Center
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ó Ejecutar omni-Flow, envíe un enrutamiento claro para eliminar el enrutamiento de servicio pendiente (PSR)
- Enviar la actualización de la llamada de voz, para actualizar los tiempos de inicio y finalización en el registro de llamada de voz y para cambiar el estado de Nuevo a Completado

- PhoneContactEnded: este evento se activa cuando se desconecta una llamada en directo y se eliminan todos los participantes.
- Solicitud HTTP: Borrar enrutamiento
- Solicitud HTTP: Actualizar llamada de voz
Solicitud HTTP: Borrar enrutamiento
- Etiqueta: Borrar enrutamiento
- Utilizar extremo autenticado: Enabled
- 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 la 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 propiedad | Valor |
|---|---|
| DevName del centro de llamadas | Nombre del desarrollador del Centro de contacto |
| certDevName | Nombre del certificado de la API (como se configura en el centro de contactos) |
| ID deLlamadaDeVoz | ID del registro de llamadas de voz, creado en el paso anterior: SCV_VoiceCallRecordId |
Configuración de análisis
Ninguno.
Solicitud HTTP: Actualizar llamada de voz
- Etiqueta: Actualizar llamada de voz
- Utilizar extremo autenticado: Enabled
- 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 la 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": "Abandoned in queue", "isError": true }
}
Parámetros
| Nombre de la propiedad | Valor |
|---|---|
| DevName del centro de llamadas | Nombre del desarrollador del Centro de contacto |
| certDevName | Nombre del certificado de la API (como se configura en el centro de contactos) |
| ID deLlamadaDeVoz | ID del registro de llamadas de voz, creado en el paso anterior: SCV_VoiceCallRecordId |
| hora de inicio | Marca de hora UTC del inicio de llamada {{SCV_CallStartTime}} (tal como se utiliza para crear el registro de llamadas de voz) |
| hora de finalización | Marca de hora UTC actual `{{now() |
| motivo de la desconexión | Motivo de la desconexión de la llamada. La propiedad isError
se debe configurar en true para que se muestre correctamente. |
Configuración de análisis
Ninguno.
Referencias
- Crear una clave privada y un certificado digital de firma automática
- Configurar la aplicación conectada para el conector de Salesforce de Webex Contact Center
- Configurar conectores de integración para Webex Contact Center: Salesforce
- Guía de configuración y administración de Cisco Webex Contact Center > Diseñador de flujos
- API de REST de integración de telefonía
Traducción de idiomas
(Opcional) Habilitar el banco de trabajo de traducción
Esta configuración solo se aplica si utiliza la configuración del idioma de traducción.
| 1 |
Vaya a Configuración → Mesa de trabajo de traducción → Configuración del idioma de traducción. |
| 2 |
Haga clic en Enable para seleccionar el idioma de traducción.
|
(Opcional) Habilitar idiomas solo para plataforma
Esta configuración solo se aplica a idiomas distintos de EN-US.
| 1 |
Vaya a Configuración → Configuración de la empresa → Configuración de idioma. |
| 2 |
Elija los idiomas requeridos. |
| 3 |
Seleccione las siguientes casillas de verificación:
|
| 4 |
Guarde sus cambios.
|
Activar el idioma y seleccionar el usuario (tarea)
| 1 |
Vaya a Configuración → Mesa de trabajo de traducción → Configuración del idioma de traducción. |
| 2 |
Elija el idioma y seleccione el usuario que lo traducirá. |
| 3 |
Guarde sus cambios.
|
Configuración de varios idiomas
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 de traducciones relacionadas, haga clic en |
| 4 |
Seleccione el Idioma al que está traduciendo.
|
| 5 |
Introduzca el valor traducido en el campo de 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 sus cambios. |
Permisos de Salesforce requeridos por la función de usuario
El conjunto de permisos del agente SCV del Centro de contacto de Webex contiene todos los permisos necesarios para trabajar con el gadget del Centro de contacto de Webex y las integraciones desarrolladas para los agentes.
Acceso a la clase Apex (sección)
- cisco_wxcc_scv.CiscoScvWxcc
- cisco_wxcc_scv.ServiceResponseHandler
- cisco_wxcc_scv.RoutingService
- cisco_wxcc_scv.TelephonyIntegrationHandler
Accesos de tipo de metadatos personalizados (sección)
- Conexión cisco_wxcc_scv.WxCC
Acceso a la página de Visualforce (sección)
- cisco_wxcc_scv.CiscoScvLoginWxCC
- cisco_wxcc_scv.CiscoScvMainWxCC
- cisco_wxcc_scv.CiscoScvOAuthRedirect
- cisco_wxcc_scv.CiscoScvSwLoader
Contenedor de la API de voz en la nube de servicios
Requisitos previos
Para utilizar el contenedor de la API de voz en la nube de servicios, debe configurarse una aplicación de cliente externo de Salesforce para la integración de IVR.
Utilizar el contenedor de la API de voz de la nube de servicios
Service Cloud Voice (SCV) para Salesforce utiliza la API REST de la integración de telefonía para crear y actualizar VoiceCalls, ejecutar flujos de omnicanal y eliminar registros de PendingServiceRouting asociados a una VoiceCall. Este servicio requiere la autorización de JWT y el uso del método HTTP PATCH, que actualmente no es compatible con la Respuesta de voz interactiva (IVR) de Cisco IP.
Con el fin de simplificar el uso de la API de REST de la integración de telefonía para SCV en (no solo) un sistema de IVR, se ha puesto a disposición un nuevo conjunto de API, que cubren la API de Salesforce existente y son accesibles directamente desde la organización de Salesforce en la que está instalado el paquete de Webex Contact Center for Service Cloud Voice.
El contenedor de la API de voz de la nube de servicios elimina la necesidad de autenticar un token de JWT, implementa comprobaciones adicionales en los datos requeridos por la API de Salesforce 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
Enviar los siguientes parámetros en el cuerpo:
{
"grant_type": "client_credentials",
"client_id": "<consumer key of the connected app>",
"client_secret": "<consumer secret of the connected app>"
}
If the request is successful, the following JSON response will be returned:
{
"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>"
}
Ejecuta las solicitudes
La URL de la instancia debe contener my.salesforce.com.
Ejemplo de una 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 ) genera un estado 401 Unauthorized con un INVALID_SESSION_ID errorCode devuelto.
Crear llamada de voz (sección)
Crea un registro de VoiceCall que contiene a los participantes (es decir, el llamante y el destinatario) para el registro de VoiceCall. Cuando crea un registro de VoiceCall, se crea una conversación en Salesforce. Utilice solo esta API en un contexto en tiempo real, lo que significa que debe invocarla solo cuando se inicia una llamada. Esta API también se puede utilizar para crear registros de VoiceCall para llamadas de transferencia y de conferencia incluyendo el parámetro parentVoiceCallId en la carga de pago de la solicitud.
URI de extremo
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/createVoiceCall
Método HTTP
POST
Encabezados
Autorización: Portador <token_de_acceso>
Tipo de contenido: aplicación/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"
}
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 VoiceCall una vez finalizada la llamada. Utilice esta API para actualizar los parámetros relacionados con llamadas que no estén disponibles durante la etapa de creación de VoiceCall. Actualizar la API de VoiceCall es una operación asincrónica. No puede consultar el estado de la llamada a la API.
Este extremo también se puede utilizar para crear una llamada de voz incluso después de que la llamada haya finalizado. Este comportamiento es útil en situaciones en las que desea registrar un registro en Salesforce para llamadas abandonadas u perdidas, o para cualquier otra situación en la que no se haya creado una llamada de voz.
URI de extremo
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/updateVoiceCall
Método HTTP
POST
Encabezados
Autorización: Portador <token_de_acceso>
Tipo de contenido: aplicación/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
}
}
Se puede encontrar una descripción detallada de 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
}
Actualizar la API de VoiceCall es una operación asincrónica. No puede consultar el estado de la llamada a la 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 el ID de llamada (VoiceCallId de voz de Salesforce o ContactId del proveedor de telefonía) 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 utiliza 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, de manera opcional, puede establecer un nuevo número marcado, un flujo de omnicanal y una cola de respaldo como parámetros de entrada para esta llamada a la API.
Service Cloud Voice utiliza este orden de precedencia para enrutar llamadas:
- Utiliza la configuración de flujo omnicanal y cola de reserva para el canal del teléfono que coincide con el número marcado. El flujo tiene prioridad. Si el flujo falla, se utiliza la cola de reserva.
- Utiliza los parámetros flowDevName y fallbackQueue especificados en la llamada Execute Omniflow API.
URI de extremo
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/executeOmniFlow
Método HTTP
POST
Encabezados
Autorización: Portador <token_de_acceso>
Tipo de contenido: aplicación/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 ID de llamada de voz de Salesforce o el ID de contacto del proveedor de telefonía.
- Se puede encontrar una descripción detallada de 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 en 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. No es necesario llamar a esta API para la mayoría de las situaciones; el registro de PSR se elimina automáticamente cuando la llamada ya no se está enrutando. Sin embargo, hay algunas situaciones, como las llamadas perdidas o abandonadas al utilizar sistemas de telefonía del socio, en las que debe llamar explícitamente a esta API para borrar el registro de PSR.
URI de extremo
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/clearRouting
Método HTTP
POST
Encabezados
Autorización: Portador <token_de_acceso>
Tipo de contenido: aplicación/json
Parámetros
{
"callCenterDevName": "contactCenterDevName123",
"certDevName": "certDevName123",
"voiceCallId": "00X000012345abc"
}
- El parámetro voiceCallId es el ID de llamada de voz de Salesforce o el ID de contacto del proveedor de telefonía.
- Se puede encontrar una descripción detallada de 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
Las diversas 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 a 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 los números, las etiquetas (#), los asteriscos (*), las comas (,) y los signos más iniciales (+). También elimina la primera instancia de (0). Esto se hará ANTES DE que se apliquen las traducciones de sus números de teléfono.
En esta guía se describe cómo configurar las traducciones de números de teléfono.
Campos
Las traducciones de números de teléfono se almacenan en los campos Nombre-Valor. Esto le permite configurar una cantidad ilimitada de reglas por función.
La configuración se almacena como una cadena JSON.
Tenga en cuenta que es necesario escapar de las barras invertidas, p. ej. \d+ se convierte en \\d+.
{"Remove all characters but digits":"[1,17]->[^\\d]+","To internal number":"[7,17]->(\\d{7})(\\d{4})->$2"}
No se utiliza técnicamente el campo Name (Nombre). Está ahí para agregar una cadena legible para humanos a fin de identificar rápidamente el propósito de esta regla. Los nombres buenos son, por ejemplo: Eliminar todos los ceros iniciales, Agregar más inicial, etc.
Creación de reglas de traducción
Las reglas se proporcionan como Expresiones Regulares. Para ser más precisos: La implementación JavaScript de expresiones regulares.
Una buena manera de comenzar es leer 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 una sintaxis adicional para que la configuración sea lo más sencilla 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 debe 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 reglas de colisión para números internos/externos.
Patrón
El patrón especifica el formato del número que debe coincidir.
El patrón anterior indica que el número debe constar de dígitos solamente y los selecciona.
Selector
Los seleccionadores definen el formato final del número. Si es necesario agregar caracteres o dígitos que no estaban presentes originalmente, este es el lugar para hacerlo.
El selector es el último paso para crear el número. En función de la salida del patrón, el selector construye el nuevo número.
Ejemplo 1
En el siguiente ejemplo se muestra cómo transferir un número recibido del centro de contactos en el formato 0319175200 al formato E164 suizo +41 31 917 52 00.
Este ejemplo utiliza dos reglas de traducción (1. y 2.)
La primera regla de este ejemplo no cambia realmente el número. En el caso de los números con una longitud de 1 a 17 caracteres, se eliminaría cualquier otra cosa que no fuera los dígitos. Dado que no hay ningún dígito presente, nada cambia.
La segunda regla se aplica a números que tienen exactamente 10 caracteres de longitud (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 siguiente ejemplo se muestra cómo transferir un número recibido del Centro de contactos en el formato +14693150217 al formato E164 +1 469 315 0217 de EE. UU.
Este ejemplo utiliza dos reglas de traducción (1. y 2.)
- Este número tiene exactamente 12 caracteres de longitud, por lo que se aplica la regla “Agregar espacios a números de EE. UU.”.
- (\+1) dice que el número debe comenzar con +1. Si el número tiene una longitud de 12 caracteres, pero no comienza con un +1, la regla se cancela y no se cambia nada.
- (\d{3}) dice que +1 debe ir seguido de 3 dígitos.
- (\d{3}) dice que los últimos 3 dígitos deben ir seguidos de otros 3 dígitos.
- (\d{4}) dice que los últimos 3 dígitos deben ir seguidos de 4 dígitos.
Si alguno de estos elementos no coincide, el número no cambiará.
Por lo tanto, todas las reglas se aplican a “+14693150217”. Por lo tanto, el número cambia con “$1 $2 $3 $4”:
- $1 se refiere al grupo (\+1), el número que se enviará a Service Cloud Voice (Voz en la nube de servicios) parece +1.
- $2 se refiere al primero de los dos (\d{3}), el número que se enviará a Servicio de voz en la nube de servicios parece +1 469.
- $3 se refiere al segundo de los dos (\d{3}), el número que se enviará a Servicio de voz en la nube de servicios tiene el siguiente aspecto: +1 469 315.
- $4 se refiere al último grupo (\d{4}), el número que se enviará a Servicio de voz en la nube de servicios parece +1 469 315 0217.
Los espacios de la parte de reemplazo de la regla “$1 $2 $3 $4” se utilizan directamente. Por lo tanto, si utiliza “$1-$2-$3-$4” el número se traduciría a: +1-469-315-0217
Además, también tiene permitido 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 siguiente ejemplo se muestra cómo transferir un número recibido del centro de contactos en el formato +491515555531 al formato E164 alemán +49 151 5555 531.
Este ejemplo utiliza dos reglas de traducción (1. y 2.)
- Este número tiene exactamente 13 caracteres de longitud, por lo que se aplica la regla “Agregar espacios a números en alemán”.
- (\+49) dice que el número debe comenzar con +49. Si el número tiene una longitud de 13 caracteres, pero no comienza con un +49, la regla se cancela y no se cambia nada.
- (\d{3}) dice que +49 debe ir seguido de 3 dígitos.
- (\d{4}) dice que los últimos 3 dígitos deben ir seguidos de 4 dígitos.
- (\d{3}) dice que los últimos 4 dígitos deben ir seguidos de 3 dígitos.
Si alguno de estos elementos no coincide, el número no cambiará.
Por lo tanto, todas las reglas se aplican a “+491515555531”. Por lo tanto, el número cambia con “$1 $2 $3 $4”:
- $1 se refiere al grupo (\+49), el número que se enviará a Service Cloud Voice (Voz en la nube de servicios) parece +49.
- $2 se refiere al primero de los dos (\d{3}), el número que se enviará a Servicio de voz en la nube de servicios parece +49 151.
- $3 se refiere al segundo de los dos (\d{4}), el número que se enviará a Servicio de voz en la nube de servicios tiene el siguiente aspecto: +49 151 5555.
- $4 se refiere al último grupo (\d{3}), el número que se enviará a Servicio de voz en la nube de servicios parece +49 151 5555 531.
Lo mismo se aplica a la regla uno. Puede utilizar la pieza de reemplazo $1 $2 $3 $4 para elegir qué usar del número.
Más ejemplos de traducción de Regex
| Descripción | Regex de traducción |
|---|---|
| Eliminar todos los caracteres excepto los dígitos | [1,17]->[^\d]+ |
| Eliminar todos los caracteres excepto los dígitos y + | [1,17]->[^+\d]+ |
| Descripción | Regex de traducción |
|---|---|
| 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 | Regex de traducción |
|---|---|
| Eliminar + y sustituirlo por ceros EE. UU.164 | [10,12]->(.{1})(\d{1})(\d{10})-> 001 $3 |
| Eliminar +1 y sustituirlo por ceros EE. UU.164 | [10,12]->(^\+1+)(\d+)-> 001$2 |
| Eliminar + y reemplazarlo por ceros DE E164 | [12,15]->(.{1})(\d{2})(\d{10})-> 0049 $3 |
| Eliminar +49 y sustituirlo por ceros DE E164 | [10,12]->(^\+49+)(\d+)-> 0049$2 |
| Eliminar + y sustituirlo por ceros CH E164 | [10,13]->(.{1})(\d{2})(\d{9})-> 0041 $3 |
| Eliminar +41 y sustituirlo por ceros CH E164 | [10,12]->(^\+41+)(\d+)-> 0041$2 |
| Descripción | Regex de traducción |
|---|---|
| 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 registro de VoiceCall
La página de registro de llamadas de voz viene preconfigurada de manera 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 de la empresa. También se pueden utilizar diferentes diseños de páginas, 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.
Muestra el componente Motivo de cierre
El componente Motivo de finalización debe mostrarse durante la llamada y durante la finalización.
Agregue el componente Motivo de cierre de Cisco a la página de registro de VoiceCall:
- Arrastre el Cisco Wrap-Up Reason Componente web de Lightning desde el área personalizada de la lista de Componentes de Lightning en la página de registro de VoiceCall.
- Haga clic en Save.
- Haga clic en Activate.
- Haga clic en Assign as Org Default.
- Haga clic en Save.
- Haga clic en Save otra vez y luego haga clic en Back arrow para volver a la página.
El mensaje Cisco Wrap-Up Reason componente se mostrará automáticamente durante la llamada y durante el cierre:
Si se agrega a la página, se muestra el componente Motivo de cierre de Cisco para cada llamada, también si no se configura ningún cierre en el Centro de contacto de Cisco.
Mostrar el reproductor de grabación de llamadas
El reproductor de grabación de llamadas aparecerá 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:
- Arrastre el componente Lightning Web del reproductor de grabación de llamadas hasta la página de grabación de llamadas de voz
- Haga clic en Save.
- Haga clic en Activate.
- Haga clic en Assign as Org Default.
- Haga clic en Save.
- Haga clic en Save nuevamente y, a continuación, haga clic en la flecha hacia atrás para volver a la página.
Administradores de Webex
Configuración de flujo
Pop de pantalla
Hay un nodo de "pantalla emergente" disponible en el flujo del Centro de contacto de Webex. Se puede utilizar para activar una ventana emergente de pantalla dentro de Service Cloud Voice o en otra ventana.
Se puede encontrar más información sobre esta función en la documentación del Diseñador de flujos .
Pop de pantalla en otra ventana
Para abrir la ventana emergente de pantalla en otra ventana, se debe proporcionar una URL absoluta en el nodo “Ventana emergente”. Los parámetros queryParameters se agregarán como parámetros de búsqueda a la URL.
Se admiten los siguientes modos:
- Nueva ficha del navegador: siempre abre una nueva ficha del navegador.
- Ficha del navegador existente: en el pop de pantalla de la primera ficha del navegador existente, se abre una nueva ficha del navegador. Esa pestaña será la pestaña dedicada para las ventanas emergentes de la pestaña del navegador Existentes posteriores y la URL se actualizará dentro de esa pestaña específica del navegador.
- Dentro del escritorio: se maneja de la misma manera que la ficha Nuevo navegador.
La página actualmente abierta puede evitar un redireccionamiento. En ese caso, se abrirá una ventana emergente de la pestaña Navegador existente en una nueva pestaña del navegador.





