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.

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 nombres a los parámetros

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

  • Usa los siguientes caracteres: [A-Z], [a-z], [0-9], ., - y _
  • Los nombres de los parámetros no distinguen mayúsculas de minúsculas, por lo que Dialogflow trata a Apple y apple como el mismo parámetro. El webhook y el código del cliente de la API también deben tratar los nombres de parámetros como no distinguen mayúsculas de minúsculas, ya que no hay garantía de caso para los nombres de parámetros que muestra Dialogflow.
  • Cuando creas parámetros con el mismo ID o nombre visible en diferentes o formularios, asegúrate de que el tipo de entidad y otros parámetros de configuración para todas las definiciones. Si el tipo de entidad o alguna otra configuración de parámetros difieren, use un ID de parámetro único o un nombre visible para cada definición.

Tipos de valores de parámetros

Los valores del parámetro admiten varios tipos de valores. En la sección de sesiones a continuación, se describe cómo hacer referencia a cada tipo de valor del parámetro. Se admiten los siguientes tipos:

Tipo Descripción
Escalar Un solo valor numérico o de cadena.
Compuestos Un objeto JSON que se propaga mediante la coincidencia de una entidad compuesta o el relleno de un parámetro de intent, que contiene los campos original y resolved.
Lista Es una lista de valores escalares o compuestos propagados para un parámetro configurado como una lista. Consulta las opciones de Is List a continuación.

Cadena vacía y valores nulos del parámetro

Puedes establecer los valores de los parámetros de cadena en "", que configura el parámetro en una cadena vacía.

Puedes establecer cualquier valor de parámetro en null, lo que indica que no se estableció el parámetro.

Valores originales del parámetro

Cuando el texto coincide con una entidad en particular en el tiempo de ejecución, a menudo se resuelven en un valor que es más conveniente para el procesamiento. Por ejemplo, la palabra "manzanas" en la entrada del usuario final puede resolverse como “manzana” para una entidad de frutas.

Todos los tipos de valores para las referencias de parámetros de intents puede hacer referencia al valor original o resuelto.

Solo tipos de valores compuestos para las referencias del parámetro de sesión puede hacer referencia al valor original.

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.

Puedes hacer referencia al valor original o al valor resuelto.

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++ SessionsClient No disponible
C# SessionsClient No disponible
Go SessionsClient 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. El agente recopila estos parámetros en el orden definido en la página. Para cada parámetro de formulario obligatorio, 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.

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

Nombre de la opción de la consola Cadena de campo de API Descripción
Nombre visible Page.form.parameters[].displayName Un nombre que identifique el parámetro.
Tipo de entidad Page.form.parameters[].entityType El tipo de entidad asociado con el parámetro.
Obligatorio Page.form.parameters[].required Indica si el parámetro es obligatorio. Los parámetros obligatorios deben completarse antes de que se complete el formulario, y el agente solicitará valores al usuario final. Consulta la sección Establece los parámetros del formulario que se encuentra a continuación para obtener más detalles.
Valor predeterminado (solo visible cuando está desmarcado obligatorio) Page.form.parameters[].defaultValue El valor predeterminado de un parámetro opcional. Consulta la sección Establece los parámetros del formulario que se encuentra a continuación para obtener más detalles.
Es una lista Page.form.parameters[].isList Si es verdadero, el parámetro se trata como una lista de valores.
Ocultar en el registro Page.form.parameters[].redact Si es verdadero, los datos de los parámetros proporcionados por el usuario final se ocultan.
Entrega del mensaje inicial Page.form.parameters[].fillBehavior.initialPromptFulfillment Mensajes iniciales en forma de entrega para solicitar un valor del parámetro obligatorio al usuario final. Consulta la sección Establece los parámetros del formulario que se encuentra a continuación para obtener más detalles.
Controladores de eventos de solicitud nuevas Page.form.parameters[].fillBehavior.repromptEventHandlers 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 de relleno de formulario. Si no se definen controladores de eventos de nueva solicitud, el agente volverá a enviar la solicitud con los mensajes iniciales después de un intento fallido.
DTMF No disponible Consulta la sección DTMF a continuación.

Cómo definir y administrar los parámetros del formulario

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

Para cambiar el orden de los parámetros del formulario con la consola, Haz clic en el título de la sección Parámetros de la página luego, arrastra las filas de parámetros en la tabla de parámetros.

Para borrar un parámetro de formulario, Haz clic en el título de la sección Parámetros de la página coloca el cursor del mouse sobre un parámetro Luego, haz clic en el botón Borrar .

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

Los valores del parámetro del formulario se pueden establecer de varias maneras. En las siguientes subsecciones, se describen cada mecanismo para configurar los valores de los parámetros de formularios.

Valores de parámetros predeterminados

Puedes proporcionar valores predeterminados para los parámetros opcionales del formulario. Cuando se completa el formulario, todos los parámetros opcionales del formulario no establecidos se establecen en sus valores predeterminados. Estos valores se pueden inicializar o anular mediante algunos de los mecanismos que se indican a continuación.

Si se requiere un parámetro, se ignora su valor predeterminado.

Relleno de formularios

Dialogflow establece automáticamente los valores de parámetros proporcionados por el usuario final durante el proceso para completar formularios. El agente recopila los parámetros requeridos en el orden definido en la página. El agente solicita al usuario final los valores necesarios mediante la entrega del mensaje inicial que proporcionas para cada parámetro obligatorio. Los parámetros opcionales no activarán mensajes.

Si el usuario final no proporciona un valor de parámetro obligatorio después de un mensaje del agente, este se repetirá, a menos que se defina un comportamiento diferente en los controladores de solicitudes nuevas. Si hay múltiples mensajes de texto iniciales definidos, el comportamiento del agente es el mismo que el de cualquier respuesta de texto de entrega.

Propagación del parámetro de intent y 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.

Cuando una página se activa en un principio, y durante su período activo, cualquier parámetro de formulario con el mismo nombre que un parámetro de sesión se establece automáticamente en el valor del parámetro de sesión.

Esto puede suceder con un parámetro de intent coincidente en una ruta de intent o una propagación de parámetros.

La propagación de intents y parámetros de sesión es el único mecanismo para configurar parámetros opcionales de formulario a valores de entrada de usuario final, pero este mecanismo también puede configurar o anular los valores de parámetros de formulario obligatorios.

Ajustes predeterminados de los parámetros de entrega

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. Un ajuste predeterminado de parámetros de entrega anulará un valor del parámetro, incluidos los valores predeterminados del parámetro.

Configuración del parámetro de webhook

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++ SessionsClient No disponible
C# SessionsClient No disponible
Go SessionsClient 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

Los controladores de solicitudes nuevas, también conocidos como controladores de eventos a nivel de parámetros, se usan a fin de definir el comportamiento de mensajes de parámetros complejos para los parámetros obligatorios. Por ejemplo, los controladores de solicitudes nuevas se pueden usar para modificar la solicitud cuando el usuario final no proporciona un valor después de la solicitud inicial y para cambiar a otra página después de N intentos fallidos.

Si no se definen controladores de solicitudes nuevas, la solicitud inicial se usará para solicitar nuevamente al usuario final según sea necesario.

Si el usuario final responde con una entrada inesperada, se invoca un evento sys.no-match-* o sys.no-input-* y se llama a cualquier controlador de solicitud definido para estos eventos.

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

Las referencias también se pueden usar en lo siguiente:

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.

  • Para acceder al valor original de un parámetro con un tipo de entidad compuesta, haz lo siguiente:

    $session.params.parameter-id.original
  • Para acceder al objeto completo de un parámetro con un tipo de entidad compuesta, haz lo siguiente: usa el Función del sistema IDENTITY.

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 estándar o consulta respuesta de webhook flexible.

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++ SessionsClient No disponible
C# SessionsClient No disponible
Go SessionsClient 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++ SessionsClient No disponible
C# SessionsClient No disponible
Go SessionsClient 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 telefonía

Puedes habilitar y configurar DTMF (señalización multifrecuencia de dos tonos) para un parámetro. Una vez habilitada, el usuario final de un agente integración puede usar el teclado del teléfono para 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 no alcanzó la longitud máxima de dígitos o no se terminó en el dígito de finalización), el agente de Dialogflow seguirá esperando más entradas. Durante este período, si se activa el tiempo de espera de no voz, el agente invocará un evento de no entrada. Si solo se detecta un enunciado de voz, el agente coincide con la entrada de voz. Si se detectan la entrada de voz y la de DTMF, esta se descarta y solo se considera la de DTMF.

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”

Cuando compilas el agente, puedes probar las entradas de DTMF en el simulador.

Extremo inteligente

Si el extremo inteligente es habilitado para el agente, puedes personalizar el comportamiento del extremo inteligente para un parámetro numérico.

  1. Establece Dígitos mínimos para sugerir al extremo inteligente que espere hasta que dígitos recolectados.
  2. Establecer Corregir transcripciones para mejorar el reconocimiento de voz de los dígitos corrigiendo errores de transcripción de dígitos comunes. Esta opción solo se admite para las solicitudes que especifiquen un código de idioma en o en-*.
  3. Establece Tiempo de espera para especificar el tiempo adicional que Dialogflow esperará a que el usuario proporcione más entradas.

Parámetros con alcance de flujo

Los parámetros con alcance de flujo se pueden definir de la siguiente manera: ajustes predeterminados de los parámetros de entrega o parámetros de formulario. Solo se puede hacer referencia a estos parámetros mientras el flujo en el que están definidos está activa y no se conservan en los parámetros de sesión.

Para definir un parámetro con alcance de flujo o hacer referencia a él, usa la siguiente sintaxis:

$flow.parameter-name

Por ejemplo: si el nombre del parámetro es date, puedes definir el parámetro o hacer referencia a él como $flow.date.

Ten en cuenta que usar un prefijo de $ cuando se definen los parámetros es diferente de otros tipos de parámetros que no usan $ para las definiciones de parámetros.

Este es un ejemplo de definición del parámetro con alcance de flujo: Captura de pantalla del parámetro con alcance de flujo.

Ciclo de vida del valor del parámetro con alcance de flujo

Es poco común, pero en ciertos casos avanzados, es posible que debas comprender cómo se retienen (o descartan) los valores de los parámetros centrados en el flujo cuando un flujo se vuelve inactivo y, luego, vuelve a estar activo.

Si los valores de los parámetros con alcance de flujo se retienen cuando un flujo se vuelve inactivo entonces la opción para volver a activar depende del pila de flujo y flujos de instances en la pila.

  • Cuando el flujo A pasa al flujo B usando un objetivo de transición específico, A (flujo principal) permanece en la pila, el flujo A conserva sus valores de parámetros con alcance de flujo, y se agrega una nueva instancia del flujo B (flujo secundario) a la pila.
  • Cuando un flujo secundario vuelve a un flujo superior con un objetivo de transición simbólica (por ejemplo, END_FLOW), el flujo secundario se quita de la pila, se descartan todos los valores de parámetros con alcance de flujo secundario y se conservan todos los valores de los parámetros superiores con alcance de flujo.
  • Usar una serie de transiciones con objetivos de transición específicos la pila de flujo puede contener varias instancias de un tipo de flujo. Cada instancia del tipo de flujo tiene valores de parámetros únicos centrados en el flujo. Por ejemplo: A1 -> B1 -> C1 -> B2: en la que A, B y C son tipos de flujo, y los números denotan instancias de esos tipos de flujos. En este ejemplo, B1 y B2 son instancias diferentes del flujo B, y tienen parámetros únicos con alcance de flujo.

Ejemplos:

Transiciones Resultado
El flujo A (A1) se activa.
El flujo B (B1) se activa con un destino de transición específico.
El flujo B vuelve al flujo A (A1) que lo inició con un objetivo de transición simbólico.
El flujo A conserva los valores de los parámetros.
El flujo A (A1) se activa.
El flujo B (B1) se activa con un destino de transición específico.
El flujo B pasa a una instancia nueva del flujo A (A2) con un objetivo de transición específico.
La nueva instancia del flujo A (A2) en la parte superior de la pila no tiene acceso a los valores de los parámetros del flujo A (A1) en la parte inferior de la pila.
El flujo A (A1) se activa.
El flujo B (B1) se activa usando un objetivo de transición específico.
El flujo A (A1) se activa usando un objetivo de transición simbólico.
El flujo B (B2) se activa usando un objetivo de transición específico.
El flujo B (B2) no retiene los valores de parámetros que se establecieron mientras estaba activo después de la segunda transición (B1).

Parámetros centrados en la solicitud

Los parámetros con alcance de solicitud son parámetros de corta duración creados por Dialogflow a los que solo se puede hacer referencia durante el ciclo de vida de la solicitud actual y no persisten en los parámetros de sesión.

Dialogflow genera parámetros con alcance de solicitud para las siguientes funciones.

Parámetros integrados

Puedes acceder a los diversos datos asociados con la solicitud usando lo siguiente:

Reference Descripción
$request.agent-id Es el identificador del agente.
$request.session-id Es el identificador de la sesión.
$request.language Código de idioma especificado en QueryInput.language_code.
$request.resolved-language El código de idioma real que usó el agente durante el procesamiento. El idioma resuelto puede ser diferente del idioma especificado en la solicitud. Por ejemplo, si el agente solo admite “en”, mientras que el idioma especificado en la solicitud es “en-US”, el idioma resuelto sería “en”.
$request.user-utterance La declaración del usuario actual especificada en la solicitud.
$request.last-agent-utterance La declaración más reciente que envió el agente.

Carga útil personalizada

Cuando se establece QueryParameters.payload, puedes acceder al parámetro correspondiente a través de $request.payload.param-id.

Análisis de opiniones

Cuando el análisis de opiniones está habilitado, se encuentran disponibles las siguientes referencias de opiniones:

Reference Tipo Descripción
$request.sentiment.score Número Puntuación de las opiniones entre -1.0 (opiniones negativas) y 1.0 (opiniones positivas).
$request.sentiment.magnitude Número Indica la intensidad general de la emoción (tanto positiva como negativa) entre 0.0 y +inf. A diferencia de la puntuación, la magnitud no está normalizada; cada expresión de emoción dentro de la entrada del usuario final (tanto positiva como negativa) contribuye a la magnitud de la entrada. Las entradas más largas pueden tener magnitudes mayores.
$request.sentiment.succeeded Booleano Verdadero si el análisis de opiniones se realiza correctamente; de lo contrario, falso.

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++ IntentsClient No disponible
C# IntentsClient No disponible
Go IntentsClient 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++ PagesClient No disponible
C# PagesClient No disponible
Go PagesClient No disponible
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP No disponible No disponible
Python PagesClient PagesClient
Ruby No disponible No disponible

Como alternativa, puedes ocultar todos los parámetros de un tipo de entidad específico.