Esta característica permite volver al asistente virtual desde un chat externo embebido en la ventana core, delegando así el control.
Para aplicarla, en el chat externo se debe agregar el siguiente 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();
Versión 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 volver: con el objeto PostMessage correctamente inicializado, se puede ejecutar el método que vuelve al asistente virtual de la siguiente manera
pm.back()
Este código puede usarse para realizar la acción luego de cumplirse una condición, como puede ser cerrar la sesión en el chat externo, tanto por javascript como en un simple botón html
<button onclick="pm.back()">Back to agentbot</button>
Las URL's a las que se deriva deben estar correctamente definidas con su protocolo, HTTP o HTTPS. También tener en cuenta que si el sitio web es HTTPS, el chat externo también debe soportar el mismo protocolo.