This code shows an alternative method to act on a specific event. This method should be used if you wish to act on the call-started, call-ended, chat-started, or chat-ended events, as these events require Engagement Engine to poll the server to check if the events have occurred, and this method shows how to do that.

There are a number of points to note when looking at this sample:

(function() {

var ruleIdToObj = function(id) {

return id && ATGSvcs.rules.rulehash[id];

}

var serverDataToObj = function(data) {

var serverData = data.split(','),

dataArray,

dataObj = {};

for (var i=0; i < serverData.length; i++) {

dataArray = serverData[i].split("=");

dataObj[dataArray[0]] = dataArray[1];

}

return dataObj;

}

var eeHandlers = {

callstarted: function(data) {

var dataObj = serverDataToObj(data.data),

rule = ruleIdToObj(dataObj.ruleId);

if (rule) {

console.log('Analytics Tracking - Call Started: ' + rule.name);

}

},

callended: function(data) {

var dataObj = serverDataToObj(data.data),

rule = ruleIdToObj(dataObj.ruleId);

if (rule) {

console.log('Analytics Tracking - Call Ended: ' + rule.name);

}

},

eeRuleRan: function(data) {

console.log('Analytics Tracking - Rule Run: ' + data.name);

},

eeCustomEvent: function(data) {

console.log('Analytics Tracking - Custom Event - ' + data.data);

}

}

ATGSvcs.rules.analytics.launch ({

'poll-delay': 15000,

'eeRuleRan': function(e, data) { eeHandlers.eeRuleRan(data.source); },

'call-started': function(e, data) { eeHandlers.callstarted(data); },

'call-ended': function(e, data) { eeHandlers.callended(data); },

'eeCustomEvent': function(e, data) { eeHandlers.eeCustomEvent(data); },

},

});

console.log('End: Rules / Events from Logs');

})();


Copyright © 1997, 2014 Oracle and/or its affiliates. All rights reserved. Legal Notices