Puoi creare listener di eventi per una serie di eventi attivati da Dialogflow CX Messenger. Per saperne di più, consulta Listener di eventi.
Alcuni eventi hanno un campo oggetto detail, che fornisce ulteriori informazioni sull'evento.
df-messenger-loaded
Si verifica quando la finestra di dialogo dell'agente viene caricata per la prima volta.
Proprietà dei dettagli:
- nessuno
Ad esempio:
window.addEventListener('df-messenger-loaded', () => {
// Messenger is now ready.
});
df-chat-open-changed
Si verifica quando apri o chiudi la chat.
Proprietà dei dettagli:
isOpen(boolean): nuovo stato della chat
Ad esempio:
window.addEventListener('df-chat-open-changed', (event) => {
console.log(`Chat is ${event.detail.isOpen ? 'open' : 'closed'}`);
});
df-user-input-entered
Si verifica quando inserisci del testo nella chat.
Proprietà dei dettagli:
input(string): valore inserito dall'utente
Ad esempio:
window.addEventListener('df-user-input-entered', (event) => {
console.log(event.detail.input);
});
df-request-sent
Si verifica quando invii una richiesta al backend di Dialogflow CX.
Proprietà dei dettagli:
data(object): container di datidata.requestBody(object): richiesta inviata
Ad esempio:
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
Si verifica quando viene ricevuta una risposta dalla finestra di dialogo dell'agente.
Proprietà dei dettagli:
data(object): container di datidata.messages(object[]): elenco di messaggi di risposta analizzatiraw(object): risposta letterale ricevuta
Ad esempio:
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
Si verifica quando una richiesta al backend non va a buon fine.
Proprietà dei dettagli:
error(object): errore che si è verificato
Ad esempio:
window.addEventListener('df-messenger-error', (event) => {
console.log(event.detail.error);
});
df-session-expired
Si verifica quando la sessione con l'agente scade.
Proprietà dei dettagli:
- nessuno
Ad esempio:
window.addEventListener('df-session-expired', () => {
const messenger = document.querySelector('df-messenger');
messenger.renderCustomText(`*Session expired*`, /* isBot= */ true);
messenger.startNewSession({ retainHistory: true });
});
df-session-ended
Si verifica al termine della sessione.
Proprietà dei dettagli:
- nessuno
Ad esempio:
window.addEventListener('df-session-ended', () => {
const messenger = document.querySelector('df-messenger');
messenger.renderCustomText(`*Session ended*`, /* isBot= */ true);
messenger.startNewSession({ retainHistory: true });
});
df-url-suggested
Si verifica quando vengono forniti gli URL delle risorse suggerite.
Proprietà dei dettagli:
suggestedUrls(string[]): elenco di URL suggeriti
Ad esempio:
window.addEventListener('df-url-suggested', (event) => {
if (event.detail.suggestedUrls.length === 1) {
window.location.href = event.detail.suggestedUrls[0];
}
});
df-accordion-clicked
Si verifica quando fai clic su una sezione di un menu a fisarmonica.
Proprietà dei dettagli:
actionLink(string): href anchor della fisarmonica, se specificato
df-button-clicked
Si verifica quando fai clic su un pulsante.
Proprietà dei dettagli:
actionLink(string): l'anchor href del pulsante selezionato, se specificatoevent(string): evento del pulsante selezionato, se specificatolanguageCode(string): codice lingua dell'evento, se specificato, altrimenti il codice lingua principaletext(string): testo del pulsante su cui è stato fatto clic
window.addEventListener('df-button-clicked', (event) => {
event.preventDefault(); // Messenger won't send the "event" request.
// Handle "event" yourself.
});
df-chip-clicked
Si verifica quando fai clic su un chip.
Proprietà dei dettagli:
actionLink(string): l'ancoraggio href del chip selezionato, se specificatotext(string): testo del chip selezionato
df-citation-clicked
Si verifica quando fai clic su una citazione.
Proprietà dei dettagli:
actionLink(string): l'attributo href dell'ancora della citazionetitle(string): titolo della citazione
df-info-card-clicked
Si verifica quando fai clic su una scheda informativa.
Proprietà dei dettagli:
actionLink(string): anchor href della scheda informativatitle(string): titolo della scheda informativa
df-list-element-clicked
Si verifica quando fai clic su un elemento dell'elenco.
Proprietà dei dettagli:
actionLink(string): href di ancoraggio dell'elemento dell'elenco, se specificatoevent(string): evento dell'elemento dell'elenco selezionato, se specificatolanguageCode(string): codice lingua dell'evento, se specificato, altrimenti il codice lingua principaletitle(string): titolo dell'elemento dell'elenco
window.addEventListener('df-list-element-clicked', (event) => {
event.preventDefault(); // Messenger won't send the "event" request.
// Handle "event" yourself.
});
df-image-clicked
Si verifica quando fai clic su un'immagine.
Proprietà dei dettagli:
actionLink(string): href anchor dell'immagine, se specificato