JavaScript API Live Chat
Χρησιμοποιήστε το JavaScript API του onWebChat για να προσαρμόσετε το widget chat σας και να αυτοματοποιήσετε workflows. Μπορείτε να μεταβιβάσετε δεδομένα επισκέπτη, να ορίσετε τη γλώσσα του widget, να μεγιστοποιήσετε ή να κρύψετε το widget και άλλα.
Για παράδειγμα, μπορείτε να στείλετε στοιχεία του επισκέπτη στο chat, να ορίσετε τη γλώσσα ανά σελίδα ή να ανοίξετε το widget προγραμματιστικά όταν ένας χρήστης κάνει κλικ σε ένα κουμπί.
Προσθέστε τον κώδικα API αμέσως κάτω από το script του widget chat, όπως φαίνεται στα δεξιά.
<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>
Ορισμός στοιχείων επισκέπτη
Μπορείτε να ορίσετε στοιχεία επισκέπτη πριν ή κατά τη διάρκεια μιας συνεδρίας chat. Για παράδειγμα, ο ορισμός του ονόματος βοηθά την ομάδα σας να αναγνωρίζει επαφές στη λίστα επισκέπτων.
Χρησιμοποιήστε τις ακόλουθες κλήσεις API για να ορίσετε όνομα, email, τηλέφωνο και σημειώσεις επισκέπτη:
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");
Λήψη στοιχείων επισκέπτη
Μπορείτε να διαβάσετε το όνομα, το email, το τηλέφωνο και τις σημειώσεις του επισκέπτη, εφόσον αυτές οι τιμές έχουν καταχωρηθεί μέσω αυτού του JavaScript API, έχουν συλλεχθεί από τη φόρμα pre-chat ή έχουν ενημερωθεί από τους εκπροσώπους στον πίνακα ελέγχου.
Καλέστε αυτές τις συναρτήσεις μετά την πλήρη φόρτωση του widget. Παράδειγμα:
onWebChat.set("onWebChatLoaded", function() { console.log("visitor name: " + onWebChat.get("name")); });
onWebChat.get("name");
onWebChat.get("email");
onWebChat.get("phone");
onWebChat.get("notes");
Ορισμός γλώσσας widget
Ορίστε τη γλώσσα του widget χρησιμοποιώντας τον κωδικό γλώσσας για οποιαδήποτε γλώσσα ενεργοποιημένη στο dashboard σας.
Για παράδειγμα, "el" για ελληνικά, "en" για αγγλικά και "es" για ισπανικά. Αν ένας κωδικός δεν είναι ενεργός, το widget χρησιμοποιεί την προεπιλεγμένη σας γλώσσα. Μπορείτε να ενημερώσετε τη γλώσσα σε Ρυθμίσεις > Γλώσσες.
Διαθέσιμοι κωδικοί γλωσσών:
onWebChat.set("language","es");
Ορισμός εμφάνισης widget
Μπορείτε να ελέγξετε τις κύριες ρυθμίσεις εμφάνισης του widget:
Χρησιμοποιήστε την παράμετρο max με 0 για ελαχιστοποίηση ή 1 για μεγιστοποίηση του widget.
Για απόκρυψη του widget, χρησιμοποιήστε τη συνάρτηση set με την παράμετρο show και τιμή 0. Χρησιμοποιήστε 1 για να το εμφανίσετε ξανά.
onWebChat.set("max",1);
onWebChat.set("show",0);
Ορισμός πληροφοριών σελίδας
Μπορείτε να αντικαταστήσετε το τρέχον URL και τίτλο σελίδας που στέλνονται στο onWebChat:
Χρησιμοποιήστε την παράμετρο pageUrl για να ορίσετε ένα προσαρμοσμένο URL που θα βλέπουν οι εκπρόσωποι στην κονσόλα του chat. Χρήσιμο για single-page εφαρμογές (SPA) ή προσαρμοσμένο routing.
Χρησιμοποιήστε την παράμετρο pageTitle για ορισμό προσαρμοσμένου τίτλου που θα βλέπουν οι agents αντί για τον τίτλο σελίδας του browser.
onWebChat.set("pageUrl","https://onwebchat.com/newPage");
onWebChat.set("pageTitle","New title");
Λήψη κατάστασης widget
Επιστρέφει "online" ή "offline" ανάλογα με την τρέχουσα διαθεσιμότητα του chat σας.
Καλέστε μετά τη φόρτωση του widget. Παράδειγμα:
onWebChat.set("onWebChatLoaded", function() { console.log("chat status: " + onWebChat.get("status")); });
onWebChat.get("status");
Κατάσταση σύνδεσης
Επιστρέφει true εάν το widget chat έχει ενεργή σύνδεση socket με τον διακομιστή, ή false σε αντίθετη περίπτωση. Χρήσιμο για έλεγχο συνδεσιμότητας πριν από ενέργειες.
onWebChat.get("isConnected");
Κατάσταση ανοιχτού/κλειστού widget
Επιστρέφει true εάν το widget chat είναι μεγιστοποιημένο (ανοιχτό) ή false εάν είναι ελαχιστοποιημένο (κλειστό).
onWebChat.get("isMaximized");
Λήψη ID διαλόγου
Επιστρέφει το τρέχον ενεργό ID διαλόγου ή 0 εάν δεν υπάρχει ενεργός διάλογος. Χρήσιμο για ενσωματώσεις που πρέπει να συνδέσουν μια συνεδρία chat με CRM ή σύστημα ticketing.
onWebChat.get("dialogId");
Αποστολή μηνύματος
Μπορείτε να στείλετε μήνυμα chat εκ μέρους του επισκέπτη προγραμματιστικά. Χρήσιμο για δημιουργία ροών βοήθειας, π.χ. αποστολή "Χρειάζομαι βοήθεια με την παραγγελία μου" όταν ο επισκέπτης πατήσει ένα κουμπί.
Το μήνυμα θα εμφανιστεί στο chat σαν να το έγραψε ο επισκέπτης. Το widget πρέπει να έχει φορτωθεί και να είναι συνδεδεμένο.
onWebChat.set("sendMessage","I need help with my order");
Ορισμός τμήματος
Μπορείτε να προεπιλέξετε τμήμα για τον επισκέπτη ανάλογα με το περιβάλλον σελίδας. Π.χ. αυτόματη δρομολόγηση επισκεπτών στη σελίδα τιμών στις "Πωλήσεις" και στη σελίδα βοήθειας στην "Υποστήριξη".
Μπορείτε να περάσετε είτε το όνομα τμήματος (string) είτε το ID τμήματος (number). Το όνομα πρέπει να αντιστοιχεί σε ένα από τα τμήματα που έχουν ρυθμιστεί στο dashboard σας.
onWebChat.set("department","Sales");
Συναρτήσεις Callback
Μπορείτε να εκτελέσετε συναρτήσεις callback όταν συμβαίνουν συγκεκριμένα events chat:
onClick εκτελείται όταν ο επισκέπτης κάνει κλικ στο widget chat
onMaximize εκτελείται όταν το widget μεγιστοποιείται
onMinimize εκτελείται όταν το widget ελαχιστοποιείται
onTrigger εκτελείται όταν ενεργοποιείται ένα trigger
onStartWriting εκτελείται όταν ο επισκέπτης αρχίζει να πληκτρολογεί
onNewMessage εκτελείται όταν αποστέλλεται ή λαμβάνεται νέο μήνυμα. Το callback δέχεται δύο ορίσματα: το κείμενο του μηνύματος και ποιος το έστειλε ("visitor", "agent", ή "bot")
onEndChat εκτελείται όταν τερματίζεται η συνομιλία. Το callback δέχεται ένα όρισμα: ποιος την τερμάτισε ("visitor", "agent", ή "bot")
onChatStatusChange εκτελείται όταν η κατάσταση του chat widget αλλάζει σε online ή offline. Το callback δέχεται ένα όρισμα: τη νέα κατάσταση ("online" ή "offline")
onWebChatLoaded εκτελείται όταν το widget chat ολοκληρώσει τη φόρτωση
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'); });