Scripts
En elStudio aplicación, un script es una red decomportamiento Realiza un proceso dentro de un estudio de secuencias de comandos, tales como la recogida de datos de clientes, reproducir un mensaje o la música, o la colocación de un contacto a un agente. que enrutan y gestionan el tráfico de clientes para un centro de contacto. Por ejemplo, si un cliente llama a un centro de contacto, el cliente interactúa con una secuencia de comandos de teléfono entrante que dirige a la persona que llama al departamento correspondiente según el motivo de la llamada. Cada acción del guión tiene un propósito específico. Los ejemplos incluyen: establecer habilidades o variables, reproducir música en espera o transmitir información del cliente. Estas acciones se enlazan mediante conectores. Los conectores determinan posibles "vías" para que la persona que llama navegue por el script. Los scripts pueden variar de simples a extremadamente complejos. Un script simple puede tener solo unas pocas acciones para enrutar a una persona que llama a un agente. Una secuencia de comandos compleja puede tener múltiples ramas para diferentes idiomas, muchas acciones para configurar y administrar variables, referencias a secuencias de comandos posteriores y mucho más.
El flujo de trabajo básico para desarrollar un script comienza con acciones de arrastrar y soltar desde las pestañas Herramientas o Marco en lalienzo. Luego, conectando las acciones para determinar las posibles vías del flujo de interacción. Después de crear la red de acciones, puede configurar cada acción agregando parámetros adicionales, lógica de programación personalizada o cargando indicaciones para reproducir.
Casi todo el manejo de scripts se realiza enStudio. CXoneproporciona métodos básicos de interacción de guiones, comocrear programas de guiones orevertir un script a una versión anterior.
Elementos de la interfaz de secuencias de comandos
La imagen anterior proporciona un vistazo a la Studio interfaz de usuario. El panel central grande es el área de trabajo principal denominada lienzo. Aquí colocas e interactúas con acciones para crear tu guión. Studioofrece una variedad de pestañas o ventanas que puede abrir y organizar en los paneles alrededor del lienzo. Estas pestañas brindan acceso a los componentes que necesita para crear y administrar scripts. En esta imagen, la pestaña Herramientas aparece en el panel de la derecha, la pestaña Navegar aparece a la izquierda y la pestaña Errores de secuencia de comandos aparece debajo del lienzo. Puede hacer clic y arrastrar acciones desde las pestañas Herramientas y Marco (en el panel derecho de la imagen) al lienzo para crear un script. Tenga en cuenta que la pestaña Marco debe estar habilitada específicamente por un administrador interno.
Tipos de secuencia de comandos
Puede crear un tipo específico de script que se correlacione con los diferentes canales de su centro de contacto, que se muestran a continuación:
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Genérica | Correo electrónico | Chat | Teléfono | Correo de voz | Ítem de trabajo | SMS | Digital |
Al crear un nuevo script, Studio le solicita que determine el tipo de script que desea crear. El tipo de secuencia de comandos que elija debe correlacionarse con el tipo de enrutamiento que desea lograr. La mayoría de las acciones funcionan en cualquier tipo de secuencia de comandos, sin embargo, algunas solo se pueden agregar a una secuencia de comandos específica. Por ejemplo,ASR Permite que los contactos respondan a las indicaciones de voz grabadas hablando, presionando teclas en su teléfono o una combinación de ambos. las acciones funcionan con secuencias de comandos telefónicas. Si intenta utilizar una acción de la pestaña Marco que no es compatible con el tipo de script que está creando, Studio muestra un mensaje de error. Además, las acciones que no son compatibles con un determinado tipo de secuencia de comandos no aparecerán en la pestaña Herramientas de esa secuencia de comandos.
Además de estos tipos de secuencias de comandos principales,Studio ofrece algunas plantillas de secuencias de comandos en función de las funciones y aplicaciones que haya habilitado con su sistema, como elsupresión de llamadas script relacionado conConexión personal. Si tiene acceso a estas plantillas, podrá acceder a ellas en la sección Plantillas disponibles del cuadro de diálogo Crear nueva secuencia de comandos.

En este script, el sistema cuenta la cantidad de agentes disponibles. Si ese número es cero, se reproduce un mensaje y el sistema desconecta la llamada. Si el número de agentes disponibles es mayor que cero, entonces unIVR Menú telefónico automatizado que permite a las personas que llaman interactuar a través de comandos de voz, entradas de teclas o ambos, para obtener información, enrutar una llamada de voz entrante o ambos. El menú ofrece a la persona que llama la opción de conectarse con un agente. Hasta que un agente entra en la línea, la música se reproduce durante intervalos de 30 segundos. Una vez más, la mayoría de estas acciones están disponibles para su uso en cualquier tipo de secuencia de comandos, sin embargo,Colgar La acción es específica de las secuencias de comandos del teléfono.

Conectores y ramas
Conectores
Un conector es una conexión individual entre 2 acciones. Se muestra como una flecha y determina el posible movimiento de un contacto, más la condición de un contacto que sigue a ese conector. Puede conectar 2 acciones haciendo clic en la esquina inferior derecha de una acción y arrastrando y soltando el conector a la siguiente acción del flujo. Para ayudar a mantener su secuencia de comandos limpia y organizada, puede doblar conectores de la siguiente manera:
- Presionando y sosteniendoCONTROL yCAMBIO en tu teclado.
- Colocando el cursor sobre el conector para que se vuelva azul.
- Haga clic derecho en el conector para colocar un cuadro verde (que será un punto de pivote).
- Haga clic con el botón izquierdo en el cuadro verde y maniobre el conector como desee.
Sucursales (caminos)
Una rama es una ruta que divide un script en 2 o más subdivisiones, que comienza con un solo conector. Muchas acciones contienen opciones de rama predeterminadas para que las configure, comoDefecto oOnError, pero también puede crear condiciones de rama personalizadas (llamadas Condiciones de rama variable) cuando aparece la ventana PickBranch después de conectar 2 acciones. La imagen anterior en el menú desplegable muestra un ejemplo básico de 3 ramas y conectores: información, facturación y soporte técnico. Los primeros conectores de cada rama están etiquetados y también muestran las 3 opciones del menú. Muchos scripts serán mucho más complejos que los que se muestran en el ejemplo con ramas más desarrolladas. Si las ramas se vuelven demasiado complejas y extensas para caber intuitivamente en 1 lienzo, el programador podría separar las ramas en subguiones individuales, luego hacer referencia a los subguiones del guión principal usando unRunsub o Ejecutar guión acción. Esta es una excelente manera de mantener sus scripts organizados y ordenados en lugar de grandes, desordenados y confusos.
Por ejemplo, en las siguientes imágenes de script, puede ver que el menú Yggdrasil proporciona 8 opciones para los otros 8 mundos nórdicos. Cada mundo representa una rama diferente del guión. Heimdallr es el guionista de la línea directa de Asgard. Si quisiera incluir más opciones para cada rama, el script podría volverse demasiado complejo. En cambio, podría crear un subguión separado para cada uno de los otros 8 mundos. Después de hacerlo, Heimdallr usaría unRunsub o Ejecutar guiónacción para cada opción de menú que lanza el script por separado cuando el contacto lo selecciona.

Complejo:

Condensado:

Errores de secuencia de comandos
La pestaña Errores de secuencia de comandos muestra tanto las advertencias como los errores que pueden existir en su secuencia de comandos. Studio llena esta pestaña después de hacer clic en el botón Guardar. Puede hacer doble clic en cualquiera de las advertencias o errores de esta lista para dirigirse a la acción en el lienzo donde se produce el problema. Una advertencia no impedirá que el script se ejecute o se guarde; sin embargo, para evitar problemas potenciales, la mejor práctica es aliviar las advertencias antes de poner un script en producción.
Por motivos de precaución, los errores de sintaxis y validación le impiden guardar el script. Si se detectan estos errores, Studio mostrará una ventana de notificación cuando intente guardar el script. Es posible que los errores de validación no aparezcan en la pestaña Errores de secuencia de comandos, como JSON no válido ingresado en la acción Rest Api, pero recibirá una notificación de error con detalles técnicos del error. Si intenta guardar con un error de validación, su secuencia de comandos puede volver a la "última versión buena conocida" de la secuencia de comandos, lo que hace que pierda los cambios realizados después de su guardado anterior.
A continuación, se muestran ejemplos de problemas que impiden que se guarde un script y una descripción de error de ejemplo:
- Variables escritas incorrectamente ("Fragmento de la línea 2. Función: NameLabel no se ha definido ")
- Uso de una función como parámetro de método ("Parámetros de función no terminados")
- Usar un tipo de datos incorrecto en un método que requiere un tipo de datos específico ("Parámetros de función no terminados")
Los errores también afectan rastros de secuencia de comandos. Si intenta ejecutar un seguimiento de secuencia de comandos en una secuencia de comandos no guardada, Studio le solicita que guarde la secuencia de comandos. Si tiene errores en la secuencia de comandos, la secuencia de comandos no se guardará y es posible que pierda los cambios causados por errores de validación. El seguimiento se ejecutará, pero se ejecutará en la última versión guardada del script.
API de secuencias de comandos
Para los desarrolladores de scripts más avanzados, puede abrir y guardar scripts mediante programación para ayudar con los procesos de desarrollo automatizados. Expanda los siguientes menús desplegables para ver los detalles básicos de cada API.

Utilice v17 o anterior de GET / scripts para obtener una lista de scripts para su
Resumen: Devuelve el XML de un script por nombre o masterId.
Descripción: Este método devolverá XML de un script por Name o masterId.
Parámetros:
- nombre: scriptPath
en: camino
descripción: ruta completa del script
requerido: verdadero
estilo: simple
explotar: falso
esquema:
tipo: cadena
- nombre: scriptId
en: camino
descripción: ID maestro de un script
requerido: verdadero
estilo: simple
explotar: falso
esquema:
tipo: entero
Respuestas:
'200':
descripción: ÉXITO
contenido:
aplicación / json:
esquema:
tipo: objeto
propiedades:
nombre:
tipo: cadena
descripción: nombre de un guión
ruta de archivo:
tipo: cadena
descripción: ruta del archivo
ScriptId:
tipo: entero
descripción: MasterId
cuerpo:
tipo: cadena
descripción: XML de un script
'400': descripción: parámetros no válidos
'404': descripción: no encontrado
'500': descripción: error interno
'501': descripción: Error interno del servicio Incontrol.Net

Resumen: Guarde un nuevo guión o un guión existente.
Descripción: Este método guardará un script en la base de datos usando una cadena base64.
Parámetros:
- nombre: scriptPath
en: camino
descripción: ruta completa y el nombre del script
requerido: verdadero
estilo: simple
explotar: falso
esquema:
tipo: cadena
- nombre: cuerpo
en: camino
descripción: 'cuerpo del script, este es un XML codificado en base64'
requerido: verdadero
estilo: simple
explotar: falso
esquema:
tipo: cadena
Respuestas:
'200':
descripción: Éxito
contenido:
aplicación / json:
esquema:
SaveScript:
tipo: objeto
propiedades:
ScriptId:
tipo: cadena
descripción: El nuevo ScriptId generado después de que el guardado fue exitoso
'400': descripción: parámetros no válidos
'405': descripción: bloqueado por otra persona
'500': descripción: Error interno
'501': descripción: Error interno del servicio

Resumen: Guarde un nuevo guión o un guión existente.
Descripción: Este método guardará un script en la base de datos usando una cadena base64.
Parámetros:
- nombre: scriptPath
en: camino
descripción: ruta completa y el nombre del script
requerido: verdadero
estilo: simple
explotar: falso
esquema:
tipo: cadena
- nombre: cuerpo
en: camino
descripción: 'cuerpo del script, este es un XML codificado en base64'
requerido: verdadero
estilo: simple
explotar: falso
esquema:
tipo: cadena
Respuestas:
'200':
descripción: Éxito
contenido:
aplicación / json:
esquema:
tipo: objeto
propiedades:
ScriptId:
tipo: cadena
descripción: El nuevo ScriptId generado después de que el guardado fue exitoso
'400': descripción: parámetros no válidos
'405': descripción: bloqueado por otra persona
'500': descripción: Error interno
'501': descripción: Error interno del servicio

Resumen: Patea un guión bloqueado.
Descripción: Este método forzará el desbloqueo de un script.
Parámetros:
- nombre: scriptPath
en: camino
descripción: ruta completa del script
requerido: verdadero
estilo: simple
explotar: falso
esquema:
tipo: cadena
Respuestas:
'200': descripción: éxito
tipo: objeto
propiedades:
tipo: cadena
descripción: Fecha de solicitud
Mensaje de error:
tipo: cadena
descripción: Mensaje de error del servicio
EstadodeError:
tipo: booleano
descripción: estado de error
KickResult:
tipo: cadena
descripción: Resultado del servicio
Identificación maestra:
tipo: entero
descripción: ID maestro del script
CurrLockedBy:
tipo: entero
descripción: ID del usuario expulsado
'400': descripción: parámetros no válidos, secuencia de comandos ya desbloqueada, no puede quitarse la secuencia de comandos
'404': descripción: ScriptNotFound
'500': descripción: Error interno
'501': descripción: Error interno del servicio

Resumen: Devuelve el historial de un guión.
Descripción: Este método devolverá un historial de un script por nombre.
Parámetros:
- nombre: scriptPath
en: camino
descripción: ruta completa del script
requerido: verdadero
estilo: simple
explotar: falso
esquema:
tipo: cadena
Respuestas:
'200':
descripción: ÉXITO
contenido:
aplicación / json:
esquema:
HistoryScripts:
tipo: objeto
propiedades:
nombre:
tipo: cadena
descripción: ruta completa de un script unido al nombre
versiones:
tipo: matriz
Artículos:
HistoryScripts_versions:
tipo: objeto
propiedades:
scriptId:
tipo: entero
descripción: ID maestro del script
modificar Fecha:
tipo: cadena
descripción: Modificar fecha
modificarUsuario:
tipo: cadena
descripción: Modificar usuario
Estado:
tipo: cadena
descripción: estado de un script
'400': descripción: parámetros no válidos
'404': descripción: no encontrado
'500': descripción: error interno
'501': descripción: Error interno del servicio Incontrol.Net

obtener:
etiquetas:
Resumen: Script de búsqueda
Descripción: Este método buscará un script en la unidad de negocio basándose en palabras clave.
Parámetros:
nombre: mediaType
en: consulta
descripción: tipo de medio del guión.
requerido: falso
explotar: falso
esquema:
tipo: entero
nombre: scriptName
en: camino
descripción: palabra clave para la búsqueda
requerido: verdadero
estilo: simple
explotar: falso
esquema:
tipo: cadena
nombre: includeInactive
en: consulta
descripción: esta variable se utiliza para incluir la búsqueda entre los scripts inactivos.
requerido: falso
explotar: falso
esquema:
tipo: booleano
nombre: includeTrusted
en: consulta
descripción: esta variable se utiliza para incluir la búsqueda entre unidades de negocio de confianza
requerido: falso
explotar: falso
esquema:
tipo: cadena
nombre: modEndDate
en: consulta
descripción: esta variable se utiliza para incluir la búsqueda en un rango de fechas establecido
requerido: falso
explotar: falso
esquema:
tipo: cadena
Respuestas:
'200':
descripción: ÉXITO
contenido:
aplicación / json:
esquema:
$ ref: '# / componentes / schemasSearchScript'
'400':
descripción: parámetros no válidos
'401':
descripción: No autorizado. No tienes permisos suficientes
'404':
descripción: Ruta del script no encontrada
'500':
descripción: Error interno
'501':
descripción: Error interno del servicio Incontrol.Net
Componentes:
esquemas:
GetScript:
tipo: objeto
propiedades:
nombre:
tipo: cadena
descripción: 'Nombre del guión'
ruta de archivo:
tipo: cadena
descripción: 'Ruta de secuencia de comandos completa'
scriptId:
tipo: entero
descripción: 'Este es el identificador del script, es único'
cuerpo:
tipo: cadena
descripción: 'Contenido de script codificado en formato Base63'
BorrarScript:
tipo: objeto
propiedades:
scriptPath:
tipo: cadena
descripción: 'Información del nombre de la secuencia de comandos de ruta completa que se eliminó'
eliminado:
tipo: booleano
descripción: 'Estado del script'
error:
tipo: cadena
descripción: 'Si ocurre un error en el proceso de eliminación'
BuscarScript:
tipo: objeto
propiedades:
tipo: entero
descripción: 'Información de la unidad de negocio'
scriptName:
tipo: cadena
descripción: 'Ruta de secuencia de comandos completa'
scriptSearchDetails:
tipo: matriz
descripción: 'Detalle del resultado de la búsqueda'
artículos:
$ ref: '# / componentes / esquemas / SearchScript_Details'
SearchScript_Details:
tipo: objeto
propiedades:
busNo:
tipo: entero
descripción: 'Número de unidad de negocio'
Identificación maestra:
tipo: cadena
descripción: 'Identificador de secuencia de comandos'
scriptName:
tipo: cadena
descripción: 'Nombre del guión'
estado:
tipo: cadena
descripción: 'Estado del script activo / inactivo'
tipo de medio:
tipo: entero
descripción: 'Número de tipo de medio'
modificar Fecha:
tipo: cadena
descripción: 'La fecha de la última modificación
mUser:
tipo: entero
descripción: 'El último usuario que ha modificado el script'
actionID:
tipo: entero
descripción: 'Identificador de acción'
Sugerencias y trucos para la creación de scripts
- Cambiar el nombre de la leyenda en una acción puede hacer que su guión sea mucho más fácil de leer y seguir. Edite el título de una acción en elPropiedades diálogo.
- Cuando usasMenú (o una acción similar), cree una rama para repetir las opciones del menú usando elCírculo yNinguna respuesta acciones que se conectan con el Menú acción.
-
Agrega unEsperar acción después de unMúsica acción para reproducir la música (de lo contrario, el audio se reproducirá durante 30 segundos y luego finalizará).
- Asegúrese de no tener un callejón sin salida. Los callejones sin salida pueden ser problemas como ramas faltantes en un menú, ramas de menú que no están configuradas o (como en el elemento anterior) noEsperar acción después de unMúsica acción.
- Al crear un menú, es mejor nombrar el departamento primero y luego el número para marcar / hablar. Los contactos suelen escuchar el nombre del departamento y luego el número.
- Utilizar elAnotación acción para agregar notas o instrucciones a lo largo de un guión.
- Utilice el nombre del script paraEmpezar título de acción.
- ParaJugar yMenú acciones, haga doble clic en la acción y anote la verborrea del mensaje en el Frase campo.
- Vea el historial de un script haciendo clic con el botón derecho en el script en la pestaña Examinar (Ver > Navegador) y flotando sobre la opción Historia. Esto le permite ver iteraciones anteriores de un script.