O Dialogflow CX Messenger aciona uma variedade de eventos para os quais você pode criar
listeners de eventos
para.
Alguns eventos têm um campo de objeto detail, que fornece mais informações sobre o evento.
df-messenger-loaded
A caixa de diálogo do agente é carregada primeiro.
Propriedades de detalhes:
- nenhum
Exemplo:
window.addEventListener('df-messenger-loaded', () => {
// Messenger is now ready.
});
df-chat-open-changed
O chat é aberto ou fechado.
Propriedades de detalhes:
isOpen(boolean): novo estado do chat
Exemplo:
window.addEventListener('df-chat-open-changed', (event) => {
console.log(`Chat is ${event.detail.isOpen ? 'open' : 'closed'}`);
});
df-user-input-entered
O usuário inseriu texto.
Propriedades de detalhes:
input(string): valor inserido pelo usuário
Exemplo:
window.addEventListener('df-user-input-entered', (event) => {
console.log(event.detail.input);
});
df-request-sent
Uma solicitação enviada para o back-end do Dialogflow CX.
Propriedades de detalhes:
data(object): contêiner de dadosdata.requestBody(object): solicitação enviada
Exemplo:
window.addEventListener('df-request-sent', (event) => {
console.log('Request', event.detail.data.requestBody);
});
window.addEventListener('df-request-sent', (event) => {
event.preventDefault(); // Messenger won't send the request.
// Send request yourself.
});
df-response-received
Uma resposta chegou à caixa de diálogo do agente.
Propriedades de detalhes:
data(object): contêiner de dadosdata.messages(object[]): lista de mensagens de resposta analisadasraw(object): resposta verbatim recebida
Exemplo:
window.addEventListener('df-response-received', (event) => {
// Remove all non-text messages.
event.detail.data.messages = event.detail.data.messages.filter(message => {
return message.type === 'text';
});
});
window.addEventListener('df-response-received', (event) => {
event.preventDefault(); // Messenger won't handle the response.
const messenger = document.querySelector('df-messenger');
event.detail.data.messages.forEach(message => {
if (message.type === 'text') {
messenger.renderCustomText(message.text);
}
});
});
df-messenger-error
Uma solicitação para o back-end falha.
Propriedades de detalhes:
error(object): erro ocorrido
Exemplo:
window.addEventListener('df-messenger-error', (event) => {
console.log(event.detail.error);
});
df-session-expired
A sessão com o agente expirou.
Propriedades de detalhes:
- nenhum
Exemplo:
window.addEventListener('df-session-expired', () => {
const messenger = document.querySelector('df-messenger');
messenger.renderCustomText(`*Session expired*`, /* isBot= */ true);
messenger.startNewSession({ retainHistory: true });
});
df-session-ended
A sessão terminou.
Propriedades de detalhes:
- nenhum
Exemplo:
window.addEventListener('df-session-ended', () => {
const messenger = document.querySelector('df-messenger');
messenger.renderCustomText(`*Session ended*`, /* isBot= */ true);
messenger.startNewSession({ retainHistory: true });
});
df-url-suggested
URLs de recursos sugeridos.
Propriedades de detalhes:
suggestedUrls(string[]): lista de URLs sugeridas
Exemplo:
window.addEventListener('df-url-suggested', (event) => {
if (event.detail.suggestedUrls.length === 1) {
window.location.href = event.detail.suggestedUrls[0];
}
});
df-accordion-clicked
O usuário clicou no acordeão.
Propriedades de detalhes:
- nenhum
df-button-clicked
O usuário clicou em um botão.
Propriedades de detalhes:
actionLink(string): href da âncora do botão clicado, se especificadoevent(string): evento do botão clicado, se especificadolanguageCode(string): código do idioma do evento, se especificado. Caso contrário, o código do idioma principaltext(string): texto do botão clicado
window.addEventListener('df-button-clicked', (event) => {
event.preventDefault(); // Messenger won't send the "event" request.
// Handle "event" yourself.
});
df-chip-clicked
O usuário clicou em um chip.
Propriedades de detalhes:
actionLink(string): href da âncora do chip clicado, se especificadotext(string): texto do chip clicado
df-citation-clicked
O usuário clicou em uma citação.
Propriedades de detalhes:
actionLink(string): href da âncora da citaçãotitle(string): título da citação
df-info-card-clicked
O usuário clicou em um cartão de informações.
Propriedades de detalhes:
actionLink(string): href da âncora do cartão de informaçõestitle(string): título do cartão de informações
df-list-element-clicked
O usuário clicou em um elemento da lista.
Propriedades de detalhes:
actionLink(string): href da âncora do elemento da lista, se especificadoevent(string): evento do elemento da lista clicado, se especificadolanguageCode(string): código do idioma do evento, se especificado. Caso contrário, o código do idioma principaltitle(string): título do elemento da lista
window.addEventListener('df-list-element-clicked', (event) => {
event.preventDefault(); // Messenger won't send the "event" request.
// Handle "event" yourself.
});
df-image-clicked
O usuário clicou em uma imagem.
Propriedades de detalhes:
actionLink(string): href da âncora da imagem, se especificado