IBM Cloud Docs
Come funziona la chat web

Come funziona la chat web

La chat web fornisce un'interfaccia chatbot facile da usare che è possibile aggiungere al tuo sito Web senza scrivere alcun codice.

Dopo aver aggiunto lo script di chat Web al proprio sito web, i clienti visualizzano un'icona del programma di avvio che possono fare clic per aprire la finestra di chat e avviare una conversazione con l'assistente. L'aspetto dell'icona del programma di avvio si adatta ai browser desktop e mobili.

Quando un cliente clicca sul programma di avvio, si apre la finestra della chat web, che inizialmente mostra la schermata iniziale. La schermata iniziale mostra un messaggio di benvenuto e una serie opzionale di suggerimenti per iniziare una conversazione in caso di domande e problemi comuni. Il cliente può cliccare su un'opzione per avviare una conversazione o digitare un messaggio nel campo di inserimento per iniziare la conversazione con l'assistente.

L'aspetto e il comportamento dell'icona del programma di avvio, la schermata iniziale e la maggior parte degli altri aspetti della chat web possono essere configurati e personalizzati per adattarsi allo stile e al marchio del tuo sito web. Per ulteriori informazioni, consultare Configurazione della chat web.

Aspetto e comportamento del lanciatore

Il programma di avvio della chat web accoglie e coinvolge i clienti in modo che sappiano dove trovare aiuto in caso di necessità. Per impostazione predefinita, il programma di avvio della chat web viene visualizzato come un cerchio. Un esempio del programma di avvio iniziale nell'angolo in basso a destra:

Dopo 15 secondi, il programma di avvio si espande per mostrare un messaggio di saluto all'utente. In questo stato espanso, un cliente può ancora fare clic sul programma di avvio per aprire la chat web. (Se il cliente ricarica la pagina o passa a una pagina diversa prima che il launcher si espanda, il timer di 15 secondi riparte.)

L'aspetto di questo stato espanso varia leggermente a seconda che il cliente utilizzi un browser desktop o un browser mobile:

  • Per i browser desktop, il programma di avvio espanso mostra due pulsanti principali che il cliente può cliccare per aprire la chat web, e un pulsante Chiudi che chiude il programma di avvio.

    Un esempio del programma di avvio desktop

    Il launcher espanso rimane in questo stato anche se il cliente ricarica la pagina o passa a una pagina diversa. Rimane nello stato espanso finché il cliente non lo apre. Il cliente può aprirla cliccando su uno dei due pulsanti principali. Quando il cliente lo chiude, torna alla sua dimensione iniziale per il resto della sessione.

  • Per i browser mobili, il programma di avvio mostra un solo pulsante principale.

    Un esempio di lanciatore mobile

    Il cliente può chiudere il launcher scorrendo sulla pagina, scorrendo verso destra sul launcher espanso o aspettando 10 secondi, dopodiché il launcher espanso si riduce automaticamente allo stato iniziale ridotto. Se l'utente ricarica la pagina o passa a una pagina diversa mentre il launcher è espanso, rimane nello stato espanso e il timer di 10 secondi si riavvia.

Dopo l'aggiornamento della pagina successiva, se il programma di avvio rimane nel suo piccolo stato senza essere cliccato, rimbalza su e giù per attirare l'attenzione del cliente. Il primo rimbalzo avviene 15 secondi dopo l'aggiornamento della pagina; se il cliente ancora non fa clic sul launcher, rimbalza di nuovo 60 secondi dopo. (La tempistica del secondo rimbalzo potrebbe essere influenzata se l'utente aggiorna la pagina o naviga in una pagina diversa.) Se l'utente non fa ancora clic sul programma di avvio, non esegue nuovamente il bounce.

La lingua del testo predefinito visualizzato nel programma di avvio dipende dalla locale configurata per la chat Web. Se si personalizza il testo del messaggio di saluto, il testo fornito viene utilizzato indipendentemente dalle impostazioni della locale.

È possibile configurare il colore dell'utilità di avvio e il testo del messaggio di saluto nelle impostazioni della chat Web. Per ulteriori informazioni, consultare Configurazione della chat web.

Output dell'assistente di rendering

Oltre al testo semplice, watsonx Assistant supporta molti tipi di risposta che possono essere utilizzati per l'output di elementi multimediali e interattivi. La chat web include il supporto integrato per un'ampia gamma di tipi di risposta:

  • Formattazione del testo: la chat Web supporta la formattazione del testo che utilizza Markdown o HTML. Per ulteriori informazioni, consultare FormattazioneMarkdown.
  • URL: gli URL validi (come http://example.com) vengono rappresentati automaticamente come link selezionabili. Quando un cliente fa clic su un link nella chat Web, il sito Web di destinazione viene aperto in una nuova scheda del browser.
  • Opzioni: le risposte delle opzioni (quando l'assistente chiede al cliente di selezionare da una serie di scelte) vengono automaticamente rappresentate come elementi interattivi. (Per impostazione predefinita, una serie di meno di cinque opzioni viene rappresentata come una serie di pulsanti selezionabili; cinque o più opzioni vengono rappresentate come un elenco a discesa.)
  • Date: quando l'assistente chiede al cliente di specificare una data, la chat web mostra un selezionatore di data interattivo. Il cliente può specificare la data facendo clic sul selettore di data o immettendo un valore di data valido nel campo di input.
  • Risposte multimediali: la chat web supporta tutti i tipi di risposta multimediali (audio, image e video).
  • iframe: la chat web supporta il tipo di risposta iframe, che incorpora il contenuto HTML (ad esempio un modulo o una mappa interattiva) direttamente nella finestra di chat web.

Per ulteriori informazioni su come la chat web gestisce tipi di risposta specifici, vedi il Riferimento ai tipi di risposta.

Formattazione ribasso

Nelle risposte di testo dal tuo assistente, puoi utilizzare la formattazione Markdown per applicare l'evidenziazione come il corsivo o per includere elementi come paragrafi e intestazioni. Alcuni esempi comuni di formattazione Markdown sono:

  • Intestazioni:

    # First-level heading
    
    ## Second-level heading
    
  • Evidenziazione:

    This text includes *italic* and **bold** highlighting, as well as a `code` snippet.
    
  • Elenchi:

    1. ordered
    2. list
    
    - bulleted
    - list
    
  • Tabelle:

    | Column 1 | Column 2 |
    |----------|----------|
    | Row      | One      |
    | Row      | Two      |
    
  • Link:

    [This link](https://www.ibm.com/products/watson-assistant/demos/lendyr/demo.html) opens in a new tab.
    
    [This link](https://www.ibm.com/products/watson-assistant/demos/lendyr/demo.html){{target=\"_self\" rel=\"noopener noreferrer\"}} opens in the same tab.
    

Per ulteriori informazioni sul formato Markdown, consultare la specificaCommonMark.

Trasferimento agent attivo

La chat web supporta il trasferimento del cliente a un umano in situazioni che l'assistente non può gestire. Se si configura una delle integrazioni del centro di contatto supportate, la chat web può aprire una finestra di chat separata in cui il cliente può comunicare con un agente dal vivo.

Il tuo assistente può quindi avviare un trasferimento nelle situazioni in cui l'assistente non può gestire le richieste di un cliente. (Per ulteriori informazioni sull'inizializzazione di un trasferimento, vedi Connessione a un agent attivo.)

Per informazioni su come aggiungere un'integrazione del centro di contatto alla chat web, consultare Aggiunta del supporto del centro di contatto.

Dettagli tecnici

La chat web viene mostrata sul tuo sito web da un breve frammento di codice JavaScript, che richiama ulteriore codice JavaScript ospitato da IBM Cloud. Il codice ospitato viene aggiornato automaticamente con nuove funzionalità e correzioni, quindi per impostazione predefinita si ha sempre la versione più recente. (È possibile, facoltativamente, bloccare una versione specifica se si preferisce controllare gli aggiornamenti.)

Il frammento di codice che crea il widget della chat Web include un oggetto di configurazione, che è possibile modificare per modificare l'aspetto e il comportamento della chat Web. L'oggetto di configurazione specifica anche i dettagli che consentono alla chat web di connettersi al tuo assistente. Se stai scrivendo il codice JavaScript, puoi personalizzare la chat web modificando il frammento di codice e utilizzando l'API della chat web.

La chat web utilizza l'API con stato watsonx Assistant v2 per comunicare con l'assistente. Per impostazione predefinita, la sessione termina e la conversazione termina dopo 5 minuti di inattività. Ciò significa che se un utente smette di interagire con l'assistente, dopo 5 minuti, tutti i valori delle variabili di contesto impostati durante la conversazione precedente vengono impostati su null o riportati ai valori iniziali. Puoi modificare l'impostazione di timeout di inattività nelle impostazioni dell'assistente (se consentito dal piano).

Accessibilità

IBM si impegna a fornire prodotti accessibili a tutti, indipendentemente dall'età o dalla capacità.

L'integrazione della chat web è conforme allo standard Accessibilità contenuto Web 2.1 livello AA. È testato con lettori di schermo e strumenti automatizzati su base continua.

Fatturazione

Gli addebiti watsonx Assistant si basano sul numero di MAU (Unique Monthly Active Users).

Per impostazione predefinita, la chat web crea un ID univoco e anonimo la prima volta che un nuovo utente avvia una sessione. Questo identificativo viene memorizzato in un cookie di prima parte, che resta attivo per 45 giorni. Se lo stesso utente ritorna al tuo sito e chatta di nuovo con il tuo assistente mentre questo cookie è ancora attivo, l'integrazione della chat web riconosce l'utente e utilizza lo stesso ID utente. Viene addebitato solo una volta al mese per lo stesso utente anonimo.

Sui dispositivi Apple, la funzione Intelligent Tracking Prevention elimina automaticamente qualsiasi cookie lato client dopo 7 giorni. Se un cliente anonimo accede al tuo sito web e poi visita di nuovo due settimane dopo, le due visite vengono trattate come due diverse MAU. Per informazioni su come prevenire questo problema, vedi Gestione delle informazioni sull'identità utente nella chat web.

Per informazioni su come personalizzare la gestione delle informazioni di identità utente per scopi di fatturazione, vedi Gestione delle informazioni di identità utente nella chat web.

L'utilizzo viene misurato in maniera diversa a seconda del tipo di piano. Per i piani Lite, l'utilizzo è misurato dal numero di chiamate /message (API) inviate all'assistente dall'integrazione della chat web. Per tutti gli altri piani, l'utilizzo viene misurato in base al numero di MAU (utenti attivi mensili) con cui interagisce la chat web. Il numero massimo di MAU consentite differisce a seconda del tuo tipo di piano watsonx Assistant.

Dettagli del piano
Piano Massimo utilizzo
Enterprise MAU illimitato
Premium (legacy) MAU illimitato
Plus MAU illimitato
Versione di prova 5.000 MAU
Lite 10.000 API (circa 1.000 MAU)

Supporto browser

La chat web supporta vari dispositivi e piattaforme. In genere, se le ultime due versioni di un browser rappresentano più dell ' 1% di tutto il traffico desktop o mobile, la chat web supporta tale browser.

Il seguente elenco specifica il software browser minimo richiesto per la chat web (incluse le due versioni più recenti, tranne come indicato):

  • Apple Safari
  • Apple Safari Mobile
  • Google Chrome
  • Google Chrome per Android
  • Microsoft Edge (Chromium e non - Chromium)
  • Mozilla Firefox
  • Mozilla Firefox ESR (solo ESR più recenti)
  • Mozilla Firefox Mobile
  • Opera
  • Mobile Browser Samsung
  • UC Browser per Android

Per ottenere risultati ottimali nel rendering della chat web sui dispositivi mobili, l'elemento <head> della pagina web deve includere il seguente elemento metadati:

<meta name="viewport" content="width=device-width, initial-scale=1" />

Cookie e GDPR

La chat Web memorizza un ID per identificare la sessione corrente per la lunghezza in cui il browser è aperto. Ciò consente alla chat web di mantenere aperta la sessione mentre gli utenti navigano nella pagina. Una volta che un utente chiude il browser, le informazioni vengono rimosse.

  • Se si fornisce una chat web con un userID, i soli dati o cookie memorizzati nel browser provengono dalla sessione corrente. Questo userID può essere usato per cancellare i dati dell'utente su richiesta, poiché viene passato anche come porzione customer_id dell'intestazione HTTP Watson, motivo per cui la sintassi dell' userID deve soddisfare i requisiti per i campi dell'intestazione definiti in RFC 7230 (tutti i caratteri ASCII visibili). Ulteriori informazioni sulla rimozione dei dati utente in Protezione del tuo assistente.

  • Se non riesci a fornire una chat web con un unico userID, aggiungiamo un cookie di prima parte con un ID anonimo generato. Il cookie rimane attivo per 45 giorni per assicurarci di contare un utente una volta, anche con visite multiple nello stesso mese, e non inquinare le metriche di fatturazione.

Web chat mantiene l'analisi su quali funzioni vengono utilizzate in modo da poter migliorare continuamente l'esperienza utente. Nessuno dei dati raccolti identifica un utente finale per IBMe gli utenti non vengono tracciati su siti Web differenti. Prendiamo nota solo del comportamento all'interno della chat web.

Supporto linguistico

Per impostazione predefinita, la chat web visualizza etichette e messaggi codificati in inglese, ma il supporto è integrato per tutte le lingue supportate da watsonx Assistant. È inoltre possibile scegliere tra una vasta selezione di locale per personalizzare la visualizzazione di stringhe come date e ore per il pubblico globale.

In qualsiasi lingua si stia utilizzando, è anche possibile personalizzare il testo di qualsiasi stringa codificata.

Per ulteriori informazioni, consultare Supporting global audience in web chat.

Sicurezza

Per impostazione predefinita, tutti i messaggi inviati tra la chat web e l'assistente sono crittografati con TLS (Transport Layer Security). È possibile abilitare la funzione di sicurezza della chat Web se si ha bisogno di una protezione più robusta.

Lo script di integrazione della chat web che includi sul tuo sito web contiene identificativi univoci (come l'ID integrazione e l'ID istanza del servizio) che consentono alla chat web di connettersi con il tuo assistente. Questi identificatori non sono considerati segreti e sono visibili a tutti coloro che hanno accesso al tuo sito web. Chiunque abbia questi ID può utilizzarli per inviare messaggi al tuo assistente e ricevere le sue risposte. Tuttavia, questi ID non possono essere utilizzati per accedere al tuo account, apportare modifiche al tuo assistente o recuperare i log o le informazioni di analisi sul tuo assistente.

Se sei preoccupato per l'accesso non autorizzato al tuo assistente, puoi abilitare la funzione di sicurezza della chat web per una sicurezza aggiuntiva, come la verifica dell'origine del messaggio e l'autenticazione degli utenti. L'abilitazione della funzione di sicurezza richiede un ulteriore lavoro di sviluppo sul proprio sito Web. Per ulteriori informazioni, consultare Sicurezza della chat Web.

Aggiornamento delle politiche di sicurezza del sito

Se il sito Web utilizza una CSP (Content Security Policy), è necessario aggiornarla per concedere l'autorizzazione alla chat Web.

Tabella. Proprietà CSP elenca i valori da aggiungere al proprio CSP.

Proprietà CSP
Proprietà Valori
default-src 'self' *.watson.appdomain.cloud 'non sicuro in linea'
connect-src *.watson.appdomain.cloud

Per default - src, se si dispone di un font-src separato, è necessario aggiungere *.watson.appdomain.cloud insieme a font-src.

Il seguente esempio mostra una tag di metadati CSP completa:

<meta
  http-equiv="Content-Security-Policy"
  content="default-src 'self' *.watson.appdomain.cloud fonts.gstatic.com 'unsafe-inline';connect-src *.watson.appdomain.cloud" />
Elementi di autorizzazione

Se il proprio CSP utilizza un nonce per aggiungere elementi come tag <script> e <style> a un allowlist, non utilizzare unsafe-inline per consentire tutti questi elementi. Fornire invece un valore nonce al widget della chat web come opzione di configurazione. La chat web imposta il nonce su uno qualsiasi degli elementi <script> e <style> che genera dinamicamente.

Un CSP che passa un nonce al widget di chat web potrebbe essere simile al seguente:

<meta
  http-equiv="Content-Security-Policy"
  content="default-src 'self' *.watson.appdomain.cloud fonts.gstatic.com 'nonce-<server generated value>';connect-src *.watson.appdomain.cloud"
>

È possibile passare il nonce alla chat web modificando lo script di incorporazione nel modo seguente:

window.watsonAssistantChatOptions = {
  integrationID: "YOUR_INTEGRATION_ID",
  region: "YOUR_REGION",
  serviceInstanceID: "YOUR_SERVICE_INSTANCE",

  cspNonce: "<server generated value>",

  onLoad: function(instance) {
    instance.render();
  }
};

Accesso agli host di chat Web

Se il sistema che ospita il sito Web ha un accesso a Internet limitato (ad esempio, se si utilizza un proxy o un firewall), assicurarsi che i seguenti URL siano accessibili:

  • https://web-chat.global.assistant.watson.appdomain.cloud: ospita il codice per il widget della chat Web ed è indicato dallo script che si integra nel sito web.
  • https://integrations.{location}.assistant.watson.appdomain.cloud: ospita il server di chat web, che gestisce la comunicazione con il tuo assistente. Sostituire {location} con la posizione del centro dati in cui si trova l'istanza del servizio, che fa parte dell' URL dell'endpoint del servizio. Per ulteriori informazioni, vedere Individuazione e aggiornamento dell' URL dell'endpoint.

Revisione della sicurezza

L'integrazione della chat web viene sottoposta regolarmente a test e scansioni per individuare e risolvere potenziali problemi di sicurezza, come le vulnerabilità XSS (cross - site scripting).

Assicurati di eseguire le tue revisioni di sicurezza per vedere come la chat web si adatta alla struttura e alle politiche del tuo sito web corrente. La chat web è ospitata sul tuo sito e può ereditare qualsiasi vulnerabilità del tuo sito. Servite i contenuti tramite HTTPS, utilizzate una Content Security Policy (CSP) e implementate altre precauzioni di base per la sicurezza web.

Copia dello stato della sessione

L'integrazione della chat web memorizza lo stato della sessione corrente come cache nel browser web dell'utente. Quando l'utente invia una query all'assistente, l'assistente risponde insieme a una copia dello stato corrente della sessione. Quando la sessione dell'assistente scade nel server a causa del timeout di inattività, la chat web crea una nuova sessione e copia lo stato della sessione precedente nella nuova sessione. Pertanto, gli utenti ottengono una conversazione senza soluzione di continuità dall'utente se la sessione scade mentre l'utente si trova nel mezzo di una conversazione. Questo stato viene conservato solo finché l'utente mantiene aperta la scheda del browser con la chat web. Se l'utente ricarica la pagina, lascia la pagina o chiude la scheda, questo stato della sessione viene perso e verrà visualizzata una nuova sessione con un nuovo stato alla successiva apertura della chat Web. Quando la sessione sul server scade, all'utente viene visualizzato un avviso che indica che dovrà inviare un messaggio per continuare la conversazione.

Lo stato della sessione memorizzato dalla chat Web non include alcuna variabile privata. Queste variabili sono memorizzate solo nel server. Quando un assistente copia il vecchio stato della sessione dal server in una nuova sessione, avviata dopo la scadenza della vecchia sessione del server, tutte le variabili private impostate dalla vecchia sessione vengono perse.