JavaScript API

Benvenuti nella documentazione JavaScript API di tawk.to

L’API fornisce un insieme flessibile di metodi che possono essere utilizzati nei vostri progetti web. Per utilizzare uno dei seguenti metodi, assicuratevi di chiamare un metodo dopo il codice integrato sulla vostra pagina.

Utilizzate il JavaScript API per manipolare il widget della chat sul vostro sito web.

Casi di uso comune:

Siamo sempre entusiasti di vedere come si usa l’API, quindi sentitevi liberi di condividere le vostre creazioni con noi.

onLoad

Funzione di richiamo invocata dopo che il widget e` renderizzato. Questo richiamo non e` supportato nella finestra di apparizione chat.

Tawk_API = Tawk_API || {};
Tawk_API.onLoad = function(){
    //place your code here
};

onLoad

Funzione di richiamo invocata dopo che il widget e` renderizzato. Questo richiamo non e` supportato nella finestra di apparizione chat.

Tawk_API = Tawk_API || {};
Tawk_API.onLoad = function(){
    //place your code here
};

onStatusChange

Callback function invoked when the page status changes. The function will receive the changed status which will be either online, away or offline. This callback is not supported in pop out chat window.

Tawk_API = Tawk_API || {};
Tawk_API.onStatusChange = function(status){
    //place your code here
};

onBeforeLoad

Funzione di richiamo invocata quando Tawk_API e` pronto ad essere utilizzato e prima che il widget sia renderizzato. Questo richiamo non e` supportato nella finestra di apparizione chat.

Tawk_API = Tawk_API || {};
Tawk_API.onBeforeLoad = function(){
    //place your code here
};

onChatMaximized

Funzione di richiamo invocata quando il widget e` massimizzato. Questo richiamo non e` supportato nella finestra di apparizione chat.

Tawk_API = Tawk_API || {};
Tawk_API.onChatMaximized = function(){
    //place your code here
};

onChatMinimized

Funzione di richiamo invocata quando il widget e` minimizzato. Questo richiamo non e` supportato nella finestra di apparizione chat.

Tawk_API = Tawk_API || {};
Tawk_API.onChatMinimized = function(){
    //place your code here
};

onChatHidden

Funzione di richiamo invocata quando il widget e` nascosto. Questo richiamo non e` supportato nella finestra di apparizione chat.

Tawk_API = Tawk_API || {};
Tawk_API.onChatHidden = function(){
    //place your code here
};

onChatStarted

Funzione di richiamo invocata quando il widget è partito.

Tawk_API = Tawk_API || {};
Tawk_API.onChatStarted = function(){
    //place your code here
};

onChatEnded

Funzione di richiamo invocata quando il widget e` chiuso. Questo richiamo non e` supportato nella finestra di apparizione chat.

Tawk_API = Tawk_API || {};
Tawk_API.onChatEnded = function(){
    //place your code here
};

onPrechatSubmit

Funzione di richiamo invocata quando il modulo pre chat e` inviato. Il modulo inviato e` passato alla funzione. Questo richiamo non e` supportato nella finestra di apparizione chat.

Tawk_API = Tawk_API || {};
Tawk_API.onPrechatSubmit = function(data){
    //place your code here
};

onOfflineSubmit

Funzione di richiamo invocata quando il modulo offline viene inviato. Il modulo inviato e` passato al richiamo. I dati contenuti saranno {nome :”, email :”, messaggio :”, domande:[]}. Questo richiamo non e` supportato nella finestra di apparizione chat.

Tawk_API = Tawk_API || {};
Tawk_API.onOfflineSubmit = function(data){
    //place your code here
};

visitor{};

Oggetto usato per impostare nome ed email del visitatore.Non inserire questo oggetto in una funzione, poiché i valori devono essere disponibili prima che lo script del widget venga scaricato.



L’impostazione o la modifica dei valori dopo il download dello script del widget non invierà i valori al pannello di controllo.



Se il nome e l’email non saranno disponibili al momento del caricamento (es. app a pagina singola, login ajax), utilizzare invece la funzione setAttributes .

Tawk_API = Tawk_API || {};
Tawk_API.visitor = {
    name  : 'Name',
    email : 'email@email.com'
};

maximize();

Massimizza il widget della chat

Tawk_API.maximize();

//Example

Tawk_API.onLoad = function(){
    Tawk_API.maximize();
};

minimize();

Minimizza il widget della chat.

Tawk_API.minimize();

//Example

Tawk_API.onLoad = function(){
    Tawk_API.minimize();
};

toggle();

Minimizza o massimizza il widget della chat in base allo stato corrente.

Tawk_API.toggle();

//Example

Tawk_API.onLoad = function(){
    Tawk_API.toggle();
};

popup();

Apre il widget della chat come un pop out.

Tawk_API.popup();

//Example

Tawk_API.onLoad = function(){
    Tawk_API.popup();
};

getWindowType();

Restituisce il tipo di widget corrente, sia esso online o incluso.

Tawk_API.getWindowType();

//Example

Tawk_API.onLoad = function(){
    if(Tawk_API.getWindowType() === 'inline'){
        // do something if it's inline
    }else{
        // do something if it's embed
    }
};

showWidget();

Mostra il widget della chat.

Tawk_API.showWidget();

//Example

Tawk_API.onLoad = function(){
    Tawk_API.showWidget();
};

hideWidget();

Nasconde il widget della chat.

Tawk_API.hideWidget();

//Example

Tawk_API.onLoad = function(){
    Tawk_API.hideWidget();
};

toggleVisibility();

Nasconde o mostra il widget della chat in base al corrente stato di visibilita`.

Tawk_API.toggleVisibility();

//Example

Tawk_API.onLoad = function(){
    Tawk_API.toggleVisibility();
};

getStatus();

Ritorna al corrente stato della pagina (in linea, assente o disconnesso)

Tawk_API.getStatus();

//Example

Tawk_API.onLoad = function(){
    var pageStatus = Tawk_API.getStatus();

    if(pageStatus === 'online'){
        // do something for online
    }else if(pageStatus === 'away'){
        //do something for away
    }else{
        // do something for offline
    }
};

isChatMaximized();

Restituisce un valore booleano (vero o falso) sia che il widget della chat sia massimizzato.

Tawk_API.isChatMaximized();


//Example

Tawk_API.onLoad = function(){
    if(Tawk_API.isChatMaximized()){
        //do something if it's maximized
    }
};

isChatMinimized();

Restituisce un valore booleano (vero o falso) sia che il widget della chat sia minimizzato.

Tawk_API.isChatMinimized();

//Example

Tawk_API.onLoad = function(){
    if(Tawk_API.isChatMinimized()){
        // do something if it's minimized
    }
};

isChatHidden();

Restituisce un valore booleano (vero o falso) sia che il widget della chat sia nascosto.

Tawk_API.isChatHidden();

//Example

Tawk_API.onLoad = function(){
    if(Tawk_API.isChatHidden()){
        // do something if chat widget is hidden
    }
};

isChatOngoing();

Restituisce un valore booleano (vero o falso) sia che ci sia attualmente una chat in corso.

Tawk_API.isChatOngoing();

//Example

Tawk_API.onLoad = function(){
    if(Tawk_API.isChatOngoing()){
        //do something if there's ongoing chat
    }
};

isVisitorEngaged();

Restituisce un valore booleano (vero o falso) sia che il visitatore stia chattando o che abbia richiesto una chat.

Tawk_API.isVisitorEngaged();

//Example

Tawk_API.onLoad = function(){
    if(Tawk_API.isVisitorEngaged()){
        // do something if visitor is engaged in chat
    }
};

endChat();

Termina la chat in corso.

Tawk_API.endChat();

//Example

Tawk_API.onLoad = function(){
    Tawk_API.endChat();
};

setAttributes();

Imposta i metadati personalizzati relativi a questa chat/visitatore.

Questa funzione assume due valori: attributo e richiamo;

Il valore dell’attributo è di tipo Dati Oggetto che è una coppia di valori chiave.

La chiave e` un tipo di stringa dati e può` contenere solo caratteri alfanumerici e ‘-’(Trattino)

Con questa funzione si può anche impostare il nome del visitatore e l’e-mail, tuttavia è necessario prima attivare la modalità sicura e fornire il valore hash calcolato anche in questa funzione.

Per informazioni su come fare ciò, consultare la sezione modalità sicura qui sotto.

La ragione per cui deve essere in modalità sicura è per garantire l’integrità dei dati. Per garantire che il valore inviato dal widget al pannello di controllo sia vero e non sia stato manomesso.

Il richiamo, che è una funzione, verrà richiamato per notificare se il salvataggio è fallito.

Errori messaggio di ritorno:

  1. INVALID_ATTRIBUTES : nessun attributo e` stato inviato
  2. SESSION_EXPIRED : la sessione del visitatore e` scaduta
  3. SERVER_ERROR : errore server interno
  4. ACCESS_ERROR : errore in accesso alla pagina
  5. ATTRIBUTE_LIMIT_EXCEEDED : Il massimo degli attributi personalizzabili (escluso nome, email e hash) e` 50
  6. CONTAINS_INVALID_KEY : la chiave personalizzata non è alfanumerica o trattino (le chiavi saranno in minuscolo)
  7. CONTAINS_INVALID_VALUE : il valore personalizzato e` vuoto o la lunghezza è maggiore di 255 caratteri
Tawk_API.setAttributes(attributes, callback);

//Example

Tawk_API.onLoad = function(){
    Tawk_API.setAttributes({
        'id'    : 'A1234',
        'store' : 'Midvalley'
    }, function(error){});
};


//Example for setting name and email

Tawk_API.onLoad = function(){
    Tawk_API.setAttributes({
        'name'  : 'Name',
        'email' : 'email@email.com',
        'hash'  : 'hash value'
    }, function(error){});
}

addEvent();

Imposta un evento personalizzato per chattare.
Questa funzione assume 3 valori: nome dell’evento, un metadata opzionale e la funzione di richiamo

Il nome dell’evento è del tipo stringa di dati e può contenere solo caratteri alfanumerici e ‘-‘ (trattino)

Il richiamo, che è una funzione, verrà richiamato per notificare se il salvataggio è fallito.

INVALID_EVENT_NAME, INVALID_ATTRIBUTES, ATTRIBUTE_LIMIT_EXCEEDED, CONTAINS_INVALID_KEY, CONTAINS_INVALID_VALUE, SESSION_EXPIRED, SERVER_ERROR

Tawk_API.addEvent(eventName, metadata, callback);

//Example

Tawk_API.onLoad = function(){
    Tawk_API.addEvent('requested-quotation', function(error){});

    Tawk_API.addEvent('product-add-to-cart', {
        'sku'    : 'A0012',
        'name'  : 'Jeans',
        'price' :'50'
    }, function(error){});
};

addTags();

Aggiungi tag alla chat.
Questa funzione assume due valori: tags e richiamo.
Questo è del tipo di dati Array.
Il contenuto dei tag dovrebbe essere di tipo stringa di dati.

Il numero totale di tag è di 10.
Il richiamo, che è una funzione, verrà richiamato per notificare se il salvataggio è fallito.

INVALID_TAGS, TAG_LIMIT_EXCEEDED, VERSION_CONFLICT, SESSION_EXPIRED, SERVER_ERROR

Tawk_API.addTags(tags, callback);

//Example

Tawk_API.onLoad = function(){
    Tawk_API.addTags(['hello', 'world'], function(error){});
};

removeTags();

Rimuovi tags dalla chat.
Questa funzione assume due valori: tags e richiamo.
Questo è del tipo di dati Array.
Il contenuto dei tag dovrebbe essere di tipo stringa di dati.

Il richiamo, che è una funzione, verrà richiamato per notificare se il salvataggio è fallito.

INVALID_TAGS, TAG_LIMIT_EXCEEDED, SESSION_EXPIRED, SERVER_ERROR

Tawk_API.removeTags(tags, callback);

//Example

Tawk_API.onLoad = function(){
    Tawk_API.removeTags(['hello', 'world'], function(error){});
};

Secure Mode

Il metodo sicuro consiste nel garantire che i dati che state inviando provengano effettivamente da voi.

Per attivare la modalità sicura, inserite il codice seguente sulla vostra pagina.

L’hash è HMAC generato dal lato server, utilizzando SHA256, utilizzando l’email dell’utente e la chiave API del vostro sito.

È possibile ottenere la chiave
API da Admin>Impostazioni della proprietà.

Tawk_API = Tawk_API || {};
Tawk_API.visitor = {
    name  : 'Name',
    email : 'email@email.com',
    hash  : '<calculate-hash>'
};

// Here is an example showing how you could do it using PHP

Tawk_API = Tawk_API || {};
Tawk_API.visitor = {
    name  : '<?php echo $user->name; ?>',
    email : '<?php echo $user->email; ?>',
    hash  : '<?php echo hash_hmac("sha256", $user->email, "<API-KEY>"); ?>'
};