Variables

La información de esta página de ayuda aplica tanto a Studio como a Desktop Studio.

Las variables son marcadores de posición que almacenan valores que pueden cambiar. Úselas cuando un valor sea distinto cada vez que se ejecuta un script. Por ejemplo, ANI es una variable que contiene el ANIClosed También conocido como id de llamada. número de teléfono listado de una llamada de voz entrante. de la persona que llama, o número de teléfono. Cuando se usa ANI en un script, contiene el id de llamada del contacto. Cada vez que se ejecuta el script, se maneja un contacto diferente, por lo que el valor de ANI cambia.

Puede crear sus propias variables cuando lo necesite. Las variables pueden contener valores individuales. También pueden contener objetos de datos dinámicos y matrices.

Algunas variables usadas en los scripts de Studio están definidas por el sistema. Esto significa que forman parte del código dentro de las accionesClosed Realiza un proceso dentro de un script de Studio, como recopilar datos del cliente o reproducir música. de Studio, por lo que no tiene que crearlas. Hay dos tipos de variables definidas por el sistema:

  • Variables reservadas: Variables de sólo lectura que puede usar cuando necesite incluir un tipo específico de información en su script.
  • Variables predefinidas: Variables que ya están definidas. Se pueden escribir, por lo que puede asignarles un valor.

Pruébelo

Descargue el script de ejemplos de variables e impórtelo en Studio. Los ejemplos de esta página de ayuda están disponibles en acciones Snippet en el script de ejemplo. Puede abrir la ventana del editor de Snippet y ejecutar el depurador para ver cómo funciona cada ejemplo.

Resumen de sintaxis de variables

La siguiente lista resume la sintaxis de las variables. Hay Más información sobre estos puntos disponible en otras secciones de esta página.

  • Cree y asigne un valor a una variable usando una acción ASSIGN o una Acción Snippet. En un Snippet, puede usar la palabra clave ASSIGN al declarar una variable. Es opcional, pero muy recomendable. Use esta sintaxis en un Snippet: ASSIGN <var name> = <var value> o <var name> = <var value>.

  • When assigning values to a variable: 
    • Los valores de cadena y fecha/hora deben ir entre comillas simples o dobles. Por ejemplo: ASSIGN life = "forty-two".
    • Para asignar un valor de fecha/hora que se usará con funciones de fecha/hora, coloque un signo de gato ( # ) antes del valor, pero fuera de las comillas dobles. Por ejemplo: ASSIGN var = #"02/09/2023". Si el valor de fecha/hora no se usará con funciones de fecha/hora, no es necesario usar el carácter de signo de gato. Sin embargo, sin el signo de gato, el valor es un tipo de cadena, no un tipo de fecha/hora.
    • Los valores numéricos no necesitan ir entre comillas. Si encierra un valor numérico entre comillas, se trata como una cadena a menos que se esté evaluando en una expresión matemática.
    • Las expresiones numéricas y booleanasClosed Un tipo de datos que tiene dos valores posibles: verdadero y falso. no se pueden encerrar entre comillas. Si se ponen estas expresiones entre comillas, se les trata como una cadena. Por ejemplo: ASSIGN myVar = var2 > 42 se evalúa como verdadero o falso según el valor de var2. Sin embargo, ASSIGN myVar = "var2 > 42" da como resultado que el valor de myVar sea literalmente var2 > 42.
    • Los valores booleanos no deben ir entre comillas.
    • Use secuencias de escape si necesita incluir los siguientes caracteres en un valor de cadena: comillas dobles ( " ), comilla simple ( ' ), llave de apertura ( ), tabulación (ASCII 9), retorno de carro (ASCII 13), salto de línea (ASCII 10), retroceso (ASCII 8), nulo.
  • When substituting a variable's value in a string: 
    • Encierre las variables entre llaves. Por ejemplo: ASSIGN myVar = "the meaning of life is {life}"
    • Si la variable es un objeto de datos dinámicos, debe hacer referencia a una propiedad dentro del objeto. Por ejemplo: ASSIGN myVar = "the meaning of life is {anObj.thisProperty}". Hacer referencia solo al objeto generará un Error.
    • Si la variable contiene una matriz, debe incluir el Índice del valor que desea asignar. Por ejemplo: ASSIGN myVar = myArray[4].
  • When assigning the value of one variable to another:
    • No necesita comillas dobles ni llaves. Por ejemplo: ASSIGN myVar = var2. Esto resulta en que se asigne una copia del valor de la variable a myVar.
    • Si una variable contiene un arreglo, puede asignarla a otra variable.
    • Si una variable es un objeto, solo puede asignarla a otro objeto.
  • Al hacer referencia a variables en las propiedades de acción de Studio, por lo general se aplican las siguientes pautas. Consulte siempre la página de ayuda en línea correspondiente a la acción que está utilizando, ya que existen excepciones a estas afirmaciones.

    • Las propiedades esperan una variable o datos. Los datos pueden consistir en literales o variables. Cuando una propiedad espera datos, generalmente puede aceptar un literal o una variable. Sin embargo, existen excepciones, así que consulte siempre la ayuda en línea para la acción si no está seguro de qué espera una propiedad.
    • Si la propiedad espera un nombre de variable, ingrese el nombre de la variable sin llaves.

    • Si la propiedad espera datos y desea utilizar la sustitución de variables, incluya el nombre de la variable entre llaves: {varName}.

Tipos de datos y tipificación implícita

Los tipos de datos definen qué tipo de datos contiene una variable y cómo deben usarse en el programa. En Studio, las variables pueden tener los siguientes tipos de datos:

  • Cadena: El valor de la variable contiene caracteres alfanuméricos y especiales, como puntos, comas y guiones bajos. Los valores en cadenas deben estar entre comillas dobles.
  • Numérico: El valor de la variable es un número. Los valores numéricos no necesitan comillas dobles.
  • Fecha/Hora: El valor de la variable es una fecha, hora o ambas. Cuando se utilice un valor de fecha/hora con funciones de fecha/hora en Studio, el valor debe estar entre comillas e ir precedido por un signo de gato fuera de las comillas: var = #"23-11-2022".
  • Booleano: El valor de la variable es true o 1, o false o 0. No encierre los valores booleanos entre comillas.

En muchos lenguajes de programación y script, debe asignar explícitamente un tipo de datos a una variable cuando la crea. En Studio, las variables se tipifican de forma implícita. El compilador de Studio determina el tipo de cada variable cuando compila el script. Esto significa que no es necesario definir el tipo de datos para ninguna de las variables que utilice. La única excepción es cuando una variable contiene un valor de fecha/hora que desea usar con Funciones de fecha/hora.

Inferencia del Tipo

La tipificación implícita afecta la forma en que se evalúan las variables. Por ejemplo, las comparaciones de variables tienen resultados diferentes según el tipo que Studio reconozca para las variables. El comportamiento predeterminado en Studio es que todo se trata como una cadena hasta que se requieren cálculos matemáticos. Luego, si algo puede evaluarse como un número, se evaluará como tal, incluso si está encerrado entre comillas. Esto se conoce como inferencia del tipo.

El compilador de Studio reconoce un valor como numérico incluso si está encerrado entre comillas. Las comillas significan que un valor es una cadena. Cuando un valor numérico está encerrado entre comillas, Studio lo trata como una cadena a menos que lo utilice en cálculos matemáticos dentro del script. Por ejemplo:



var1 = "42"

var2 = 42



var3 = var2 + var1	

El resultado del ejemplo es var3 = 84. Studio infiere que el valor de var1 es numérico y lo trata como tal al evaluar la expresión en var3, aunque esté encerrado entre comillas dobles.

Crear Variables

Puede crear sus propias variables para usar en scripts. Puede hacerlo mediante una acción Assign o una acción Snippet dentro del script.

Asignar Acción

La Acción Assign le permite crear una sola variable y asignarle un valor. Esto se realiza mediante las propiedades Variable y Value de la acción. El beneficio de Assign es que ofrece una manera fácil de usar y configurable para crear variables.

Esta acción tiene otras propiedades que le permiten definir la manera en que se utiliza la variable. Puede:

También puede establecer un valor de screen pop en la acción Reqagent

Acción de Snippet

La Acción Snippet es una manera basada en código de crear variables. Mediante una sola acción, puede crear una o más variables, además de cualquier otro código personalizado que necesite incluir. El beneficio de usar Snippet es que, si más adelante desea agregar más variables a su script, puede agregarlas a la misma acción. No necesita agregar más acciones ni rehacer los conectores en su script, como tendría que hacer si originalmente hubiera utilizado una acción Assign.

Utilice cualquiera de los siguientes formatos de sintaxis:

ASSIGN varName = value o varName = value

Puede agregar propiedades a la variable que coincidan con las propiedades de la acción Assign:

  • Para que el valor de la variable se incluya en un screen pop, agregue setscreenpop(1) al nombre de variable.
  • Para que el valor de la variable se guarde en la base de datos, agregue savetodb(1) al nombre de variable.

Por ejemplo:

ASSIGN epicPoem = "Beowulf"

epicPoem.setscreenpop(1)

epicPoem.savetodb(1)

En ambas propiedades, el 1 es un valor booleano BooleanClosed Un tipo de datos que tiene dos valores posibles: verdadero y falso. que establece la propiedad en true.

Datos clave sobre la creación de variables en acciones Snippet :

  • No es necesario declarar el tipo cuando declare una variable, a menos que sean variables de fecha/hora.
  • Incluir la palabra clave ASSIGN es opcional. Sin embargo, es una mejor práctica usar esta palabra clave cada vez que cree una variable.
  • Si declara una variable en un subscript y desea que se devuelva al script de origen, agregue global: al comienzo del nombre de variable. Esto la denota como de ámbito Global.

Comillas simples, comillas dobles o sin comillas

Al asignar el valor de una variable a otra variable, algunos valores deben estar entre comillas. Otros valores no necesitan comillas. Siga estas pautas:

  • Los valores de cadena deben estar entre comillas simples o dobles. Esto es así incluso si el nombre de variable termina en un signo de dólar. Si no está entre comillas una cadena, el script asume que el valor es una variable. En el siguiente ejemplo, a1, a2 y a1$ se evalúan como el valor literal Example. El valor de a3 y a3$ depende de si Example se ha declarado como una variable. Si existe una variable Example en el script, a3 y a3$ se evalúan como el valor de Example. Si Example no existe, a3 y a3$ dan como resultado valores vacíos.

    ASSIGN a1 = "Example"
    
    ASSIGN a2 = 'Example'
    
    ASSIGN a1$ = "Example"
    
    ASSIGN a3 = Example
    
    ASSIGN a3$ = Example
  • Los valores numéricos no necesitan comillas. Sin embargo, puede usarlas si lo desea. En el siguiente ejemplo, b1, b2 y b3 evalúan como 123.

    ASSIGN b1 = "123" 
    
    ASSIGN b2 = '123' 
    
    ASSIGN b3 = 123
  • Las expresiones numéricas no pueden incluirse entre comillas. Esto incluye expresiones matemáticas y booleanasClosed Un tipo de datos que tiene dos valores posibles: verdadero y falso.. Si incluye una expresión numérica entre comillas, se le trata como texto. Por ejemplo, c1 = 123 + 456 se evalúa como 579 pero c2 = "123 + 456" da como resultado 123 + 456.
  • Los valores de fecha/hora deben estar entre comillas si los declara como tipo de fecha/hora.
  • Los valores booleanos no deben ir entre comillas.
  • Si está asignando a una variable un arreglo o el valor de un miembro de un objeto dinámico, no use comillas ni llaves con el nombre del arreglo o del miembro del objeto.

Crear variables con valores de fecha/hora

Studio no identifica implícitamente la fecha/hora como un tipo. Sin embargo, puede agregar un identificador antes del valor de una variable para declararla como este tipo. solo necesita hacer esto si el valor se utilizará en funciones de fecha/hora, o si desea realizar operaciones con el valor.

Para declarar el valor de una variable como fecha/hora, use la sintaxis ASSIGN <varName> = #"<datetime>", donde <datetime> es el valor de fecha/hora que desea almacenar en la variable. Por ejemplo, date1 = #"7/15/2050 5:00pm". Si una variable no está declarada como fecha/hora, puede usar la función asdatetime() para convertirla en uno.

Algunas funciones que manipulan fechas y horas requieren que se declaren las variables como fecha/hora. Incluso si es correcto el formato de fecha/hora, la función no funcionará si no se declara correctamente la variable.También puede utilizar esta sintaxis para realizar operaciones sobre fechas y horas que de otro modo no podría realizar. Por ejemplo, puede compararlas:

date1 = #"7/15/2050 5:00pm" 
date2 = #"7/15/2050 4pm"
x = date1 > date2 

El resultado es 1 (verdadero) porque el valor literal de date1 es mayor que el valor literal de date2.

Nomenclatura de variables

Nombre las variables siguiendo estas pautas:

  • Utilice caracteres alfanuméricos (a-z, A-Z, 0-9).

  • El primer carácter del nombre debe ser una letra.
  • Utilice el carácter de guión bajo ( _ ) y el signo de dólar ( $ ) en cualquier parte del nombre.
  • Si el último carácter en el nombre de una variable es un signo de dólar, elel valor se trata como texto.
  • No utilice los nombres de variables predefinidas o palabras reservadas.

Sustitución de variables

Cuando necesite usar el valor de una variable en su script, incluya el nombre de la variable en el código del snippet o en el campo de la propiedad de la acción.

Si está sustituyendo el valor de la variable en una cadena, incluya el nombre de la variable entre llaves. En una cadena, todo se trata como texto sin formato a menos que tenga el formato de variable. Por ejemplo:

ASSIGN foeName = "Grendel"

ASSIGN numberFoes = "3"

ASSIGN x = numberFoes

ASSIGN y = "One of Beowulf's foes is {foeName}. He faced {numberFoes} foes in all." 

ASSIGN z = "One of Beowulf's foes is foeName. He faced numberFoes in all." 

Los resultados del ejemplo son:

  • x=3.
  • y=One of Beowulf's foes is Grendel. He faced 3 foes in all.
  • z=One of Beowulf's foes is foeName. He faced numberFoes in all.

Cuando copie el valor de una variable en otra, no necesita usar llaves. Esto se aplica a valores de texto y numéricos. En el siguiente ejemplo, el resultado es:x=3 y z=Grendel:

ASSIGN numberFoes = "3"

ASSIGN name = "Grendel"

ASSIGN x = numberFoes 

ASSIGN y = name 

Si está realizando operaciones matemáticas con variables, no necesita ponerlas entre llaves. En el siguiente ejemplo, el resultado es y=200.

ASSIGN a1 = "100"

ASSIGN a2 = "100.00"

ASSIGN y = (a1 + a2) 

Sustitución de variables en propiedades de Acción

Muchas propiedades de acción pueden aceptar variables en lugar de valores literales. Esto es así incluso si la página de ayuda de la acción no especifica que puede usar una variable para configurar una propiedad.

Usar variables en las propiedades de una acción permite reutilizar scripts. Por ejemplo, si su organización tiene tres líneas de negocios, necesitaría tres scripts de colas para definir la habilidadClosed Se usa para automatizar la entrega de interacciones según las habilidades, capacidades y conocimientos del agente. ACD, la gestión de prioridad y otras configuraciones para cada línea de negocios si utiliza valores literales. Si utiliza variables para configurar las propiedades cuyo valor difiere entre líneas de negocios, puede tener un script en lugar de tres.

Cuando haga referencia a las variables en las propiedades de la acción Studio, generalmente se aplicarán los siguientes lineamientos.

  • Las propiedades esperan una variable o datos. Los datos pueden consistir en literales o variables. Cuando una propiedad espera datos, generalmente puede aceptar un literal o una variable. Sin embargo, existen excepciones, así que consulte siempre la ayuda en línea para la acción si no está seguro de qué espera una propiedad.
  • Si la propiedad espera un nombre de variable, ingrese el nombre de la variable sin llaves.

  • Si la propiedad espera datos y desea utilizar la sustitución de variables, incluya el nombre de la variable entre llaves: {varName}.

Pasar valores de variables de secuencia de comandos a secuencia de comandos

Los valores de las variables pueden pasar de un script a otro. Pueden pasar de:

  • Script de origen a subscript: Todas las variables del script de origen están presentes y disponibles para su uso en subscripts. Sin embargo, se encuentran en ámbito global. Para usarlas en subscripts, debe anteponer al nombre de variable global:. Por ejemplo, global:varName. Esto incluye variables de sistema predefinidas y variables que usted cree.
  • Subscript a script de origen: Las variables que declara en un subscript no pasan automáticamente de vuelta al script de origen. Si desea pasar una variable personalizada de un subscript de vuelta al script de origen, debe declararla como global. De manera similar, si declara variables en un sub-subscript, debe declararlas como globales y hacer referencia a ellas como globales en el subscript y en el script de origen de nivel superior.

Puede ver variables globales en los rastreos del script. Es posible que necesite habilitar esta opción en la ventana Trace Output al ver un rastreo.

Algunos datos pueden provenir de una fuente externa a sus scripts, como un CRMClosed sistemas de Terceros que administran cosas como contactos, información de ventas, detalles de soporte e historiales de casos. o una llamada de APIClosed Interfaz de programación de aplicaciones. Le permite automatizar ciertas funcionalidades al conectar su sistema NiCE CXone con otro software.. Puede pasar estos valores a subscripts o scripts generados usando la propiedad Parámetros en la acción RunSub o la Acción Spawn. La acción Begin también tiene una propiedad Parámetros. Configure la Acción Begin en el subscript con los nombres de las variables que recibirán los valores pasados a través de RunSub o Spawn.

Si los datos que necesita pasar están contenidos en un objeto, el objeto debe convertirse primero a JSON o XML. Puede pasar la variable que contiene la cadena JSON o XML. En el segundo script, puede reformar los datos en un objeto, si lo desea.

Comparación y Evaluación de variables

El hecho de que Studio tipifique implícitamente las variables afecta la forma en que se consideran en expresiones evaluadas y comparaciones booleanasClosed Un tipo de datos que tiene dos valores posibles: verdadero y falso..

Por ejemplo:

ASSIGN a1 = "100"

ASSIGN a2 = "100"

ASSIGN y = (a1 = a2)

En este ejemplo, la expresión y = (a1 = a2) resulta y = 1 (verdadera).

Forzar comparación como texto

Puede forzar que se considere una variable como texto incluso si su valor es numérico. Puede hacerlo de dos maneras:

  • Agregue un signo de dólar al final del nombre de variable. Por ejemplo: varName$ = 42. Al realizar una comparación, solo una de las dos variables necesita el sufijo de signo de dólar.
  • Ponga los nombres de las variables con llaves y comillas dobles. Por ejemplo, y = ("{a1}" = "{a2}").

Cuando un nombre de variable termina en signo de dólar, todas las operaciones booleanasClosed Un atributo de información que define cómo se usa en un programa, como entero (números que se pueden manipular) o booleano (verdadero/falso). (=, >, <, >=, <=) que usan esa variable tratan el valor como texto. Por ejemplo:

ASSIGN a$ = 20
ASSIGN b = 100
ASSIGN x = a$ > b

En este ejemplo, la variable x es 1 (verdadero). Porque la variable a$ termina con un signo de dólar, se trata al valor 20 como texto. Esto significa que a$ > b es una comparación de 20 y 100 como cadenas de texto y no enteros. Al comparar como texto, 20 es mayor que 100 porque 20 comienza con un2 y 100 comienza con un1. Sin el signo de dólar en el nombre de la variable, x = a > b es 0 (falso) porque se comparan los valores como números enteros. El número entero 20 no es mayor que el número entero 100.

Variables reservadas y predefinidas

Hay variables preexistentes en Studio. Son las siguientes:

  • Variables reservadas: Estas variables devuelven cierto tipo de información, como la hora actual o el ID de la zona horaria actual. Las variables reservadas son de solo lectura, lo que significa que un script no puede guardar valores en ellas. Existen únicamente para devolver información. Puede usarlas en su script cuando desee ingresar la información que devuelven.
  • Variables predefinidas: Estas son variables del sistema. Ya están definidas en Studio, por lo que puede utilizarlas en sus scripts sin necesidad de crearlas. Utilice variables del sistema en sus scripts cada vez que necesite la información que contienen. Solo anule variables del sistema predefinidas si la ayuda en línea o un representante de la cuenta se lo indican. Puede obtener más información sobre las variables predefinidas.

Variables globales

Las variables globales le permiten declarar una variable en un subscript y hacer que se devuelva automáticamente al script de origen después de la Return acción. Cuando declara una variable global en un subscript, no es necesario devolverla al script de origen con la acción Return.

Puede crear una variable global utilizando la Snippet acción o la Assign Acción. Utilice la siguiente sintaxis al crear una variable global con Snippet:

ASSIGN global:<variable name>

ASSIGN global:<variable name>="{firstname} {lastname}"

Asegúrese de que no haya ningún espacio entre los dos puntos y el nombre de variable.

Si está utilizando la acción Assign, no incluya la palabra clave ASSIGN.

No es necesario declarar las variables en el script de origen como globales. Limitar la declaración de variables globales a subscripts le brinda una pista visual sobre el script en el que esté trabajando. Cuando vea global:var, sabrá que está en un subscript.

Declarar las variables en un subscript como globales es una forma de ingresar los valores de las variables en un subscript. Otra opción es usar GET /contacts/{contactId}/custom-data Un ícono de un cuadrado con una flecha que apunta desde el centro hacia la esquina superior derecha. API.

Ejemplo de variables globales

El siguiente ejemplo muestra cómo usar variables globales.

Modificación de Variable

La redacción de variables elimina los valores de las variables de los seguimientos y registros generados por un script. Puede redactar variables y objetos.

La redacción se configura en el nivel de script en el campo VariableRedaction de las propiedades del script. Los valores redactados se reemplazan con una cadena de caracteres X. La longitud del valor de la variable determina cuántas X se utilizan, lo que significa que una palabra redactada de cinco letras daría como resultado cinco X. No es posible la eliminación parcial de una variable, como una parte de un número de tarjeta de crédito.

Redacción variable se produce en el nivel de script. No es una propiedad heredable. Si se transmite una variable modificada a otros scripts, por ejemplo con una acción RunScript o RunSub, esa variable no se modifica automáticamente en los scripts posteriores. Si desea que una variable se elimine siempre, debe configurar la redacción de variables en todos los scripts a los que se pueda pasar.

Las variables que se pasan a otros scripts tienen un alcance global. Para eliminarlas, debe incluir global: antes del nombre de la variable en el campo VariableRedaction para asegurarse de que se elimine.

La mejor práctica es no mantener nunca datos confidenciales en un script por más tiempo del necesario. Además de redactar valores de variables, puede eliminar los datos de la variable.

Para redactar variables:

  1. En NiCE CXone, haga clic en el selector de aplicaciones y seleccione Omnicanal Routing > Studio Tres flechas unidas por la base. Una apunta directamente hacia arriba, otra hacia arriba y a la derecha, y otra hacia arriba y a la izquierda. .
  2. En la página Scripts, ubique y haga doble clic para abrir el script con el que desea trabajar. Se abre el script en una nueva pestaña.
  3. En el panel de propiedades del lado derecho del script, haga clic en la pestaña de Variables.
  4. Haga clic en Ocultar Un ojo con una línea diagonal que lo cruza.

  5. En el campo de la pestaña de Variables, ingrese el nombre de cada variable que desee ocultar.  Presione Intro después de cada variable. Estos nombres deberían corresponderse con las variables creadas en las acciones Assign o SNIPPET en el script.
  6. Haga clic nuevamente en Ocultar Un ojo con una línea diagonal que lo cruza. para esconder la lista con los nombres de las variables.

  7. Guarde su script.

Eliminar datos confidenciales de una variable

Además de configurar la redacción de variables, puede configurar su script para eliminar datos confidenciales de una variable. Esto ayuda a garantizar que no persista en el script más tiempo del necesario.

  1. En su script, coloque una acción Snippet después de que se hayan utilizado los datos confidenciales y ya no sean necesarios.
  2. En el Snippet editor de la acción Snippet, agregue la línea adecuada para cada variable de la que desea borrar datos confidenciales:
    • Para un objeto dinámico de datos: DYNAMIC <object name>
    • Para una variable regular: ASSIGN <var name> = ""
  3. Guarde sus cambios.

Ver todas las variables en un script

Hay dos formas de ver todas las variables en su secuencia de comandos:

  • La pestaña Variables. Esta pestaña forma parte del panel de propiedades ubicado en el lado derecho del lienzo del script. Puede hacer clic en la flecha Icon of an arrow pointing right junto a una variable para expandir una lista de todas las acciones en el script que modifican esa variable.
  • También puede ver las variables utilizadas en un script cuando ejecuta un seguimiento. A medida que selecciona cada línea en la Salida del seguimiento, las variables del script en ese punto son visibles en el panel Variables. Puede hacer clic en cada línea del seguimiento para ver cómo cambia el contenido de las variables a medida que avanza el script.