Documentazione

Widget chat web

Widget chat integrabile in qualsiasi sito con un unico script JS: Shadow DOM, nessun cookie, 8 lingue, protezioni anti-abuso attive di default.

Il widget chat è uno script JS che integri nel tuo sito web (marketing, supporto, app). Apre una finestra di conversazione alimentata da una delle tue pipeline betool; le risposte dell'agent vengono visualizzate man mano (streaming).

Funzionalità

  • Uno snippet da incollare nella tua pagina. Nessuna dipendenza npm; il widget vive in uno Shadow DOM, quindi il CSS del tuo sito non lo deforma (e viceversa).
  • Token pubblico — rigenerabile in qualsiasi momento dall'editor. Nessun segreto lato client.
  • Continuità per scheda — l'identificativo della conversazione è conservato in sessionStorage: un ricaricamento della pagina riprende il filo, chiudere la scheda lo termina. Il widget non deposita alcun cookie.
  • 8 lingue — l'interfaccia del widget segue la lingua del browser del visitatore.
  • Protezioni anti-abuso attive per impostazione predefinita — 20 messaggi al minuto per IP, 10 nuove sessioni al minuto per IP, massimo 4.000 caratteri per messaggio (regolabili; 0 disattiva una protezione). Un limite globale per widget (20 volte il limite per IP) blocca anche le inondazioni distribuite su più IP.

Configurazione

  1. Nell'editor del modello, configura il nodo Start con un ricevitore Chat (widget web).
  2. Al salvataggio, betool genera il token pubblico e mostra lo snippet di integrazione, pronto da copiare:
<script src="https://platform.betool.ai/widget/v1/widget.js"></script>
<script>
  BetoolChat.init({ token: "<token-public-du-widget>" });
</script>
  1. Incolla questo snippet nel tag <body> del tuo sito. Il widget appare automaticamente, nell'angolo in basso a destra per impostazione predefinita.

Personalizzazione

Dalla configurazione del ricevitore:

  • Aspetto — titolo visualizzato, colore primario, posizione (quattro angoli), forma del launcher (linguetta o bolla) e relativa etichetta.
  • Testi — messaggio di benvenuto, testo del campo di inserimento, testo di stato (o indicazione « online » tradotta).
  • Rendering — visualizzazione del markdown delle risposte (attiva per impostazione predefinita).
  • Contesto di pagina — trasmette a ogni messaggio l'origine e il percorso della pagina corrente (mai la query string). Attivo per impostazione predefinita, disattivabile.
  • Ambito — limita le origini autorizzate.

Sicurezza

Il token è pubblico per progettazione: permette soltanto di parlare con il modello che porta questo ricevitore. Se elenchi delle Origini autorizzate, una richiesta proveniente da un'altra origine viene rifiutata lato server (403); un elenco vuoto (o *) non impone alcuna restrizione — da riservare allo sviluppo. Per revocare un token compromesso: pulsante rigenera accanto all'URL pubblico, nella configurazione del ricevitore (tutti gli snippet già in produzione smettono allora di funzionare).

Limitazioni

  • Nessun co-browsing: l'agent non vede la pagina dell'utente, solo la sua origine e il suo percorso (se il contesto di pagina è attivo).
  • Nessun invio di allegati dal widget. Per ricevere file, usa una pipeline email o webhook.
  • Nessuna ripresa della conversazione da una visita all'altra: chiudere la scheda termina il filo.