JavaScript do Messenger do Dialogflow

O Dialogflow Messenger oferece funções que você pode chamar para afetar o comportamento dele.

renderCustomText

Essa função renderiza uma mensagem de texto simples, como se o agente viesse do agente, como uma simples resposta de texto ou foi inserida pelo usuário final.

Argumentos:

  • string: mensagem de texto
  • boolean: verdadeiro para uma mensagem do agente, falso para o usuário final.

Retorno:

  • void

Exemplo:

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

renderCustomCard

Essa função renderiza um cartão personalizado, como se ele viesse do fulfillment do Dialogflow.

Argumentos:

  • payload: uma lista de respostas de payload personalizadas, definidas no seção Fulfillment.

Retorno:

  • void

Exemplo:

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

Essa função envia uma consulta para a API Dialogflow e aguarda a resposta. Isso simula efetivamente uma entrada do usuário final. normalmente fornecido na caixa de diálogo do agente. A resposta será tratada como qualquer consulta de usuário final faria.

Argumentos:

  • string: consulta de texto

Retorno:

  • Promise<void>: valor de retorno para a operação assíncrona.

Exemplo:

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

sendRequest

Essa função envia uma solicitação para a API Dialogflow e aguarda a resposta.

Argumentos:

  • string: tipo de solicitação, compatível com query (veja também sendQuery acima) e event (consulte evento personalizado)
  • any: payload que corresponde ao tipo de solicitação, que é uma string para os dois tipos de solicitação com suporte.

Retorno:

  • Promise<void>: valor de retorno para a operação assíncrona.

Exemplo:

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

setQueryParameters

Essa função define valores padrão para o campo queryParams da solicitação detectIntent da API Dialogflow. Outros métodos do Dialogflow Messenger podem substituir os respectivos valores padrão nos parâmetros de consulta.

Argumentos:

  • object: dados JSON. Para ver o esquema de parâmetros de consulta, consulte QueryParameters

Retorno:

  • void

Exemplo:

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

setContext

Essa função envia personalização generativa informações para o usuário final no Dialogflow. Essas informações serão mantidas pelo restante da sessão.

Argumentos:

  • object: dados JSON, consulte a documentação de personalização generativa

Retorno:

  • void

Exemplo:

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 função limpa o armazenamento persistente do diálogo do agente. Ele também limpa o estado atual da caixa de diálogo do agente.

Argumentos:

  • nenhum

Retorno:

  • void

Exemplo:

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

clearAuthentication

Esta função limpa a autenticação da caixa de diálogo do agente.

Argumentos:

  • nenhum

Retorno:

  • void

Exemplo:

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

startNewSession

Essa função inicia uma nova sessão dentro da caixa de diálogo do agente. Ele pode manter ou redefinir o histórico de mensagens atual. Não está claro para os usuários autenticação.

Argumentos:

Nome Tipo Descrição
args object? Argumento opcional para configurar a criação da nova sessão.
args.retainHistory boolean? Sinalização opcional para manter o histórico. Se definida como verdadeira, o histórico será mantido. Caso contrário, será apagado.

Retorno:

  • void

Exemplo:

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

openChat

Essa função abre o chat. Fazer a chamada no elemento df-messenger-chat-bubble para abrir o chat. Não faz nada se o chat já estiver aberto.

Argumentos:

  • nenhum

Retorno:

  • void

Por exemplo:

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

closeChat

Esta função fecha o chat. Fazer a chamada no elemento df-messenger-chat-bubble para fechar o chat. Não faz nada se o chat já estiver fechado.

Argumentos:

  • nenhum

Retorno:

  • void

Por exemplo:

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

openMinChat

Chat minimizado do Dialogflow Messenger

Essa função abre a janela de chat em uma versão minimizada. Ligue para df-messenger-chat-bubble para abrir a conversa minimizada. Não faz nada se a conversa já foi minimizada.

Argumentos:

Nome Tipo Descrição
args objeto? Argumento opcional para configurar a conversa minimizada
args.anchor fio? anchor opcional para configurar onde o chat minimizado será aberto. Mesma lógica que o atributo anchor no elemento do balão de chat. O padrão é left-top.
args.showActorImages boolean? Sinalização opcional para mostrar imagens dos atores, se especificada no elemento df-messenger-chat-bubble. O padrão é "false".

Exemplo:

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

closeMinChat

Fecha o chat minimizado. Chame-o no elemento df-messenger-chat-bubble para Feche o chat minimizado. Não faz nada se o chat já estiver fechado.

Exemplo:

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