Question
Je veux modifier le comportement natif du Web Widget (Classic) à l’aide des API Javascript. J’ai lu le centre d’aide et j’ai trouvé de nombreuses implémentations différentes. Comment combiner ces différents workflows de l’API du Web Widget (Classic)?
Réponse
La chose la plus importante à savoir est quand vous voulez que les paramètres de votre widget soient appliqués. Certains workflows doivent être exécutés chaque fois qu’un service est mis à jour, alors que d’autres doivent être exécutés quand le widget se connecte ou se reconnecte pour la première fois. Cela est illustré par cet exemple simplifié de configuration du service CRM :
<script id="ze-snippet"
src="https://static.zdassets.com/ekr/snippet.js?key=ACCOUNT_KEY"> </script>
<script>
// first hide the widget on page load
zE('webWidget', 'hide');
// whenever an unread message appears unhide and open the widget
zE('webWidget:on', 'chat:unreadMessages', function(number) {
zE('webWidget', 'show');
zE('webWidget', 'open');
});
// this callback runs whenever chat first connects (or reconnects)
zE('webWidget:on', 'chat:connected', function() {
// put any code you only want run once here
});
// this callback runs whenever a department status changes
zE('webWidget:on', 'chat:departmentStatus', function(dept) {
// only set the widget online for chat if this department was online
if (dept.name === 'CRM' && dept.status === 'online') {
// apply the chat widget settings
zE('webWidget', 'updateSettings', {
webWidget: {
chat: {
departments: {
enabled: [''],
select: 'CRM'
},
suppress: false
}
}
});
} else if (dept.name === 'CRM' && dept.status !== 'online') {
// or suppress chat (optional: apply contact form settings here)
zE('webWidget', 'updateSettings', {
webWidget: {
chat: {
suppress: true
}
}
});
}
});
</script>
Il y a plusieurs choses dans le script ci-dessus qui méritent d’être discutées. D’abord, les étapes initiales consistant à masquer le widget puis à l’afficher à la réception d’un message non lu peuvent être totalement omises sans modifier le reste des fonctionnalités du script. Comme ils sont utilisés dès le chargement du widget, ils ont été placés en haut du script. Cela n’est pas absolument nécessaire.
Ensuite, il convient de noter que, même si certains workflows personnalisés placent un bloc d’API updateSettings dans un rappel chat: connecté , vous pouvez aussi le placer dans un chat: departmentStatus, et il sera également appliqué quand le widget se connecte (ou se reconnecte) pour la première fois. après une session expirée). Pour cette raison, utilisez la balise chat:connected
API spécifiquement pour les commandes que vous ne voulez exécuter qu’une seule fois, et chat:departmentStatus
API pour les commandes que vous voulez exécuter chaque fois que le service spécifié change après le chargement de la page.
Pour en savoir plus au sujet des différents workflows de l’API du Web Widget (Classic) , consultez ces articles:
- Puis-je configurer le Web Widget (Classic) pour présenter le chat sur ma page Web uniquement quand un service spécifique est en ligne?
- Puis-je présenter une nouvelle demande au service après la reconnexion d’un visiteur de chat qui a expiré?
- Comment puis-je m'assurer que le formulaire pré-chat est présenté au visiteur si le visiteur expire mais se reconnecte?
Traduction - exonération : cet article a été traduit par un logiciel de traduction automatisée pour permettre une compréhension élémentaire de son contenu. Des efforts raisonnables ont été faits pour fournir une traduction correcte, mais Zendesk ne garantit pas l’exactitude de la traduction.
Si vous avez des questions quant à l’exactitude des informations contenues dans l’article traduit, consultez la version anglaise de l’article, qui représente la version officielle.
0 Commentaires
Vous devez vous connecter pour laisser un commentaire.