API JavaScript

Bienvenue dans la documentation de l’API JavaScript tawk.to.

L’API fournit un ensemble flexible de méthodes qui peuvent être utilisées dans vos projets Web. Pour invoquer l’une des méthodes ci-dessous, assurez-vous d’appeler une méthode après le code d’intégration sur votre page.

Utilisez l’API JavaScript pour manipuler le widget de chat affiché sur votre site Web.

Popular use-cases:

Nous sommes toujours ravis de voir comment vous utilisez l’API, alors n’hésitez pas à partager vos créations avec nous !

onLoad

Fonction de rappel invoquée juste après le rendu du widget. Ce rappel n’est pas pris en charge dans la fenêtre de discussion contextuelle.

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

onStatusChange

Fonction de rappel invoquée lorsque le statut de la page change. La fonction recevra le statut modifié qui sera soit en ligne, absent ou hors ligne. Ce rappel n’est pas pris en charge dans la fenêtre de discussion contextuelle.

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

onBeforeLoad

Fonction de rappel invoquée juste lorsque Tawk_API est prêt à être utilisé et avant que le widget ne soit rendu. Ce rappel n’est pas pris en charge dans la fenêtre de discussion contextuelle.

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

onChatMaximized

Fonction de rappel invoquée lorsque le widget est maximisé. Ce rappel n’est pas pris en charge dans la fenêtre de discussion contextuelle.

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

onChatMinimized

Fonction de rappel invoquée lorsque le widget est réduit. Ce rappel n’est pas pris en charge dans la fenêtre de discussion contextuelle.

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

onChatHidden

Fonction de rappel invoquée lorsque le widget est masqué. Ce rappel n’est pas pris en charge dans la fenêtre de discussion contextuelle.

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

onChatStarted

Fonction de rappel invoquée au démarrage du widget.

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

onChatEnded

Fonction de rappel invoquée lorsque le widget est terminé. Ce rappel n’est pas pris en charge dans la fenêtre de discussion contextuelle.

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

onPrechatSubmit

Fonction de rappel invoquée lors de la soumission du formulaire de pré-chat. Les données du formulaire soumis sont transmises à la fonction. Ce rappel n’est pas pris en charge dans la fenêtre de chat contextuelle.

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

onOfflineSubmit

Fonction de rappel invoquée lors de la soumission du formulaire hors ligne. Les données du formulaire soumises sont transmises au rappel. Les données du formulaire comprennent  {nom : « , email : « , message : « , questions : []} . Ce rappel n’est pas pris en charge dans pop hors fenêtre de chat.

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

onChatMessageVisitor

Callback function invoked when message is sent by the visitor. The message is passed to the callback. This callback is not supported in pop out chat window.

window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onChatMessageVisitor = function(message){
    //place your code here
};

onChatMessageAgent

Callback function invoked when message is sent by the agent. The message is passed to the callback. This callback is not supported in pop out chat window.

window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onChatMessageAgent = function(message){
    //place your code here
};

onChatMessageSystem

Callback function invoked when message is sent by the system. The message is passed to the callback. This callback is not supported in pop out chat window.

window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onChatMessageSystem = function(message){
    //place your code here
};

onAgentJoinChat

Callback function invoked when an agent joins the chat. The data is passed to the callback. Will contain {name :  », position :  », image :  », id :  »}. This callback is not supported in pop out chat window.

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

onAgentLeaveChat

Callback function invoked when an agent leaves the chat. The data is passed to the callback. Will contain {name :  », id :  »}. This callback is not supported in pop out chat window.

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

onChatSatisfaction

Callback function invoked when an agent leaves the chat. The satisfaction is passed to the callback. -1 = dislike | 0 = neutral | 1 = like. This callback is not supported in pop out chat window.

window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onChatSatisfaction = function(statisfaction){
    //place your code here
};

onVisitorNameChanged

Callback function invoked when the visitor manually changes his name. The visitorName is passed to the callback. This callback is not supported in pop out chat window.

window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onVisitorNameChanged = function(visitorName){
    //place your code here
};

onFileUpload

Callback function invoked when a file is uploaded. The link to the uploaded file is passed to the callback. This callback is not supported in pop out chat window.

window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onFileUpload = function(link){
    //place your code here
};

onTagsUpdated

Callback function invoked when a tag is updated.

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

visitor{};

Objet utilisé pour définir le nom et le courriel du visiteur.

Ne placez pas cet objet dans une fonction car les valeurs doivent être disponibles avant le téléchargement du script du widget.

La configuration ou la modification des valeurs après le téléchargement du script du widget n’enverra pas les valeurs au tableau de bord.

Si le nom et l’e-mail ne sont pas disponibles au moment du chargement (par exemple, application à page unique, connexion ajax), utilisez plutôt la fonction setAttributes.

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

maximize();

Agrandir le widget de chat.

window.Tawk_API.maximize();

//Example

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

minimize();

Réduire le widget de discussion.

window.Tawk_API.minimize();

//Example

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

toggle();

Réduire ou maximiser le widget de chat en fonction de l’état actuel.

window.Tawk_API.toggle();

//Example

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

popup();

Ouvrir le widget de chat en tant que fenêtre surgissante.

window.Tawk_API.popup();

//Example

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

getWindowType();

Renvoie le type de widget actuel, qu’il soit en ligne ou intégré.

window.Tawk_API.getWindowType();

//Example

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

showWidget();

Afficher le widget de chat

window.Tawk_API.showWidget();

//Example

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

hideWidget();

Masquer le widget de chat.

window.Tawk_API.hideWidget();

//Example

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

toggleVisibility();

Masquer ou afficher le widget de chat en fonction de l’état de visibilité actuel.

window.Tawk_API.toggleVisibility();

//Example

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

getStatus();

Renvoie l’état actuel de la page (en ligne, absent ou hors ligne).

window.Tawk_API.getStatus();

//Example

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

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

isChatMaximized();

Renvoie une valeur booléenne (vrai ou faux) si le widget de chat est maximisé.

window.Tawk_API.isChatMaximized();


//Example

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

isChatMinimized();

Renvoie une valeur booléenne (vrai ou faux) si le widget de chat est minimisé.

window.Tawk_API.isChatMinimized();

//Example

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

isChatHidden();

Renvoie une valeur booléenne (vrai ou faux) si le widget de chat est masqué.

window.Tawk_API.isChatHidden();

//Example

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

isChatOngoing();

Renvoie une valeur booléenne (vrai ou faux) s’il y a actuellement une conversation en cours.

window.Tawk_API.isChatOngoing();

//Example

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

isVisitorEngaged();

Renvoie une valeur booléenne (vrai ou faux) si le visiteur est en train de discuter ou a demandé un chat.

window.Tawk_API.isVisitorEngaged();

//Example

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

endChat();

Mettre fin à la discussion en cours en cours

window.Tawk_API.endChat();

//Example

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

setAttributes();

Définissez des métadonnées personnalisées concernant ce chat/visiteur.

Cette fonction prend deux valeurs ; attribut et rappel;

La valeur de l’attribut est de type de données Object qui est une paire clé-valeur.

 

La clé est du type de données chaîne et ne peut contenir que des caractères alphanumériques et ‘-‘ (tiret)

Vous pouvez également utiliser cette fonction pour définir le nom et l’e-mail du visiteur, mais vous devrez d’abord activer le mode sécurisé et fournir également la valeur de hachage calculée dans cette fonction.

Reportez-vous à la section sur le mode sécurisé ci-dessous pour savoir comment procéder.

La raison pour laquelle il doit être en mode sécurisé est d’assurer l’intégrité des données. Pour s’assurer que la valeur envoyée du widget au tableau de bord est la vérité et n’a pas été falsifiée.

Le rappel qui est une fonction sera invoqué pour notifier si la sauvegarde a échoué.

Message d’erreur renvoyé :

  1. INVALID_ATTRIBUTES : aucun attribut n’a été envoyé
  2. SESSION_EXPIRED : la session en cours du visiteur a expiré
  3. SERVER_ERROR : erreur de serveur interne
  4. ACCESS_ERROR : Erreur d’accès à la page
  5. ATTRIBUTE_LIMIT_EXCEEDED : le nombre total d’attributs personnalisés (à l’exclusion du nom, de l’e-mail et du hachage) est de 50
  6. CONTAINS_INVALID_KEY : la clé personnalisée n’est ni alphanumérique ni tiret (les clés seront en minuscules)
  7. CONTAINS_INVALID_VALUE : la valeur personnalisée est vide ou la longueur totale est supérieure à 255 caractères
  8.  
window.Tawk_API.setAttributes(attributes, callback);

//Example

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


//Example for setting name and email

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

addEvent();

Ajoutez un événement personnalisé pour discuter.

Cette fonction prend 3 valeurs ; nom de l’événement, une métadonnée facultative et une fonction de rappel.

Le nom de l’événement est du type de données chaîne et ne peut contenir que des caractères alphanumériques et ‘-‘ (tiret)

Le rappel qui est une fonction sera invoqué pour notifier si la sauvegarde a échoué.INVALID_EVENT_NAME, INVALID_ATTRIBUTES, ATTRIBUTE_LIMIT_EXCEEDED, CONTAINS_INVALID_KEY, CONTAINS_INVALID_VALUE, SESSION_EXPIRED, SERVER_ERROR

window.Tawk_API.addEvent(eventName, metadata, callback);

//Example

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

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

addTags();

Ajouter des étiquettes au chat

Cette fonction prend deux valeurs ; étiquettes et rappel

Il s’agit du type de données Array.

Le contenu des étiquettes doit être de type de données String.

Le nombre total des étiquettes est de 10.

Le rappel qui est une fonction sera invoqué pour notifier si la sauvegarde a échoué.

INVALID_TAGS, TAG_LIMIT_EXCEEDED, VERSION_CONFLICT, SESSION_EXPIRED, SERVER_ERROR

window.Tawk_API.addTags(tags, callback);

//Example

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

removeTags();

Supprimez les étiquettes du chat

Cette fonction prend deux valeurs ; étiquettes et rappel

Il s’agit du type de données Array.

Le contenu des étiquettes doit être de type de données String.

Le rappel qui est une fonction sera invoqué pour notifier si la sauvegarde a échoué.



INVALID_TAGS, TAG_LIMIT_EXCEEDED, SESSION_EXPIRED, SERVER_ERROR

window.Tawk_API.removeTags(tags, callback);

//Example

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

Secure Mode

La méthode sécurisée consiste à s’assurer que les données que vous envoyez proviennent bien de vous.

Pour activer le mode sécurisé, intégrez le code suivant sur votre page.

Le hachage est un HMAC généré côté serveur, à l’aide de SHA256, à l’aide du courriel de l’utilisateur et de la clé API de votre site.

Vous pouvez obtenir votre clé API depuis Admin-> Paramètres de propriété.

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

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

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

customStyle

Object used to update the widget styling. Currently only supports zIndex style. Do not place this object in a function, as the values need to be available before the widget script is downloaded. Setting or changing the values after the widget script has been downloaded will not update the widget’s style.

window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.customStyle = {
    zIndex : Integer|String
};

//Example

window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.customStyle = {
    zIndex : 1000
};

window.Tawk_API.customStyle = {
    zIndex : '1000'
};

window.Tawk_API.customStyle = {
    zIndex : '1000 !important'
};