Chatta con i visitatori con WebBlocks Live Chat

Rispondi ai visitatori dal CMS in cui il tuo team lavora già. WebBlocks Live Chat aggiunge un widget pubblico e una posta in arrivo per operatori circoscritta al sito. I visitatori iniziano una conversazione sul sito; gli operatori CMS autorizzati leggono e rispondono nel pannello. La conversazione è ospitata dalla tua installazione, senza account separato per una chat esterna o servizio WebSocket.

L'esempio è Northstar Studio. Ada chiede informazioni su un workshop, un operatore risponde e Ada aggiunge dettagli. Distinguerai i messaggi non letti dalle conversazioni senza risposta, cercherai nella cronologia, chiuderai e riaprirai un thread, quindi configurerai la ricezione offline e verificherai la notifica all'operatore per il messaggio di Robin.

Questa guida usa l'archivio pubblicato Live Chat 0.7.2 su WebBlocks CMS 1.106.2, con interfaccia inglese, tema chiaro e persone, messaggi e indirizzi fittizi. Le schermate provengono da un ambiente dimostrativo temporaneo. I badge laterali e le email offline agli operatori sono stati verificati tramite il normale flusso del plugin installato. Il ricevitore SMTP locale ha accettato le email di prova senza inoltrarle all'esterno. La pianificazione in produzione e la consegna a caselle reali non sono state provate.

Per il contratto del pacchetto e dell'API consulta il riferimento Live Chat. Per l'installazione parti dal Sistema di plugin. Live Chat gestisce le conversazioni con i visitatori; la guida Support collega invece gli utenti CMS al fornitore di assistenza dell'installazione.

Prima di iniziare

Per installare plugin usa un sito di prova e un account Super admin. Il pacchetto pubblicato richiede PHP >=8.4 e CMS ^1.106.2; il catalogo indica Laravel ^13.0. Questa versione minima del CMS avvia i canali di notifica e i componenti del pannello dei plugin installati nelle normali richieste, anche su host con rotte in cache. Verifica la compatibilità del tuo host prima di scaricare il pacchetto dal catalogo ufficiale dei plugin.

Prepara una pagina raggiungibile dai visitatori e un account operatore con accesso al suo sito. La pagina fittizia è Talk to Northstar Studio, all'indirizzo /studio-help. Titoli e schede sono normali blocchi CMS: non viene inserito un blocco Live Chat. Il plugin attivo fornisce il pulsante di apertura nelle pagine pubbliche del sito selezionato.

Decidi chi risponderà e che cosa devono promettere i testi online e offline. La disponibilità è un'impostazione manuale di ricezione: non rileva la presenza degli operatori e non garantisce una risposta immediata. Le normali risposte appaiono nel widget. In questa versione le email di risposta ai visitatori sono disattivate, anche quando viene indicato un indirizzo.

1. Installa e attiva Live Chat

  1. Apri System → Plugins come Super admin.
  2. Seleziona Browse Plugin Catalog e cerca WebBlocks Live Chat.
  3. Esamina versione, esito di compatibilità e note di rilascio.
  4. Usa Install from Catalog, apri i dettagli dell'installazione e seleziona Enable Plugin.
  5. Se l'amministratore fornisce l'archivio pubblicato attendibile, sceglilo in Plugin ZIP, premi Upload Plugin ZIP, esamina il pacchetto installato e attivalo.

L'esempio usa lo ZIP ufficiale pubblicato. Un plugin appena installato è inizialmente disattivato.

Schermata Plugins con Live Chat 0.7.2 installato ma disattivato accanto al modulo ZIP

L'installazione e l'attivazione correnti del CMS applicano le modifiche del database del plugin. Controlla nei dettagli la versione prevista, lo stato Enabled e l'archiviazione pronta. Risolvi gli avvisi di migrazione o compatibilità prima di raccogliere messaggi. Un avviso sui livelli sovrapposti di un host precedente non è puramente estetico: aggiorna a un host compatibile prima di distribuire questa versione.

Dettagli Live Chat con versione 0.7.2, stato Enabled, archiviazione Healthy e Open Settings

Apri Open Settings oppure usa Live Chat → Live Chat Settings nella navigazione. Il titolo delle impostazioni identifica il sito scelto. In un'installazione multisito, seleziona quello corretto prima di modificare impostazioni o aprire la posta in arrivo.

2. Assegna i permessi agli operatori

Live Chat separa lettura, risposta e configurazione:

Permesso Azioni consentite Utente tipico
webblocks-live-chat.view Leggere le conversazioni del sito scelto e vedere gli avvisi autorizzati nel pannello. Operatore che deve consultare la posta in arrivo.
webblocks-live-chat.reply Inviare risposte dell'operatore, chiudere e riaprire conversazioni. Operatore responsabile delle risposte.
webblocks-live-chat.manage Configurare widget e disponibilità di un sito accessibile. Persona che gestisce la configurazione della chat.

Concedi lettura e risposta agli operatori che rispondono. Chi gestisce le impostazioni necessita anche della lettura se lavora nella posta in arrivo. L'accesso al sito costituisce un ulteriore limite: i permessi del plugin non aprono le conversazioni di tutti i siti. Consulta Ruoli e permessi prima di cambiare un ruolo condiviso.

Diversamente dall'elenco Support specifico del richiedente, Live Chat è una posta in arrivo per gli operatori del sito. Gli operatori autorizzati possono gestire le conversazioni dei suoi visitatori. Ricorda questa distinzione quando concedi accesso a conversazioni che possono contenere dati personali.

3. Attiva il widget pubblico

In Live Chat Settings → General settings, imposta:

Controllo Esempio Northstar Significato
Enable the public chat widget Attivo Rende disponibile il pulsante pubblico di apertura.
Availability Online Usa i testi di ricezione online; non misura la presenza del personale.
Widget position Right Posiziona il pulsante a destra della finestra. È disponibile anche Left.
Require email when offline Attivo Richiede l'email nelle nuove conversazioni con disponibilità Offline.
Notify operators of offline messages Inizialmente disattivato Mantiene separata l'email mentre controlli la chat.

Seleziona Save settings nella scheda generale. Attivare il plugin e attivare il widget pubblico di un sito sono operazioni separate.

Impostazioni generali con widget pubblico attivo, disponibilità Online, posizione a destra ed email obbligatoria offline

La pagina mostra anche la politica di notifica ereditata dal sito e lo stato registrato dello scheduler. Riguardano la consegna email, non la possibilità di iniziare una conversazione online. Configureremo l'email dopo aver verificato i messaggi in entrambe le direzioni.

4. Scrivi i testi delle lingue del widget

Scorri fino a Language texts. Ogni lingua attiva del sito ha una scheda. Per l'inglese inserisci:

Campo Esempio
Widget title Ask Northstar Studio
Online welcome message Tell us what you are planning. Our team will reply here.
Offline message We are away. Leave your message and email so our team can follow up here.
Button label Chat with Northstar

Seleziona Save language texts in questa scheda. Il modulo è separato da General settings: salvare i testi conserva le opzioni generali, mentre salvare le opzioni conserva i testi. Verifica il messaggio di successo del modulo effettivamente salvato.

Scheda inglese Language texts con titolo Northstar, messaggi online e offline ed etichetta di apertura

Ripeti per le altre lingue attive quando necessario. Il testo mancante ricade prima sulla lingua predefinita, poi sui testi precedenti. Titoli ed etichette ammettono fino a 120 caratteri; messaggi localizzati di benvenuto e offline fino a 500 caratteri. Se manca una lingua, attivala prima seguendo Aggiungere una lingua a un sito.

Prometti il canale che offri davvero. «Rispondiamo qui» è appropriato per questa versione; «Invieremo la risposta via email» descriverebbe in modo errato la consegna al visitatore.

5. Controlla il pulsante pubblico di apertura

Apri una pagina pubblicata del sito configurato. Nell'esempio, Northstar mostra Chat with Northstar in basso a destra. Il pannello resta chiuso finché il visitatore non seleziona il pulsante.

Pagina pubblica Northstar Studio con il pulsante Chat with Northstar in basso a destra

Il widget è fornito dalle risorse pubbliche del plugin. Non aggiungi script esterni, account di chat ospitata o blocchi chat a ogni pagina. Se manca il pulsante, verifica attivazione, sito selezionato, abilitazione del widget e caricamento delle risorse CMS supportate nel layout pubblico.

Prova in una sessione visitatore appropriata. Live Chat applica limiti distinti all'avvio delle conversazioni, all'invio e alle richieste di aggiornamento. Le normali richieste di notifica non consumano la quota di avvio. Se compare Too Many Attempts, interrompi gli invii ripetuti, attendi la scadenza della finestra normale e riprova una volta.

6. Avvia una conversazione come visitatore

Seleziona il pulsante. Il pannello mostra titolo e benvenuto salvati. Nell'esempio online, scrivi Ada in Your name, lascia vuoto Email (optional) e descrivi la richiesta in How can we help?.

Hello! We are planning a small brand workshop.
Do you have space next month?
Modulo online con Ada e una domanda sul workshop, lasciando vuota l'email facoltativa

Seleziona Start conversation. Il primo messaggio appare nella conversazione e il modulo diventa un campo messaggio con Send.

Widget del visitatore con la domanda di Ada inviata e il campo per un messaggio successivo

I nomi ammettono fino a 100 caratteri, gli indirizzi email fino a 255 e i messaggi dei visitatori fino a 4 000. Scrivi un primo messaggio breve e utile, evitando informazioni riservate estranee all'assistenza. Fornire un indirizzo non abilita email di risposta al visitatore.

Il browser conserva una credenziale privata per continuare il thread. Non è un accesso operatore. Non copiarla in schermate, URL condivisi con colleghi o note diagnostiche. Cancellare la memoria del browser, cambiare profilo o origine può far perdere l'accesso al thread; qui il plugin non offre un recupero tramite email.

7. Trova la conversazione nella posta dell'operatore

Apri Live Chat nel CMS e verifica il sito sotto il titolo. La posta in arrivo mostra stato del widget, disponibilità manuale e viste con contatori:

Vista Contenuto
Open conversations Thread attivi a cui gli operatori possono rispondere.
Awaiting reply Thread aperti il cui ultimo messaggio è del visitatore, anche se già letto.
Unread conversations Thread aperti con messaggi del visitatore non letti.
Closed conversations Thread terminati conservati per consultazione.

Ada compare inizialmente con 1 unread e Awaiting reply. L'elenco mostra l'ultimo messaggio e offre View conversation.

Posta Live Chat con il nuovo messaggio di Ada, una conversazione non letta e una in attesa di risposta

L'ordine predefinito delle conversazioni aperte dà priorità a quelle in attesa di risposta, partendo dalla data più vecchia dell'ultimo messaggio. Puoi scegliere anche Latest message first o Oldest message first. La vista chiusa parte per impostazione predefinita dal più recente. Scegli l'ordine adatto al tuo processo, senza considerare la prima riga una decisione automatica di priorità.

8. Leggi il messaggio senza confonderlo con una risposta

Apri il nome di Ada o View conversation. I messaggi del visitatore sono a sinistra e quelli dell'operatore a destra, con separatori dei giorni e orari nel fuso del sito.

Conversazione dell'operatore con messaggio di Ada, campo Reply vuoto e azione Close conversation

Leggere in fondo a una conversazione visibile contrassegna i messaggi come letti. Torna alla posta prima di rispondere: Unread conversations è a zero, ma Awaiting reply rimane a uno. Aprire la conversazione non ha risposto ad Ada.

Posta in arrivo con zero conversazioni non lette mentre Ada attende ancora una risposta

Durante la lettura dei messaggi precedenti, un nuovo arrivo non forza lo scorrimento in fondo. New messages riporta agli ultimi messaggi. Posta e conversazioni si aggiornano ogni cinque secondi quando visibili; le schede in secondo piano sospendono le richieste e controllano di nuovo tornando visibili. Sono aggiornamenti tramite polling, non una connessione WebSocket o una garanzia di consegna istantanea.

9. Invia una risposta dell'operatore

Apri il thread di Ada, inserisci la risposta in Reply e seleziona Send reply:

Hi Ada! We can discuss a workshop for next month.
How many people would join, and what would you like to work on?
Campo Reply dell'operatore con una domanda su partecipanti e obiettivi del workshop

Controlla Reply sent. e il messaggio dell'operatore. Torna al widget e verifica che la risposta sia visibile al visitatore. Lo scambio locale reale mostra quel messaggio da entrambi i lati.

Widget del visitatore con la risposta dell'operatore sotto la domanda iniziale di Ada

La nota sotto il modulo è intenzionale: Replies appear in the chat widget. No reply email is sent. Chiedi ai visitatori di mantenere disponibile lo stesso browser o tornarvi. Una risposta salvata non dimostra una consegna via email.

10. Conserva le bozze e continua nello stesso thread

Ada prepara un messaggio successivo:

There will be six of us.
We would like to clarify our brand direction.

Chiudi il widget con Close chat, poi riaprilo dal pulsante. La bozza non inviata resta nel campo del messaggio. Chiudere il pannello è diverso dalla chiusura della conversazione da parte dell'operatore.

Pannello del visitatore riaperto con la bozza di Ada conservata

Seleziona Send quando sei pronto. Il thread torna in attesa di risposta perché l'ultimo messaggio ora è del visitatore. Mantieni insieme i messaggi correlati: una nuova domanda non richiede un'altra conversazione se il tema è ancora aperto.

Gli operatori autorizzati ricevono un badge di conversazioni non lette sul collegamento laterale Live Chat e sul relativo gruppo compresso. Un nuovo messaggio può mostrare anche un avviso generico nel pannello con View unread conversations, mentre lavori altrove nel CMS. L'avviso non contiene nome, indirizzo email o testo del visitatore.

Dashboard CMS con una conversazione Live Chat non letta nel gruppo laterale compresso

La prima istantanea delle notifiche stabilisce lo stato corrente: non ripropone vecchi arrivi come nuovi toast. La conversazione aperta, una scheda nascosta o un'altra scheda del pannello influenzano il momento in cui appare il toast. Badge e avvisi non segnano messaggi come letti e non rispondono. Sono notifiche interne, separate da permessi del sistema operativo ed email; usa le viste dei non letti e delle attese per gestire il lavoro effettivo.

11. Cerca nella cronologia e gestisci la coda

Nella posta in arrivo cerca workshop e seleziona Filter. La conversazione di Ada corrisponde a un messaggio precedente anche se l'anteprima dell'ultimo descrive ormai sei partecipanti e l'orientamento del marchio.

Ricerca di workshop che trova un messaggio precedente di Ada mostrando l'anteprima del seguito più recente

La ricerca comprende nomi, email e cronologia nel sito e nella vista scelti. La riga continua a mostrare l'ultimo messaggio anziché sostituirlo con il risultato storico. I contatori della vista riguardano il sito indipendentemente dalla ricerca. Clear torna alla vista aperta e all'ordine predefiniti del sito.

Usa Awaiting reply per il lavoro senza risposta e Unread per i messaggi ancora da leggere. Nessuna vista sostituisce un processo concordato sui tempi di risposta. Un collega che apre un thread può cambiarne lo stato di lettura senza risolvere la domanda.

12. Chiudi una conversazione conclusa

Quando la conversazione è terminata, aprila e seleziona Close conversation. L'operatore vede Closed e l'azione Reopen conversation al posto del normale modulo di risposta.

Conversazione chiusa dell'operatore con messaggio di successo e Reopen conversation

Il widget mostra This conversation is closed., disattiva le risposte e offre Start a new conversation.

Widget dopo la chiusura con risposte disattivate e Start a new conversation

Avviare una nuova conversazione cancella dal browser la credenziale e il testo del thread salvato, tornando al modulo iniziale. Un messaggio non inviato può passare al nuovo modulo. È un thread nuovo, non un modo per riaprire l'originale. La cronologia chiusa resta accessibile agli operatori autorizzati del sito.

13. Riapri il thread quando deve continuare

L'operatore può selezionare Reopen conversation. Il thread torna aperto e il widget esistente riprende ad accettare risposte dopo il prossimo aggiornamento.

Widget che accetta di nuovo messaggi dopo la riapertura da parte dell'operatore

Abbiamo provato chiusura e riapertura dello stesso thread. La riapertura non ripristina una credenziale già cancellata avviando un altro thread o eliminando la memoria del browser. Usala quando ha senso continuare l'originale e verifica che il visitatore possa ancora accedervi.

14. Scegli la politica email prima degli avvisi

L'email è facoltativa e separata dal widget. Chiedi prima all'amministratore dell'hosting di configurare il trasporto in uscita e l'URL attendibile dell'applicazione. Il plugin usa la configurazione email del CMS, senza memorizzare nuove credenziali SMTP nelle impostazioni.

Apri Sites → Edit site → Contact e controlla Site message notifications. La politica vale per i canali partecipanti, incluso Live Chat. Nell'esempio locale manteniamo Alert only, scegliamo Immediate e disattiviamo Daily pending-message summary, così la prova non richiede consegna pianificata.

Impostazioni Contact del sito con la politica condivisa usata nella prova email locale

Le opzioni di contenuto hanno effetti diversi:

  • Alert only: conteggi minimi e un normale collegamento alla posta protetta; la notifica minima esclude nomi, indirizzi, testi, URL di origine e credenziali private della conversazione.
  • Full: include più informazioni sulla conversazione e il contenuto del messaggio. Sceglilo solo se adatto all'organizzazione e alla destinazione email.

Anche la frequenza di consegna è condivisa:

Frequenza Comportamento Requisito dello scheduler
Immediate Invia ogni notifica offline idonea alla presentazione del messaggio. Non necessario per soli invii immediati con riepiloghi giornalieri disattivati.
First alert immediately, then batches Invia subito il primo avviso della conversazione e raggruppa i successivi nell'intervallo scelto. Necessario per i lotti successivi.
Daily Riunisce il lavoro idoneo in un riepilogo giornaliero di soli conteggi. Necessario.

I riepiloghi giornalieri restano minimi anche con contenuto Full. Il riepilogo giornaliero separato del lavoro in sospeso può ricordare messaggi non letti o senza risposta; richiede anch'esso pianificazione. Salva consapevolmente la politica perché anche gli altri canali partecipanti la ereditano.

15. Configura ricezione offline e notifiche agli operatori

Torna a Live Chat Settings. Imposta Availability su Offline, mantieni attivo Require email when offline e salva. Il widget resta attivo: Offline modifica la ricezione, mentre disattivare il widget elimina il pulsante pubblico.

Impostazioni Live Chat salvate con disponibilità Offline, email obbligatoria e notifiche agli operatori attive

Se il team vuole avvisi email, attiva Notify operators of offline messages, inserisci il destinatario Offline notification recipient previsto e seleziona Save settings. Il nostro studio@example.test è fittizio e accettato solo dal ricevitore locale. Per verificare la tua consegna usa una vera casella di prova sotto il tuo controllo.

Destinatario offline e politica ereditata Alert only e Immediate in Live Chat Settings

Con il permesso di gestione puoi cambiare disponibilità anche dall'interruttore Availability nella posta. Salva subito e conserva le altre opzioni. Non autentica il personale e non ne rileva la presenza. Senza JavaScript usa il controllo Save adiacente o il modulo delle impostazioni.

16. Lascia e ricevi un messaggio offline

Usa una conversazione nuova invece di supporre che un'impostazione cambi retroattivamente la ricezione di un thread esistente. Nell'esempio il precedente viene chiuso e il visitatore seleziona Start a new conversation. Il widget aggiornato mostra il testo offline e Email (required).

Inserisci Robin, robin@example.test e una breve domanda. In questa nuova conversazione offline l'email non può più essere vuota; la ricezione online consente ancora di ometterla.

Modulo offline con Robin, email fittizia obbligatoria e domanda su un workshop

Invia una volta, poi controlla come operatore la posta del sito scelto. Apri il thread di Robin, leggi il messaggio e verifica Offline operator notification. La prova mostra Sent to mail transport e il ricevitore SMTP locale ha accettato l'avviso con la politica salvata Alert only / Immediate e riepiloghi giornalieri disattivati. Questo conferma il passaggio al trasporto configurato, non l'arrivo in una vera casella. Le risposte a Robin restano nel widget e non vengono inviate per email.

Conversazione offline di Robin con notifica Sent to mail transport

Se la consegna è in coda, controlla prima la politica ereditata. Lotti e invii giornalieri possono normalmente attendere. Per un avviso Immediate ancora in attesa, chiedi all'amministratore di verificare versioni supportate, canale attivo, destinatario e trasporto in uscita. Un messaggio già incluso nelle notifiche offline può essere inviato anche dopo il passaggio a Online. Disattivare il canale o chiudere la conversazione annulla il lavoro in coda. I tentativi falliti o dall'esito ambiguo non vengono ripetuti automaticamente; non promettere un'email consegnata per ogni messaggio salvato.

17. Interpreta correttamente lo stato dello scheduler

Live Chat Settings mostra le evidenze di Scheduler and notification worker. Un'attività registrata non dimostra che lo scheduler dell'hosting funzioni. L'amministratore o il fornitore deve eseguire la pianificazione Laravel ogni minuto con l'utente dell'applicazione e la corretta versione PHP da riga di comando. Segui Notifiche pianificate e stato dello scheduler.

Notifiche in lotti e giornaliere, oltre ai promemoria quotidiani del lavoro in sospeso, richiedono questo collegamento. I soli avvisi immediati senza riepiloghi giornalieri non ne hanno bisogno; badge, toast del pannello e normali richieste della chat non richiedono uno scheduler email.

L'esempio locale è intenzionalmente privo di pianificazione di produzione verificata. Non abbiamo trasformato un'etichetta non verificata in un successo né usato l'invio manuale come prova di un cron funzionante. Verifica consegna reale e pianificazione nel tuo hosting prima di farvi affidamento.

Risoluzione dei problemi

Sintomo Cosa controllare
Pulsante di apertura assente Attivazione del plugin, compatibilità host, sito corretto, widget pubblico attivo e risorse supportate.
Compare Online senza nessuno che risponda La disponibilità è manuale. Concorda i turni e cambia la modalità di ricezione quando serve.
Nessuna conversazione visibile Sito, vista, ricerca, accesso al sito e permesso View live chat.
La lettura non elimina Awaiting reply L'ultimo messaggio è ancora del visitatore. Lettura e risposta sono stati distinti.
Il visitatore non può inviare nel thread chiuso Riaprilo come operatore o permetti di avviarne uno nuovo.
Il visitatore non trova il vecchio thread Verifica modifiche a memoria, profilo o origine e se un nuovo thread ha cancellato la credenziale. Qui non è previsto recupero tramite email.
Too Many Attempts Interrompi le ripetizioni e attendi la normale finestra del limite. Avvio, invio e richieste hanno quote separate; gli invii ripetuti possono comunque esaurire la propria quota. Non disattivare i limiti per aggirare l'avviso.
Il visitatore non riceve una risposta email Le risposte email sono disattivate; controlla il widget nel browser originale.
Manca l'email offline all'operatore Attivazione del canale, destinatario, posta in uscita, politica condivisa, stato registrato e requisiti dello scheduler.
Scheduler non verificato Chiedi all'amministratore evidenze reali delle esecuzioni programmate e del worker notifiche; l'invio manuale non prova la pianificazione.

Concludi con un passaggio operativo controllato

Prima di invitare visitatori reali verifica sito, testi, permessi e disponibilità. Prova messaggio del visitatore, risposta dell'operatore, seguito, distinzione tra letto e in attesa e chiusura. Se usi ricezione offline, verifica l'email obbligatoria in una nuova conversazione e la ricezione di un vero avviso di prova da parte del destinatario previsto.

Mantieni accurati i testi di disponibilità, assegna agli operatori una procedura per la coda e spiega dove apparirà la risposta. Parti dal riferimento Live Chat per impostazioni e API, o da Ruoli e permessi per delegare l'accesso senza dare a tutti i diritti di configurazione.