Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Parámetros

Los parámetros se usan a fin de 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.

Asigna un nombre al parámetro

Las siguientes reglas se aplican a la denominación de los parámetros:

  • Usa los siguientes caracteres: [A-Z], [a-z], [0-9], ., -, _.
  • Los nombres de parámetros no distinguen entre mayúsculas y minúsculas, por lo que Dialogflow trata a Apple y apple como el mismo parámetro. El código del cliente de webhook y la API también debe tratar los nombres de parámetros como distincións entre mayúsculas y minúsculas, ya que no hay garantía de caso para los nombres de parámetros que muestra Dialogflow.

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.
  • Oculta en el registro: Si es verdadero, los datos de los parámetros proporcionados por el usuario final se ocultan.

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.

Establece 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 V3 V3beta1
REST Recurso de sesión Recurso de sesión
RPC Interfaz de sesión Interfaz de sesión
C# No disponible No disponible
Go No disponible No disponible
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP No disponible No disponible
Python SessionsClient SessionsClient
Ruby No disponible No disponible

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.
  • Oculta en el registro: Si es verdadero, los datos de los parámetros proporcionados por el usuario final se ocultan.
  • 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 V3 V3beta1
REST Recurso de sesión Recurso de sesión
RPC Interfaz de sesión Interfaz de sesión
C# No disponible No disponible
Go No disponible No disponible
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP No disponible No disponible
Python SessionsClient SessionsClient
Ruby No disponible No disponible

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

  • Sigue estos pasos para acceder a una lista completa de elementos:

    $session.params.parameter-id

    Por ejemplo, si el ID del parámetro de lista es colors y los valores extraídos de una consulta de usuario son ["red", "blue", "yellow"], puedes hacer referencia a todos los valores como $session.params.colors.

  • 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 V3 V3beta1
REST Recurso de sesión Recurso de sesión
RPC Interfaz de sesión Interfaz de sesión
C# No disponible No disponible
Go No disponible No disponible
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP No disponible No disponible
Python SessionsClient SessionsClient
Ruby No disponible No disponible

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 V3 V3beta1
REST Recurso de sesión Recurso de sesión
RPC Interfaz de sesión Interfaz de sesión
C# No disponible No disponible
Go No disponible No disponible
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP No disponible No disponible
Python SessionsClient SessionsClient
Ruby No disponible No disponible

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.

DTMF para integraciones de socios de telefonía

Puedes habilitar y configurar DTMF (señalización multifrecuencia de dos tonos) para un parámetro. Una vez habilitado, un usuario final para un agente que usa una integración de socios de telefonía puede usar el teclado del teléfono a fin de proporcionar valores de parámetros.

Para reducir la ambigüedad, la entrada de DTMF se puede interpretar en forma normal y específica de DTMF (recomendado):

  • La forma normal es simplemente los valores del teclado ingresados por el usuario final. Por ejemplo, 123#.
  • El formulario específico de DTMF convierte la entrada en dtmf_digits_[digits], en la que [digits] es la cantidad original de dígitos de DTM por * reemplazada por star y # reemplazada por pound. Por ejemplo, 123# se interpreta como dtmf_digits_123pound.

Cuando se buscan coincidencias de tipos de entidades para un parámetro, Dialogflow intenta hacer coincidir las forma normal y específica de DTMF. Cuando se usa un tipo de entidad para la entrada de DTMF, se recomienda definir sinónimos, como dtmf_digits_123, a fin de mejorar la coincidencia del NLU.

Si la entrada de DTMF no cumple con la condición de finalización (ya sea que no alcanzó la longitud máxima de dígitos o que no se finalizó mediante el dígito de finalización), el agente de Dialogflow continuará esperando más entradas. Durante este período, si se activa el tiempo de espera sin voz, el agente invocará un evento sin entrada. Si se detecta una declaración de voz, el agente coincidirá con la transcripción de voz. En ambos casos, se descartarán las entradas de DTMF existentes.

Si deseas habilitar y personalizar DVF para un parámetro, haz lo siguiente:

Console

  1. Habilita la Configuración avanzada desde la configuración del IVR y del agente de voz, si aún no las habilitaste.
  2. Crea un parámetro de página.
  3. En el panel de parámetros, activa Habilitar DTMF.
  4. Establece la Cantidad máxima de dígitos en la cantidad máxima de dígitos que el usuario final puede proporcionar para este parámetro.
  5. Configura Finalizar dígitos como el valor del teclado que finalizará la entrada DTMF para el parámetro. Es común usar # para esta configuración. El dígito de finalización no se agrega a la consulta de Dialogflow en el agente, por lo que si el dígito de finalización es # y la entrada es 123#, la entrada de consulta real será “123”

Ocultamiento de parámetros

Para cualquier parámetro de intent o de formulario, puedes habilitar la ocultamiento de parámetros, que oculta los datos del parámetro de entorno de ejecución del usuario final de los registros y el almacenamiento interno de Dialogflow. Los parámetros ocultos se muestran como $parameter-name_redacted en los registros.

Por ejemplo, considera una entrada del usuario final de “Mi dirección es 1600 Amphitheatre Parkway”, que hace que se envíe un parámetro address a “1600 Amphitheatre Parkway”. El texto registrado será “Mi dirección es $address_redacted”.

Para habilitar la ocultamiento de parámetros, sigue estos pasos:

Console

Marca la casilla de verificación Ocultar en el registro cuando creas o actualizas un parámetro.

API

Establece el campo parameters[].redact como verdadero para el tipo Intent.

Selecciona un protocolo y una versión para la Referencia de intent:

Protocolo V3 V3beta1
REST Recurso de intent Recurso de intent
RPC Interfaz de intent Interfaz de intent
C# No disponible No disponible
Go No disponible No disponible
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP No disponible No disponible
Python IntentsClient IntentsClient
Ruby No disponible No disponible

Establece el campo form.parameters[].redact como verdadero para el tipo Page.

Selecciona un protocolo y una versión para la Referencia de la página:

Protocolo V3 V3beta1
REST Recurso de la página Recurso de la página
RPC Interfaz de la página Interfaz de la página
C# No disponible No disponible
Go No disponible No disponible
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP No disponible No disponible
Python PagesClient PagesClient
Ruby No disponible No disponible