Cómo escribir expresiones

Puede escribir expresiones para especificar valores que son independientes o derivados de valores que se recopilan en pasos o se almacenan en variables de sesión. Puede utilizar una expresión para definir una condición de paso o para definir el valor de una variable de sesión.

Usar una expresión en una condición de paso

Puede utilizar una expresión en una condición de paso si desea condicionar un paso en el resultado de un cálculo basado en la información que ha recopilado durante la conversación.

Por ejemplo, supongamos que un cliente tiene $200 en una cuenta de ahorros y quiere transferir $150 a una nueva cuenta corriente. La comisión por una transferencia de fondos es de 3 $, y el banco cobra una comisión cuando una cuenta de ahorro contiene menos de 50 $. Podría crear un paso con una condición de paso que compruebe esta situación. La condición de paso utilizaría una expresión como esta:

${savings} - (${Step_232} + ${transfer_fee}) < 50

donde:

  • ${savings} representa una variable de sesión que almacena el total de la cuenta de ahorro del cliente.
  • ${Step_232} representa el paso que solicita la cantidad que el cliente desea transferir.
  • ${transfer_fee} representa una variable de sesión que especifica la comisión por una transferencia de fondos.

Si se cumple la condición de paso, el paso avisa al usuario de que la transferencia solicitada arrojará un saldo de la cuenta de ahorros inferior al mínimo de $50 y exigirá el pago de una comisión, y solicitará confirmación antes de continuar.

Para utilizar una expresión en una condición de paso, siga estos pasos:

  1. En el paso, pulse Añadir condición.

    Una condición se genera automáticamente con la opción más probable, que suele ser cualquier variable que se haya establecido en el paso anterior.

  2. Pulse el primer segmento de la condición generada y, a continuación, desplácese hacia abajo y pulse Expresión.

  3. Opcional: pulse el icono Icono Expandir Expandir para abrir la ventana del editor de expresiones. (También puede escribir la expresión directamente en el campo sin abrir la ventana, pero el editor facilita la edición de una expresión más larga o más compleja.)

  4. Escriba la expresión que desee utilizar.

Utilización de una expresión para asignar un valor a una variable de sesión

Puede utilizar una expresión al asignar un valor a una variable de sesión si desea que el valor de la variable se calcule basándose en otras variables.

Por ejemplo, supongamos que desea indicar al cliente el coste total de una compra, incluyendo un impuesto sobre las ventas del 6% y una tarifa plana de procesamiento de3.00 dólares. Para calcular el coste total, puede crear una variable de sesión y asignar el valor utilizando una expresión:

(${price} * 1.06) + 3

A continuación, puede hacer referencia a esta variable en el campo El asistente dice.

Para utilizar una expresión al asignar un valor a una variable de sesión, siga estos pasos:

  1. En un paso, pulse Establecer valores de variable.

  2. Pulse Establecer nuevo valor.

  3. En la lista desplegable, seleccione la variable de sesión en la que desea almacenar el valor.

  4. Después de a, seleccione Expresión.

  5. Escriba la expresión que desee utilizar.

  6. Si está utilizando el editor de expresiones, pulse Aplicar para guardar los cambios y cerrar la ventana del editor.

También puede utilizar una expresión para asignar un valor inicial a una variable de sesión. En la ventana Variable de sesión, vaya al campo Valor inicial y pulse Utilizar expresión.

También puede escribir una expresión directamente sin seleccionar primero una variable:

  1. En un paso, pulse Establecer valores de variable.

  2. Pulse Establecer nuevo valor.

  3. En la lista desplegable, seleccione Expresión.

  4. Escriba la expresión que desee utilizar.

  5. Si está utilizando el editor de expresiones, pulse Aplicar para guardar los cambios y cerrar la ventana del editor.

sintaxis de expresiones

Elwatsonx Assistant El lenguaje de expresión se basa en el lenguaje de expresión Spring (SpEL ), pero con algunas diferencias importantes en la sintaxis. Para obtener información general detallada sobreSpEL, ver Lenguaje de expresión de primavera(SpEL).

Variables

Para hacer referencia a una variable en una expresión, escriba un signo de dólar ($) y, a continuación, seleccione una variable de la lista. La referencia se inserta en la expresión en la notación correcta, haciendo referencia a la variable utilizando su ID de variable en lugar de su nombre de visualización (por ejemplo, ${step_773} o ${customer_id}). No edite esta referencia a menos que desee hacer referencia a una variable diferente y esté seguro de su ID de variable.

Para hacer referencia a la acción definida por el usuario o a las variables de sesión en una aplicación cliente personalizada, utilice el prefijo de palabra clave reservada.user_defined_. Por ejemplo, utilice ${user_defined_my_context_var} para obtener el valor de my_context_var establecido por su cliente. Para obtener más información sobre el cliente personalizado, consulte cliente personalizado.

Matemáticas estándares

Para valores numéricos, puede utilizar expresiones para realizar cálculos matemáticos. Para la aritmética básica, puede utilizar operadores estándar (+, -, *, /).

También puede utilizar métodos para realizar operaciones matemáticas adicionales. Para obtener más información, consulte Métodos de lenguaje de expresión para acciones.

Matrices

Para definir un valor de matriz, escriba el valor utilizando corchetes, con comas que separan los elementos (por ejemplo, [ "one", "two", "three" ]).

Para hacer referencia a un elemento de una matriz, utilice la notación entre corchetes y especifique el índice basado en cero del elemento de la matriz. Por ejemplo, ${Items}[0] representa el primer elemento de la matriz Items.

También puede utilizar el método de matriz get() para recuperar un elemento de una matriz. Para obtener más información, consulte Métodos de lenguaje de expresión para acciones.

Objetos JSON

Utilice la notación JSON para definir objetos compuestos en expresiones. Por ejemplo, la expresión siguiente asigna un objeto JSON complejo como valor para una variable:

{
  "name": {
    "firstname": "John",
    "lastname": "Doe"
  },
  "age": 36
}

Puede utilizar variables y matemáticas estándar dentro de JSON para crear objetos dinámicos que se calculan en tiempo de ejecución. Por ejemplo, la expresión siguiente define un objeto JSON que hace referencia a variables y calcula un valor promedio:

{
  "temp_1": ${temp_1},
  "temp_2": ${temp_2},
  "avg_temp": (${temp_1} + ${temp_2}) / 2
}

Para hacer referencia a un objeto hijo contenido en un valor JSON, utilice la notación de puntos para expresar la vía de acceso al objeto (por ejemplo, ${customer}.name.lastname).

Si necesita hacer referencia a un hijo de un objeto que puede o no estar definido, utilice el operador de navegación segura (?). Por ejemplo, la expresión ${customer}.name?.lastname se evalúa como null si customer.name es null. (Sin el operador de navegación segura, se produciría un error.)

Métodos

Utilice métodos de lenguaje de expresión para manipular valores (por ejemplo, formatear una serie o añadir un elemento a una matriz). Para obtener más información sobre los métodos soportados para cada tipo de datos, consulte Métodos de lenguaje de expresión para acciones.