JavaScript de Dialogflow Messenger

Dialogflow Messenger proporciona funciones a las que puedes llamar para modificar su comportamiento.

renderCustomText

Esta función renderiza un mensaje de texto simple, como si proviniera del agente como una respuesta de texto simple o si el usuario final lo ingresara.

Argumentos:

  • string: mensaje de texto
  • boolean: verdadero para un mensaje del agente, falso del usuario final

Devolución:

  • void

Por ejemplo:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.renderCustomText('Custom text', true);

renderCustomCard

Esta función renderiza una tarjeta personalizada, como si viniera de entrega de Dialogflow.

Argumentos:

  • payload: Es una lista de respuestas de carga útil personalizadas, que se definen en la sección Entrega.

Devolución:

  • void

Por ejemplo:

const dfMessenger = document.querySelector('df-messenger');
const payload = [
  {
    "type": "info",
    "title": "Info item title",
    "subtitle": "Info item subtitle",
    "image": {
      "rawUrl": "https://example.com/images/logo.png"
    },
    "anchor": {
      "href": "https://example.com",
      "target": "_blank"
    }
  }
];
dfMessenger.renderCustomCard(payload);

sendQuery

Esta función envía una consulta a la API de Dialogflow y espera la respuesta. Esto simula de forma efectiva una entrada del usuario final que, por lo general, se proporciona al diálogo del agente. La respuesta se manejará como lo haría cualquier consulta de usuario final.

Argumentos:

  • string: consulta de texto

Devolución:

  • Promise<void>: Es el valor que se muestra para la operación asíncrona.

Por ejemplo:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.sendQuery('Describe shipping costs.');

sendRequest

Esta función envía una solicitud a la API de Dialogflow y espera la respuesta.

Argumentos:

  • string: Tipo de solicitud, admite query (consulta también sendQuery más arriba) y event (consulta evento personalizado).
  • any: Es una carga útil que corresponde al tipo de solicitud, que actualmente es una cadena para los dos tipos de solicitudes compatibles.

Devolución:

  • Promise<void>: Es el valor que se muestra para la operación asíncrona.

Por ejemplo:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.sendRequest('query', 'Describe shipping costs.');

setQueryParameters

Esta función establece valores predeterminados para el campo queryParams de la solicitud detectIntent de la API de Dialogflow. Otros métodos de Dialogflow Messenger pueden reemplazar los valores predeterminados respectivos en los parámetros de consulta.

Argumentos:

  • object: Datos JSON. Para ver el esquema de los parámetros de consulta, consulta QueryParameters.

Devolución:

  • void

Por ejemplo:

const dfMessenger = document.querySelector('df-messenger');
const queryParameters = {
  parameters: {
  timeZone: "America/New_York"
  }
};
dfMessenger.setQueryParameters(queryParameters);

setContext

Esta función envía información de personalización generativa sobre el usuario final a Dialogflow. Esta información se conservará por el resto de la sesión.

Argumentos:

  • object: Datos JSON; consulta la documentación de la personalización generativa

Devolución:

  • void

Por ejemplo:

const dfMessenger = document.querySelector('df-messenger');
const metadata = {
  "subscription plan": "Business Premium Plus",
  "devices owned": [
    {
      model: "Google Pixel 7",
    },
    {
      model: "Google Pixel Tablet",
    },
  ],
};
dfMessenger.setContext(metadata);

clearStorage

Esta función borra el almacenamiento persistente del diálogo del agente. También se borra el estado actual del diálogo del agente.

Argumentos:

  • ninguno

Devolución:

  • void

Por ejemplo:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.clearStorage();

clearAuthentication

Esta función borra la autenticación del diálogo del agente.

Argumentos:

  • ninguno

Devolución:

  • void

Por ejemplo:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.clearAuthentication();

startNewSession

Esta función inicia una sesión nueva dentro del diálogo del agente. Puedes conservar o restablecer el historial de mensajes actual. No borra la autenticación de los usuarios.

Argumentos:

Nombre Tipo Descripción
args object? Es un argumento opcional para configurar la creación de la nueva sesión.
args.retainHistory boolean? Marca opcional para conservar el historial. Si se establece como verdadera, se conservará el historial. De lo contrario, se borrará.

Devolución:

  • void

Por ejemplo:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.startNewSession({ retainHistory: true });

openChat

Esta función abre el chat. Llámalo en el elemento df-messenger-chat-bubble para abrir el chat. No hace nada si el chat ya está abierto.

Argumentos:

  • ninguno

Devolución:

  • void

Por ejemplo:

const dfMessengerBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerBubble.openChat();

closeChat

Esta función cierra el chat. Llámalo en el elemento df-messenger-chat-bubble para cerrar el chat. No hace nada si el chat ya está cerrado.

Argumentos:

  • ninguno

Devolución:

  • void

Por ejemplo:

const dfMessengerBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerBubble.closeChat();

openMinChat

Chat minimizado de Dialogflow Messenger

Esta función abre la ventana de chat en una versión minimizada. Llámalo en el elemento df-messenger-chat-bubble para abrir el chat minimizado. No hace nada si el chat ya está minimizado.

Argumentos:

Nombre Tipo Descripción
args ? Argumento opcional para configurar el chat minimizado.
args.anchor o una cadena específica? anchor opcional para configurar dónde se abrirá el chat minimizado. La misma lógica que el atributo anchor en el elemento de la burbuja de chat. La configuración predeterminada es left-top.
args.showActorImages boolean? Marca opcional para mostrar las imágenes del actor (si se especifica en el elemento df-messenger-chat-bubble). La configuración predeterminada es "false".

Ejemplo:

const dfMessengerChatBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerChatBubble.openMinChat({
  anchor: 'top-left'
});

closeMinChat

Cierra el chat minimizado. Llámalo en el elemento df-messenger-chat-bubble para cerrar el chat minimizado. No hace nada si el chat ya está cerrado.

Ejemplo:

const dfMessengerChatBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerChatBubble.closeMinChat();