Se hai già un widget connesso al tuo sito web e vuoi identificare i clienti nella Live Chat Bitrix24, puoi utilizzare le soluzioni elencate in questo articolo.
Ad esempio, hai un online store Bitrix24 e un sito web Bitrix24. Il cliente ha acquistato qualcosa nel tuo online store e ora visita il tuo sito web per la prima volta.
Per i clienti che non hanno effettuato l’accesso a uno dei tuoi servizi sono previsti gli appositi moduli CRM.
Per quanto riguarda i clienti che hanno effettuato l’accesso a uno dei tuoi servizi, è prevista una soluzione più conveniente, e i tuoi clienti non dovranno compilare nuovamente il modulo di contatto.
Come funziona
Configurazione manuale
Per i sistemi di terzi parti, puoi aggiungere un codice Javascript alla pagina in cui è inserito il tuo widget.
Generalmente questo codice ha il seguente aspetto:
<script type="text/javascript"> window.addEventListener('onBitrixLiveChat', function(event)
{
var widget = event.detail.widget;
// 1. Impostazione autenticazione utente esterno
...
// 2. Impostazione dati personalizzati
...
// 3. Gestione eventi
...
});</script>
Utilizzare il widget sito web:
widget.open(): widget aperto;widget.close(): widget chiuso;widget.subscribe(): iscrizione all'evento;widget.setUserRegisterData(): impostazione dell'autenticazione esterna dell'utente;widget.setCustomData(): impostazione di dati personalizzati;widget.setOption(): impostazione di opzioni aggiuntive.
1. Impostazione dell’autenticazione esterna dell’utente
<script type="text/javascript">
window.addEventListener('onBitrixLiveChat', function(event)
{
var widget = event.detail.widget;
// Impostazioni autenticazione utente esterno
widget.setUserRegisterData({
'hash': '12b42ebcec7e3c26a313272c26efddbd',
'name': 'John',
'lastName': 'Smith',
'avatar': 'http://files.smith.com/images/avatar-john.jpg',
'email': 'john@smith.com',
'www': 'https://bitrix24.com',
'gender': 'M',
'position': 'Loyal Customer'
});
});</script>
Attenzione!
hash è un campo che sostituisce l'autorizzazione e deve essere unico all'interno di Bitrix24 e in formato MD5 e non può corrispondere ad altri dati.
Ad esempio: md5(ID_utente+_sito_indirizzo_ + _codice_segreto_)
Seleziona un codice che identifichi l'utente ma, allo stesso tempo, sia difficile da indovinare.
2. Impostazione di dati personalizzati
Puoi impostare dati personalizzati utilizzando blocchi speciali:
<script type="text/javascript"> window.addEventListener('onBitrixLiveChat', function(event)
{
var widget = event.detail.widget;
// Impostazione dati personalizzati (pubblicati all'inizio di una nuova conversazione, formato esteso)
widget.setCustomData([
{"USER": {
"NAME" : "John Smith",
"AVATAR" : "http://files.smith.com/images/avatar-john.jpg",
}},
{"GRID": [
{
"NAME" : "E-mail",
"VALUE" : "john@smith.com",
"DISPLAY" : "LINE",
},
{
"NAME" : "Customer ID",
"VALUE" : "12234",
"COLOR" : "#ff0000",
"DISPLAY" : "LINE"
},
{
"NAME": "Website",
"VALUE": location.hostname,
"DISPLAY": "LINE"
},
{
"NAME": "Page",
"VALUE": "[url="+location.href+"]"+(document.title || location.href)+"[/url]",
"DISPLAY": "LINE"
},
]}
]);
});</script>
Per pubblicare i dati in formato testo, puoi utilizzare una costruzione semplificata. Nel testo, puoi usare i tag HTML: BR, B, U, I, S, URL.
<script type="text/javascript"> window.addEventListener('onBitrixLiveChat', function(event)
{
var widget = event.detail.widget;
widget.setCustomData("[b]John Smith[/b] (john@smith.com)");
});</script>
3. Gestione eventi
<script type="text/javascript"> window.addEventListener('onBitrixLiveChat', function(event)
{
var widget = event.detail.widget;
// Gestione eventi
widget.subscribe({
type: BX.LiveChatWidget.SubscriptionType.EVENT_SUBSCRIPTION_TYPE,
callback: function(data) {
// qualsiasi comando
...
}
});
});</script>
-
BX.LiveChatWidget.SubscriptionType.configLoaded: evento "le informazioni sul canale aperto sono state caricate". -
BX.LiveChatWidget.SubscriptionType.widgetOpen: evento "il widget è stato aperto". -
BX.LiveChatWidget.SubscriptionType.widgetClose: evento "il widget è stato chiuso". BX.LiveChatWidget.SubscriptionType.sessionStart: evento "la conversazione è stata avviata".
Esempio del risultato:{sessionId: 123}BX.LiveChatWidget.SubscriptionType.sessionOperatorChange: evento "l'utente è stato modificato".
Esempio del risultato:{operator: {name: '',firstName: '',lastName: '',workPosition: '',avatar: '',online: false}}BX.LiveChatWidget.SubscriptionType.sessionFinish: evento "la conversazione è stata terminata".
Esempio del risultato:{sessionId: 123}BX.LiveChatWidget.SubscriptionType.operatorMessage: evento "l'utente ha inviato un messaggio".
Esempio del risultato:{id:"44609041",chatId:711773,senderId:1246,recipientId:"chat711773",date:"2018-11-22T20:17:57.000Z",text:"hi!"}BX.LiveChatWidget.SubscriptionType.userForm: evento "il cliente ha compilato il modulo web".
Esempio del risultato:{form: "welcome", fields: {name: "", phone: "", email: ""}} // welcome|offline|historyBX.LiveChatWidget.SubscriptionType.userMessage: evento "il cliente ha inviato un messaggio".
Esempio del risultato:{id: 123, text:"hi!"}BX.LiveChatWidget.SubscriptionType.userVote: evento "il cliente ha valutato la conversazione".
Esempio del risultato:{vote: "like"} // like|dislikeBX.LiveChatWidget.SubscriptionType.every: in questo evento, è possibile specificare i risultati di tutti gli eventi.
Il tipo eventoeveryè leggermente diverso:
<script type="text/javascript">
Esempio del risultato:window.addEventListener('onBitrixLiveChat', function(event) { var widget = event.detail.widget; widget.subscribe({ type: BX.LiveChatWidget.SubscriptionType.every, callback: function(event) { if (event.type == BX.LiveChatWidget.SubscriptionType.configLoaded) { widget.open(); } } }); });</script>{type: "userVote", data: {vote: "like"}}typemostra un tipo di evento,datamostra i dati dell'evento (esempi di questi dati sono forniti sopra).
Il tuo codice JavaScript finale può essere composto da 3 parti, a seconda delle tue esigenze.
Ad esempio:
<script type="text/javascript">
window.addEventListener('onBitrixLiveChat', function(event)
{
var widget = event.detail.widget;
// Impostazione autenticazione utente esterno
widget.setUserRegisterData({
'hash': '12b42ebcec7e3c26a313272c26efddbd',
'name': 'John',
'lastName': 'Smith',
'avatar': 'http://files.smith.com/images/avatar-john.jpg',
'email': 'john@smith.com',
'www': 'https://bitrix24.com',
'gender': 'M',
'position': 'Loyal Customer'
});
// Impostazione dati personalizzati (pubblicati all'inizio di una nuova conversazione, formato esteso)
widget.setCustomData([
{"USER": {
"NAME" : "John Smith",
"AVATAR" : "http://files.smith.com/images/avatar-john.jpg",
}},
{"GRID": [
{
"NAME" : "E-mail",
"VALUE" : "john@smith.com",
"DISPLAY" : "LINE",
},
{
"NAME" : "Customer ID",
"VALUE" : "12234",
"COLOR" : "#ff0000",
"DISPLAY" : "LINE"
},
{
"NAME": "Website",
"VALUE": location.hostname,
"DISPLAY": "LINE"
},
{
"NAME": "Page",
"VALUE": "[url="+location.href+"]"+(document.title || location.href)+"[/url]",
"DISPLAY": "LINE"
},
]}
]);
widget.subscribe({
type: BX.LiveChatWidget.SubscriptionType.every,
callback: function(event) {
if (event.type == BX.LiveChatWidget.SubscriptionType.configLoaded)
{
widget.open();
}
}
});
});</script> 4. Personalizza le frasi utilizzate nel widget sito web
Puoi personalizzare le frasi utilizzate nel widget sito web Bitrix24.
A tal fine, usa il codice JavaScript:
<script>window.addEventListener('onBitrixLiveChat', function(event)
{
var widget = event.detail.widget;
widget.subscribe({
type: BX.LiveChatWidget.SubscriptionType.configLoaded,
callback: function()
{
widget.addLocalize({VARIABLE: 'New Text'});
}
});
});</script>
Puoi ottenere l’elenco completo delle variabili utilizzando il seguente comando nella console del browser:
console.table(BXLiveChat.__privateMethods__.localize);
5. Disattivare ulteriori verifiche della configurazione multisito per il widget
Quando si utilizza Il single sign-on (autenticazione unica) con configurazione multisito allo stesso kernel e sottodominio del dominio principale, si verifica il ripristino dell'autorizzazione dell’utente.
Per evitarlo, occorre effettuare alcune impostazioni.
Per impostazione predefinita, la verifica della configurazione multisito per il widget Bitrix24 è attivata nel modulo Canali aperti (imopenlines) a partire dalla versione 21.400.0. Un volta rilevata questa configurazione, riceverai una notifica nel widget.
Il seguente codice disattiva la verifica:
<script>window.addEventListener('onBitrixLiveChat', function(event){
var widget = event.detail.widget;
widget.setOption('checkSameDomain', false);
});</script>