Dans les systèmes contenant plusieurs services, il peut arriver que les administrateurs préfèrent router automatiquement les demandes de chat vers des services spécifiques.
Regardez l’exemple suivant :
Le client a un site Web pour l’Australie et un autre pour l’Allemagne, il y a donc deux équipes d’assistance représentées dans Zendesk Chat par deux services différents.
L’administrateur sait dès le départ que tous les visiteurs du site australien doivent être servis par Department_Australia (valeur statique, définie manuellement par l’administrateur dans le script, les autres services et leurs statuts sont sans importance) et il veut donc faire ce qui suit :
- Si Department_Australia est hors ligne, le système masque le widget.
- Si Department_Australia est en ligne, le système définit le service (Department_Australia) et masque l’option de liste déroulante (sélection du service) dans le widget.
La solution :
En utilisant l’API JS Zendesk Chat, vous pouvez identifier le statut du service concerné avant d’afficher le widget sur la page en utilisant les actions suivantes :
- complètement masquer le widget quand le service concerné est hors ligne ;
- afficher le widget et router automatiquement une demande de chat potentielle vers le service concerné.
Utilisation du widget Zendesk Chat
<script>
window.$zopim||(function(d,s){var z=$zopim=function(c){z._.push(c)},$=z.s=
d.createElement(s),e=d.getElementsByTagName(s)[0];z.set=function(o){z.set.
_.push(o)};z._=[];z.set._=[];$.async=!0;$.setAttribute("charset","utf-8");
$.src="//v2.zopim.com/?Zopim_key";z.t=+new Date;$.
type="text/javascript";e.parentNode.insertBefore($,e)})(document,"script");
$zopim(function() {
$zopim.livechat.setOnConnected(function() {
$zopim.livechat.setOnStatus(function () {
var department_status = $zopim.livechat.departments.getDepartment(’Australia’);
if (department_status.status == ’offline’) {
// Set the account status to ’offline’
$zopim.livechat.setStatus(’offline’);
// hide the widget or similar
$zopim.livechat.hideAll();
} else {
// The department is Online (At least one agent in that dept is Online)
// Automatically add a tag
$zopim.livechat.addTags("australia_chat");
// Hide the Drop-down list option in the Pre-Chat Form to select the Department
$zopim.livechat.departments.filter(’’);
// Automatically set the Department
$zopim.livechat.departments.setVisitorDepartment(’Australia’);
}
});
});
});
</script>
Utilisation du Web Widget
<script>
window.zEmbed||function(e,t){var n,o,d,i,s,a=[],r=document.createElement("iframe");window.zEmbed=function(){a.push(arguments)},window.zE=window.zE||window.zEmbed,r.src="javascript:false",r.title="",r.role="presentation",(r.frameElement||r).style.cssText="display: none",d=document.getElementsByTagName("script"),d=d[d.length-1],d.parentNode.insertBefore(r,d),i=r.contentWindow,s=i.document;try{o=s}catch(c){n=document.domain,r.src=’javascript:var d=document.open();d.domain="’+n+’";void(0);’,o=s}o.open()._l=function(){var o=this.createElement("script");n&&(this.domain=n),o.id="js-iframe-async",o.src=e,this.t=+new Date,this.zendeskHost=t,this.zEQueue=a,this.body.appendChild(o)},o.write(’<body onload="document._l();">’),o.close()}("https://assets.zendesk.com/embeddable_framework/main.js","mysubdomain.zendesk.com");
zE(function() {
$zopim(function() {
$zopim.livechat.setOnConnected(function() {
$zopim.livechat.setOnStatus(function () {
var department_status = $zopim.livechat.departments.getDepartment(’Australia’);
if (department_status.status == ’offline’) {
// Set the account status to ’offline’
$zopim.livechat.setStatus(’offline’);
// hide the widget or similar
$zopim.livechat.hideAll();
} else {
// The department is Online (At least one agent in that dept is Online)
// Automatically add a tag
$zopim.livechat.addTags("australia_chat");
// Hide the Drop-down list option in the Pre-Chat Form to select the Department
$zopim.livechat.departments.filter(’’);
// Automatically set the Department
$zopim.livechat.departments.setVisitorDepartment(’Australia’);
}
});
});
});
});
</script>
0 Commentaires
Vous devez vous connecter pour laisser un commentaire.