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 entorno de ejecución, el servicio de Dialogflow CX, el servicio que llama a la API y el servicio de webhook pueden establecer valores de parámetros. Por ejemplo, el servicio de Dialogflow CX establece el valor de un parámetro de intent cuando una entrada del usuario final coincide con el intent y la entrada contiene 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 CX trata a
Appleyapplecomo el mismo parámetro. El código de cliente de API y webhook también debe tratar los nombres de los parámetros como no sensibles a mayúsculas y minúsculas, ya que no hay garantía de mayúsculas y minúsculas para los nombres de los parámetros que devuelve Dialogflow CX. - Cuando crees parámetros con el mismo ID o nombre visible en diferentes intents o formularios, asegúrate de que el tipo de entidad y otros parámetros de configuración sean los mismos para todas las definiciones. Si el tipo de entidad o la configuración de otros parámetros son diferentes, usa un ID de parámetro o un nombre visible únicos para cada definición.
Tipos de valores de parámetros
Los valores de los parámetros admiten varios tipos de valores. En la siguiente sección de sesiones, se describe cómo hacer referencia a cada tipo de valor de 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 cuando coincide con una entidad compuesta o cuando se completa un parámetro de intent, que contiene los campos original y resolved. |
| Lista | Es una lista de valores escalares o compuestos que se propagan para un parámetro configurado como una lista. Consulta las siguientes opciones de Is List. |
Valores nulos y de cadena vacía de los parámetros
Puedes establecer los valores de los parámetros de cadena en "",
lo que establece el parámetro en la cadena vacía.
Puedes establecer cualquier valor de parámetro en null,
lo que indica que no se estableció el parámetro.
Valores originales de los parámetros
Cuando el texto coincide con una entidad en particular durante el tiempo de ejecución, suele resolverse en un valor que es más conveniente para el procesamiento. Por ejemplo, la palabra "manzanas" en la entrada del usuario final se puede resolver como "manzana" para una entidad de fruta.
Todos los tipos de valores para las referencias de parámetros de intents pueden hacer referencia al valor original o al resuelto.
Solo los tipos de valores compuestos para las referencias de parámetros de sesión pueden 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.
Para hacer referencia a un parámetro del intent coincidente actual, 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.
Establecer los parámetros de intents
Cuando una entrada del usuario final coincide con un intent en el entorno de ejecución, Dialogflow CX establece cualquier parámetro que use 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 siguiente sección Establece los parámetros del formulario 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 siguiente sección Establece los parámetros del formulario 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 siguiente sección Establece los parámetros del formulario 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 hay controladores de este tipo definidos, el agente reiterará su solicitud con las instrucciones iniciales después del intento fallido. |
| DTMF | No disponible | Consulta la siguiente sección de DTMF. |
Define y administra parámetros de 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 y, 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, mantén el puntero sobre un parámetro y, luego, haz clic en el botón Borrar delete.
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 describe cada mecanismo para establecer los valores de los parámetros del formulario.
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 con algunos de los siguientes mecanismos.
Si se requiere un parámetro, se ignora su valor predeterminado.
Relleno de formularios
Dialogflow CX establece automáticamente los valores de los parámetros que proporciona el usuario final durante el llenado del formulario. 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:
- Un fulfillment para proporcionar un mensaje de repregunta al usuario final y un parámetro predeterminado.
- Un objetivo de transición para cambiar la página actual.
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 los siguientes casos:
- Valores de encabezado de webhook para la autenticación.
- Solicitudes de webhook flexibles, para enviar valores de parámetros a un webhook.
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 miembrozip-codecomo$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, usa la 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
colorsy 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 CX 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 la
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.
Desactiva el reconocimiento de voz para la telefonía
En un entorno ruidoso, el reconocimiento de voz puede transcribir el ruido de fondo como entrada del usuario final. En el caso de una integración de telefonía, estas transcripciones falsas pueden activar eventos sin coincidencia o interrumpir a un usuario final que ingresa dígitos DTMF con el teclado.
Para aceptar solo la entrada de DTMF, establece el parámetro de sesión telephony_disable_voice_processing en true. A partir del siguiente turno de conversación, Dialogflow CX
ignora la entrada de voz y solo procesa la entrada de DTMF. Este parámetro de configuración permanecerá vigente durante el resto de la sesión. Para volver a activar el reconocimiento de voz, establece el parámetro en false.
Te recomendamos que uses este parámetro como resguardo, no al comienzo de una
conversación. Por ejemplo, después de que el usuario final activa dos eventos consecutivos sin coincidencia o sin entrada, usa un ajuste predeterminado de parámetro de entrega para establecer el parámetro en true y, luego, solicita al usuario final que use el teclado.
Asegúrate de que DTMF esté habilitado para los parámetros que el usuario final debe
proporcionar.
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 habilitado, un usuario final de un agente que usa una integración de telefonía 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 son los valores del teclado tal como los ingresa 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 porstary#reemplazada porpound. Por ejemplo,123#se interpreta comodtmf_digits_123pound.
Cuando se buscan coincidencias de tipos de entidades para un parámetro,
Dialogflow CX intentará hacer coincidir las formas normales y las específicas 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 (no alcanzó la longitud máxima de dígitos o no se finalizó con el dígito de finalización), el agente de Dialogflow CX 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
- Habilita la Configuración avanzada desde la configuración del IVR y del agente de voz, si aún no las habilitaste.
- Crea un parámetro de página.
- En el panel de parámetros, activa Habilitar DTMF.
- 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.
- 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 CX en el agente, por lo que, si el dígito de finalización es # y la entrada es 123#, la entrada de la consulta real será "123".
Cuando creas tu agente, puedes probar las entradas de DTMF en el simulador.
Parámetros con alcance de flujo
Los parámetros con alcance de flujo se pueden definir como ajustes predeterminados de parámetros de entrega o parámetros de formulario. Solo se puede hacer referencia a estos parámetros mientras el flujo en el que se definen está activo, y no se conservan en los parámetros de sesión.
Para definir o hacer referencia a un parámetro con alcance de flujo, usa la siguiente sintaxis:
$flow.parameter-name
Por ejemplo,
si el nombre del parámetro es date,
puedes definirlo o hacer referencia a él como $flow.date.
Ten en cuenta que usar un prefijo de $ cuando se definen parámetros
es diferente de otros tipos de parámetros que no usan $
para las definiciones de parámetros.
A continuación, se muestra un ejemplo de definición de parámetro con alcance de flujo:

Duración del valor del parámetro con alcance de flujo
No es común, pero en ciertos casos avanzados, es posible que debas comprender cómo se retienen (o descartan) los valores de los parámetros con alcance de flujo cuando un flujo se vuelve inactivo y, luego, se activa de nuevo.
Si los valores de los parámetros con alcance de flujo se retienen cuando un flujo se vuelve inactivo, volver a activarlos depende de la pila de flujos y de las instancias de flujo en la pila.
- Cuando el flujo A pasa al flujo B con un destino de transición específico, el flujo A (flujo superior) 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 destino de transición simbólico (por ejemplo, END_FLOW), el flujo secundario se quita de la pila, se descartan todos los valores de los parámetros con alcance de flujo secundario y se conservan todos los valores de los parámetros con alcance de flujo superior.
- Con una serie de transiciones con destinos de transición específicos, la pila de flujos puede contener varias instancias de un tipo de flujo. Cada instancia del tipo de flujo tiene valores de parámetros únicos con alcance de flujo. Por ejemplo: A1 -> B1 -> C1 -> B2, en el que A, B y C son tipos de flujo, y los números indican instancias de esos tipos de flujo. 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 destino 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 realiza la transición a una instancia nueva del flujo A (A2) con un destino 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 con un destino de transición específico. El flujo A (A1) se activa con un destino de transición simbólico. El flujo B (B2) se activa con un destino de transición específico. |
El flujo B (B2) no conserva los valores de los parámetros que se establecieron mientras estaba activo después de la segunda transición (B1). |
Parámetros con alcance de solicitud
Los parámetros con alcance de solicitud son parámetros de corta duración creados por Dialogflow CX a los que solo se puede hacer referencia durante el ciclo de vida de la solicitud actual y no se conservan en los parámetros de sesión.
Dialogflow CX 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.project-id | Es el identificador del proyecto. |
| $request.location-id | Es el identificador de la ubicación del agente. |
| $request.language | Es el código de idioma especificado en QueryInput.language_code. |
| $request.resolved-language | Es el código de idioma real que usa 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 | Es el enunciado actual del usuario especificado en la solicitud. |
| $request.last-agent-utterance | Es el enunciado más reciente que envió el agente. |
| $request.nlu-confidence-score | Es la puntuación de confianza de la clasificación de NLU actual. |
| $request.end-user-metadata | Son los metadatos del usuario final especificados en la solicitud. |
| $request.webhook_status_code | Es el código de estado HTTP de la llamada de webhook. |
Carga útil personalizada
Cuando se establece QueryParameters.payload, puedes acceder al parámetro correspondiente con $request.payload.param-id.
Análisis de opiniones
Las siguientes referencias de sentimiento están disponibles cuando se habilita el análisis de sentimiento:
| Reference | Tipo | Descripción |
|---|---|---|
| $request.sentiment.score | Número | Puntuación de opinión entre -1.0 (opinión negativa) y 1.0 (opinión positiva). |
| $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 se normaliza; 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 | Es verdadero si el análisis de sentimiento se realizó correctamente; de lo contrario, es falso. |
Ocultamiento de parámetros
Para cualquier parámetro de intent o formulario,
puedes habilitar la ocultación de parámetros,
que ocultará los datos de los parámetros del entorno de ejecución del usuario final de los registros
y del almacenamiento interno de Dialogflow CX.
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 intents | Interfaz de intents |
| 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 página | Recurso de página |
| RPC | Interfaz de Page | Interfaz de Page |
| 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.