API JavaScript Live Chat
Usa l'API JavaScript di onWebChat per personalizzare il widget di chat e automatizzare i flussi. Puoi passare dati del visitatore, impostare la lingua del widget, massimizzare o nascondere il widget e altro.
Ad esempio, puoi inviare i dettagli del visitatore alla chat, impostare la lingua per pagina o aprire il widget a livello di programmazione quando un utente fa clic su un pulsante.
Aggiungi il tuo codice API subito sotto lo script del widget di chat, come mostrato a destra.
<script type='text/javascript'>
/* Paste your onWebChat widget installation snippet from the dashboard here. */
</script>
<script type='text/javascript'>
/* Add your JavaScript API calls below, for example onWebChat.set() or onWebChat.get() */
</script>
Impostare Informazioni Visitatore
Puoi impostare i dettagli del visitatore prima o durante una sessione di chat. Ad esempio, impostare il nome aiuta il team a identificare i contatti nella Lista Visitatori.
Usa queste chiamate API per impostare nome, email, telefono e note del visitatore:
onWebChat.set("name","Sarah Chen");
onWebChat.set("email","sarah.chen@example.com");
onWebChat.set("phone","+1 555 010 0142");
onWebChat.set("notes","Returning visitor, requested an Enterprise trial");
Ottenere Informazioni Visitatore
Puoi leggere il nome, l'e-mail, il telefono e le note del visitatore ogni volta che questi valori sono stati forniti tramite questa API JavaScript, raccolti nel modulo pre-chat o aggiornati dagli agenti nel pannello di controllo.
Chiama queste funzioni dopo il caricamento completo del widget. Esempio:
onWebChat.set("onWebChatLoaded", function() { console.log("visitor name: " + onWebChat.get("name")); });
onWebChat.get("name");
onWebChat.get("email");
onWebChat.get("phone");
onWebChat.get("notes");
Impostare Lingua del Widget
Imposta la lingua del widget usando il codice lingua per qualsiasi lingua attivata nella tua dashboard.
Ad esempio, "it" per italiano, "en" per inglese e "es" per spagnolo. Se il codice non è attivato, il widget usa la lingua predefinita. Puoi aggiornare la lingua predefinita in Impostazioni > Lingue.
Codici lingua disponibili:
onWebChat.set("language","es");
Impostare Aspetto del Widget
Puoi controllare le impostazioni di visualizzazione principali del widget:
Usa il parametro max con 0 per minimizzare o 1 per massimizzare il widget.
Per nascondere il widget, usa la funzione set con il parametro show e valore 0. Usa 1 per mostrarlo di nuovo.
onWebChat.set("max",1);
onWebChat.set("show",0);
Impostare Informazioni Pagina
Puoi sovrascrivere l'URL e il titolo della pagina corrente inviati a onWebChat:
Usa il parametro pageUrl per impostare un URL personalizzato visibile agli agenti nella console della chat. Utile per le single-page app (SPA) o il routing personalizzato.
Usa il parametro pageTitle per impostare un titolo personalizzato che gli agenti vedranno invece del titolo della pagina del browser.
onWebChat.set("pageUrl","https://onwebchat.com/newPage");
onWebChat.set("pageTitle","New title");
Ottenere Stato del Widget
Restituisce "online" o "offline" in base alla disponibilità attuale della chat.
Chiama dopo il caricamento del widget. Esempio:
onWebChat.set("onWebChatLoaded", function() { console.log("chat status: " + onWebChat.get("status")); });
onWebChat.get("status");
Ottenere stato della connessione
Restituisce true se il widget di chat ha una connessione socket attiva con il server, o false in caso contrario. Utile per verificare la connettività prima di eseguire azioni.
onWebChat.get("isConnected");
Ottenere stato aperto/chiuso del widget
Restituisce true se il widget di chat è attualmente massimizzato (aperto), o false se è minimizzato (chiuso).
onWebChat.get("isMaximized");
Ottenere ID del dialogo
Restituisce l'ID del dialogo attivo corrente, o 0 se non c'è un dialogo di chat attivo. Utile per integrazioni che devono collegare una sessione di chat a un CRM o sistema di ticketing.
onWebChat.get("dialogId");
Inviare un messaggio
Puoi inviare un messaggio di chat per conto del visitatore in modo programmatico. Utile per creare flussi di aiuto contestuali, come inviare "Ho bisogno di aiuto con il mio ordine" quando il visitatore clicca un pulsante di aiuto.
Il messaggio apparirà nella chat come se il visitatore lo avesse digitato. Il widget deve essere caricato e connesso prima dell'invio.
onWebChat.set("sendMessage","I need help with my order");
Impostare reparto
Puoi preselezionare un reparto per il visitatore in base al contesto della pagina. Ad esempio, indirizzare automaticamente i visitatori sulla pagina prezzi a "Vendite" e quelli sulla pagina di aiuto a "Supporto".
Puoi passare il nome del reparto (string) o l'ID del reparto (number). Il nome deve corrispondere a uno dei reparti configurati nella tua dashboard.
onWebChat.set("department","Sales");
Funzioni Callback
Puoi eseguire funzioni callback quando si verificano eventi specifici del chat:
onClick si esegue quando il visitatore clicca sul widget di chat
onMaximize si esegue quando il widget è massimizzato
onMinimize si esegue quando il widget è minimizzato
onTrigger si esegue quando un trigger è attivato
onStartWriting si esegue quando il visitatore inizia a scrivere
onNewMessage si esegue quando un nuovo messaggio viene inviato o ricevuto. Il callback riceve due argomenti: il testo del messaggio e chi lo ha inviato ("visitor", "agent" o "bot")
onEndChat si esegue quando la chat viene terminata. Il callback riceve un argomento: chi l'ha terminata ("visitor", "agent" o "bot")
onChatStatusChange si esegue quando lo stato del widget di chat cambia in online o offline. Il callback riceve un argomento: il nuovo stato ("online" o "offline")
onWebChatLoaded si esegue quando il widget di chat ha finito di caricare
onWebChat.set("onClick",function(){ alert('chat widget is clicked'); });
onWebChat.set("onMaximize",function(){ alert('chat maximized'); });
onWebChat.set("onMinimize",function(){ alert('chat minimized'); });
onWebChat.set("onTrigger",function(){ alert('trigger activated'); });
onWebChat.set("onStartWriting",function(){ alert('visitor is writing'); });
onWebChat.set("onNewMessage",function(msg, by){
console.log('new message by ' + by + ': ' + msg);
});
onWebChat.set("onEndChat",function(endedBy){
console.log('chat ended by ' + endedBy);
});
onWebChat.set("onChatStatusChange",function(status){
console.log('agents are now ' + status);
});
onWebChat.set("onWebChatLoaded",function(){ alert('chat widget is loaded'); });