Parámetros

Los parámetros se usan para capturar y hacer referencia a los valores que proporcionó el usuario final durante una sesión. Cada parámetro tiene un nombre y un tipo de entidad. A diferencia de la entrada sin procesar del usuario final, los parámetros son datos estructurados que se pueden usar con facilidad para realizar alguna lógica o generar respuestas.

Los parámetros de CX son similares a los parámetros de ES, pero la utilidad y el permiso se han expandido y la sintaxis para hacer referencia a los parámetros cambió.

Define, haz referencia, establece y obtén los parámetros

Existen cuatro formas generales en las que se usan los parámetros:

  • Definir en el momento del diseño: Durante el tiempo de diseño, usa la consola o la API para definir parámetros. Por ejemplo, puedes definir un parámetro de intent y usarlo en una frase de entrenamiento para indicar la entrada del usuario final que se debe extraer.
  • Hacer referencia en el momento del diseño: Las referencias de parámetros son variables que contienen los valores del parámetro que se extraerán en el entorno de ejecución. Durante el tiempo de diseño, puedes usar la consola o la API para hacer referencia a los parámetros en varios tipos de datos. Por ejemplo, puedes hacer referencia a un parámetro de sesión en una respuesta de entrega estática para una ruta.
  • Establecer en el entorno de ejecución: En el tiempo de ejecución, el servicio de Dialogflow, tu servicio que llama a la API y tu servicio de webhook pueden establecer los valores del parámetro. Por ejemplo, el servicio de Dialogflow establece el valor de un parámetro de intent cuando una entrada del usuario final coincide con el intent y la entrada contiene los datos del parámetro.
  • Obtener en el entorno de ejecución: En el tiempo de ejecución, tus referencias de parámetro contienen los valores del parámetro que se configuró y puedes usar la API o un webhook para obtener los valores del parámetro. Por ejemplo, cuando un intent coincide y se llama a tu webhook, tu servicio de webhook recibe los valores del parámetro para el intent.

Parámetros de intents

Los intents usan parámetros para extraer los datos que proporcionan los usuarios finales cuando coinciden los intents. Los siguientes datos se usan para definir un parámetro de intent:

  • Nombre (también conocido como ID o Nombre visible): Es un nombre que identifica el parámetro.
  • Tipo de entidad: Es el tipo de entidad asociado con el parámetro.
  • Es lista: Si es verdadero, el parámetro se trata como una lista de valores.

Define los parámetros del intent

Los parámetros de intent se definen en el momento del diseño cuando creas datos de intent o cuando anotas frases de entrenamiento.

Parámetros de intent de referencia

Las referencias de parámetros de intents se pueden usar en mensajes de respuesta de entrega estáticos de rutas de intents.

Cuando el texto coincide con una entidad en particular en el entorno de ejecución, a menudo se convierte en un valor que es más conveniente para el procesamiento. Por ejemplo, la palabra “manzanas” en la entrada del usuario final se puede extraer como “manzana” para una entidad de fruta. Puedes hacer referencia al valor original que el usuario final escribe o pronuncia, o al valor resolved que extrae la entidad.

Si quieres hacer referencia a un parámetro para el intent con coincidencia en este momento, usa uno de los siguientes formatos:

$intent.params.parameter-id.original
$intent.params.parameter-id.resolved

Por ejemplo, si el ID del parámetro es date, puedes hacer referencia al valor resuelto como $intent.params.date.resolved.

También puedes acceder al nombre del tipo de entidad del parámetro:

$intent.params.parameter-id.type

Establecer los parámetros de intents

Cuando una entrada de usuario final coincide con un intent en el entorno de ejecución, Dialogflow establece un parámetro que usa una anotación para la frase de entrenamiento asociada.

La entrega de una ruta de intent puede usar un ajuste predeterminado de parámetros de entrega para establecer un valor de parámetro de intent en el entorno de ejecución.

Obtén parámetros de intent

Durante el turno de la conversación en el que se encuentra una coincidencia con un intent, tu código puede acceder a los valores del parámetro de intent.

Las interacciones con la API mostrarán los valores del parámetro de intent. Consulta el campo de respuesta queryResult.parameters del método detectIntent para el tipo Session.

Selecciona un protocolo y una versión para la referencia de sesión:

Protocolo V3beta1
REST Recurso de sesión
RPC Interfaz de sesión
Java SessionsClient
Node.js SessionsClient
Python SessionsClient

Valores del parámetro de intent de excepción del webhook. Consulta el campo intentInfo.parameters en la solicitud de webhook.

Parámetros del formulario

Para cada página, puedes definir un formulario, que es una lista de parámetros que se deben recopilar desde el usuario final de la página. El agente interactúa con el usuario final durante varios turnos de conversación hasta que haya recopilado todos los parámetros del formulario necesarios, que también se conocen como parámetros de página. Para cada parámetro del formulario, también proporcionas mensajes que el agente usa a fin de solicitar esa información del usuario final. Esto se denomina proceso para completar formularios.

Por ejemplo, puedes crear un formulario que recopile el nombre y el número de teléfono del usuario final para una página de Collect Customer Info.

El proceso para completar formularios de CX es similar al llenado de ranuras de ES.

Los siguientes datos se usan para definir un parámetro de formulario:

  • Nombre (también conocido como ID o Nombre visible): Es un nombre que identifica el parámetro.
  • Tipo de entidad: Es el tipo de entidad asociado con el parámetro.
  • Es lista: Si es verdadero, el parámetro se trata como una lista de valores.
  • Obligatorio: Indica si el parámetro es obligatorio. Los parámetros opcionales no activarán mensajes. Sin embargo, se completan si el usuario los especifica. Los parámetros obligatorios deben completarse antes de que se complete el formulario.
  • Valor predeterminado: El valor predeterminado de un parámetro opcional. Si el parámetro es obligatorio, se ignorará el valor predeterminado.
  • Entrega del mensaje inicial: Debes configurar esto con una entrega que se usa cuando el agente inicialmente solicita al usuario final que llene el parámetro.
  • Controladores de solicitud nueva: Se usan cuando el agente necesita volver a admitir el usuario final para completar el parámetro después de un intento con errores. Consulta Controladores de solicitud nueva formularios.

Define parámetros de formulario

Los parámetros de formulario se definen en el momento del diseño cuando se crea una página.

Parámetros del formulario de referencia

Las referencias de parámetros de formularios no se usan directamente. Solo puedes verificar el estado de relleno de los parámetros de formularios individuales o el formulario en su conjunto. Puedes usar estas referencias de estado del formulario en un requisito de condición de una ruta de condición.

A fin de verificar si se completó el formulario actual de la página, usa la siguiente condición:

$page.params.status = "FINAL"

Para verificar si un parámetro de forma particular se completó en el último turno, usa la siguiente condición:

$page.params.parameter-id.status = "UPDATED"

Establece los parámetros del formulario

La entrega para una ruta, un controlador de eventos o un formulario de solicitud nueva puede usar un ajuste predeterminado de parámetros de entrega con el fin de establecer un valor del parámetro del formulario en el entorno de ejecución.

Tu webhook puede establecer los valores de los parámetros de formulario en el entorno de ejecución. Consulta el campo pageInfo.formInfo.parameterInfo en la respuesta de webhook.

Obtén los parámetros del formulario

Las interacciones con la API mostrarán los valores del parámetro del formulario. Consulta el campo de respuesta queryResult.parameters del método detectIntent para el tipo Session.

Selecciona un protocolo y una versión para la referencia de sesión:

Protocolo V3beta1
REST Recurso de sesión
RPC Interfaz de sesión
Java SessionsClient
Node.js SessionsClient
Python SessionsClient

Valores del parámetro del formulario de recepción del webhook. Consulta el campo pageInfo.formInfo.parameterInfo en la solicitud de webhook.

Controladores de solicitud nueva de relleno de formulario

Durante el proceso para completar formularios, el agente le solicita al usuario final que proporcione valores de parámetros. Si el usuario final responde con una entrada inesperada, se invoca un evento sys.no-match-* o sys.no-input-*. Puedes definir los controladores de solicitudes nuevas, también conocidos como controladores de eventos a nivel de parámetros, a fin de solicitar al usuario final que tome el valor del parámetro.

Al igual que otros controladores de eventos, un controlador de solicitud es un tipo de controlador de estado que se puede configurar con uno o ambos de los siguientes elementos:

Parámetros de sesión

Cuando se establece un parámetro de cualquier tipo en el entorno de ejecución, el parámetro se escribe en la sesión y se convierte en un parámetro de sesión. Estos parámetros no se definen de forma explícita en el momento del diseño. Puedes hacer referencia a estos parámetros de sesión en cualquier momento durante una sesión.

Parámetros de la sesión de referencia

Las referencias de los parámetros de sesión se pueden usar en los mensajes de respuesta estáticos para los siguientes tipos de entrega:

  • Entrega de entrada de página
  • Entrega de ruta
  • Entrega del controlador de eventos
  • Entrega de solicitud de formulario
  • Entrega de solicitud nueva del formulario

Para hacer referencia a un parámetro de sesión, usa los siguientes formatos:

Escalar

Para acceder a un parámetro con un tipo de entidad escalar, haz lo siguiente:

$session.params.parameter-id

Por ejemplo, si el ID del parámetro es date, puedes hacer referencia al valor como $session.params.date.

Composite

Para acceder a un miembro de un parámetro con un tipo de entidad compuesta, haz lo siguiente:

$session.params.parameter-id.member-name

Por ejemplo, si el ID del parámetro es location, puedes hacer referencia al valor del miembro zip-code como $session.params.location.zip-code.

Lista

Para acceder al elemento ith de un parámetro de lista:

$session.params.parameter-id[i]

Por ejemplo, si el ID del parámetro de lista es colors, puedes hacer referencia al primer valor como $session.params.colors[0].

Configura parámetros de sesión

Cuando se completa el formulario, Dialogflow escribe los parámetros completados en la sesión.

La entrega para una ruta, un controlador de eventos o un formulario de solicitud nueva puede usar un ajuste predeterminado de parámetros de entrega con el fin de establecer un valor del parámetro de la sesión en el entorno de ejecución.

Tu webhook puede establecer los valores de los parámetros de sesión en el entorno de ejecución. Consulta el campo sessionInfo.parameters en la respuesta de webhook.

Las interacciones con la API pueden establecer los valores del parámetro de sesión. Consulta el campo de la solicitud queryParams.parameters del método detectIntent para el tipo Session.

Selecciona un protocolo y una versión para la referencia de sesión:

Protocolo V3beta1
REST Recurso de sesión
RPC Interfaz de sesión
Java SessionsClient
Node.js SessionsClient
Python SessionsClient

Obtén parámetros de sesión

Las interacciones con la API mostrarán los valores del parámetro de la sesión. Consulta el campo de respuesta queryResult.parameters del método detectIntent para el tipo Session.

Selecciona un protocolo y una versión para la referencia de sesión:

Protocolo V3beta1
REST Recurso de sesión
RPC Interfaz de sesión
Java SessionsClient
Node.js SessionsClient
Python SessionsClient

Valores del parámetro de sesión de recepción del webhook. Consulta el campo sessionInfo.parameters en la solicitud de webhook.

Propagación de parámetros

Cuando una entrada del usuario final proporciona un valor del parámetro, este se puede propagar a otros niveles:

  • Cuando un parámetro de intent se configura mediante una coincidencia de intent, los parámetros del formulario con nombre similar para la página activa se establecen en el mismo valor. El tipo de entidad del parámetro está determinado por la definición de parámetro de intent.
  • Cuando un parámetro de intent se establece mediante una coincidencia de intent, o se configura un parámetro de formulario mientras se completa un formulario, el parámetro se convierte en un parámetro de sesión.