Descrição
Essa característica permite voltar ao assistente virtual a partir de um chat externo incorporado na janela core, delegando, assim, o controle.
Código em chat externo
Para ser possível esta característica, deve-se agregar no chat externo o seguinte código javascript:
function PostMessage () {
var originHost = '';
var source;
function handleMessage (event) {
var data = event.data;
originHost = event.origin;
source = event.source;
if (event.data.message) {
processMessage(event.data.message);
}
}
function processMessage (message) {
if (message === 'postmessage_support') {
var params = {'message' : 'postmessage_supported'};
source.postMessage(params, originHost);
}
}
this.back = function () {
if (source) {
source.postMessage({'message' : 'back_to_agentbot'}, originHost);
return true;
} else {
return false;
}
}
window.addEventListener('message', handleMessage, false);
};
var pm = new PostMessage();
Versão minificada
function PostMessage(){var a,t="";this.back=function(){return!!a&&(a.postMessage({message:"back_to_agentbot"},t),!0)},window.addEventListener("message",function(s){s.data,t=s.origin,a=s.source,s.data.message&&(e=s.data.message,"postmessage_support"===e&&a.postMessage({message:"postmessage_supported"},t));var e},!1)}var pm = new PostMessage();
Método voltar
Com o objeto PostMessage corretamente inicializado, é possível executar o método que volte ao assistente virtual da seguinte maneira:
pm.back()
Este código pode ser usado para realizar a ação logo após cumprir-se uma condição, como pode ser fechar a seção no chat externo, tanto por javascript como em um simples botão html:
<button onclick="pm.back()">Back to agentbot</button>
As URL’s a que derivam devem estar corretamente definidas com seu protocolo, HTTP ou HTTPS. Também é importante lembrar que se o site web é HTTPS, o chat externo também deve suportar o mesmo protocolo.