var chataurafront = {}; chataurafront.settings = {}; chataurafront.settings.selectors = {}; chataurafront.functions = {}; chataurafront.settings.template = {}; //chataurafront.settings.url = "http://localhost:5000"; // Local comando: 'node server' em vivo-front //chataurafront.settings.url = "https://pre-aura-proj-bot-aura-ti.azurewebsites.net"; chataurafront.settings.url = "https://pro-aura-front-vivo.azurewebsites.net"; // AZURE PROD //chataurafront.settings.url = "https://pre-aura-front-vivo.azurewebsites.net"; //AZURE PRE var chatBehavior = { "default": [ "portal-b2c-desktop", "portal-web-mobile-b2c", "lojas", "portal-b2b-desktop-gdes-empresas", "portal-b2b-desktop-pme", "portal-b2b-desktop-operadoras", "b2b-dealers", "proj-beatrix", "ti-web" ], "menu": [ "meu-vivo-movel-web-mobile", "mvf-app-vivo1", "mvf-app-vivo2", "mvf-app-new", "mvf-b2c-web-mobile", "beatrix-mobile", "app-movel-b2b", "app-movel-b2b-new" ], "throughFunction": [ "portal-assine-desktop", "portal-assine-mobile", "beatrix-desktop", "mvf-web-desktop", "mvm-web-desktop" ], "ouvidoria": [ "mvm-web-desktop-chat", "mvm-web-desktop-email", "mvm-web-desktop-ouvidoria", "mvf-web-desktop-chat", "mvm-web-mobile-chat", "beatrix-desktop-faleconosco", "beatrix-mobile-faleconosco", "mvf-web-desktop-email", "mvf-web-desktop-ouvidoria" ] } //Principal objeto para conter funções, configurações, templates, etc.. var anim; var animData; var crackerClosesOnly = false; var introBox = false; chataurafront.settings.withIntroBox = true; var surveySatisfaction = false; var auraUserInteraction = false; var $welcomeMessage; var surveyObject = {}; chataurafront.settings.device = {}; //EJS PARAMETROS TESTE var channel = 'portal-web-mobile-b2c'; console.log('Canal que está chamando: ' + channel); var pocluis = '' || false; //console.log('IS POCLUIS:' + pocluis); var businesskey = '0'; console.log('Business Key Informada: ' + businesskey); //Código do canal para resgatar token var channelName = ""; var apiStatus = true; var TokenStartConversationStatus = true; //Start Conversation Response var botConversationResponse = {}; var clientActivityId = 0; var botFrameworkAnswered = 0; var quickReplyAppears = false; var slowReplyAppears = false; var ouvidoriaChat = false; var boxChatPosition = false; var boxChatTop = 0; var boxChatRight = 0; var msisdn = ""; //settings chataurafront.settings.getChannel = channel; chataurafront.settings.pocLuis = pocluis; chataurafront.settings.getBusinessKey = businesskey; chataurafront.settings.screenHeight = 0; chataurafront.settings.countRequestToken = 0; // chataurafront.functions.loadChannelRules = function(){ if (chatBehavior.menu.indexOf(chataurafront.settings.getChannel) >= 0) { console.log('menu type'); chataurafront.settings.channelType = 'menu'; surveySatisfaction = true; chataurafront.settings.withIntroBox = false; } else if (chatBehavior.throughFunction.indexOf(chataurafront.settings.getChannel) >= 0) { console.log('throughFunction type'); chataurafront.settings.channelType = 'throughFunction'; if (chataurafront.settings.getChannel != 'portal-assine-mobile') chataurafront.settings.launch_button_element = '
'; else $('body').append('= 0) { console.log('ouvidoria type'); chataurafront.settings.channelType = 'ouvidoria'; surveySatisfaction = true; chataurafront.settings.withIntroBox = false; ouvidoriaChat = true; } else { if (chataurafront.settings.getChannel == 'ti-web') { surveySatisfaction = true; chataurafront.settings.withIntroBox = false; }else if(chataurafront.settings.getChannel == 'proj-beatrix'){ console.log('proj-beatrix type'); chataurafront.settings.withIntroBox = false; chataurafront.settings.launch_button_element = '
'; chataurafront.settings.launch_button_element += ''; chataurafront.settings.launch_button_element += ''; chataurafront.settings.launch_button_element += ''; chataurafront.settings.launch_button_element += '

Olá! Sou a Trix.
Como posso te ajudar?

'; chataurafront.settings.launch_button_element += '
'; chataurafront.settings.launch_button_element += '
'; }else{ console.log('default type'); chataurafront.settings.launch_button_element = '
'; chataurafront.settings.launch_button_element += ''; chataurafront.settings.launch_button_element += ''; chataurafront.settings.launch_button_element += ''; chataurafront.settings.launch_button_element += '

Olá! Eu sou a Aura.
Posso te ajudar?

'; chataurafront.settings.launch_button_element += '
'; chataurafront.settings.launch_button_element += '
'; } } if (chataurafront.settings.getChannel == 'portal-web-mobile-b2c' || chataurafront.settings.getChannel == 'portal-assine-mobile'){ surveySatisfaction = true; chataurafront.settings.device.mobile = true; } // } var dynamicContent = null; chataurafront.functions.readFromJson = $.getJSON(chataurafront.settings.url + "/scripts/dynamic-content.json") .success(function(data) { dynamicContent = data; }); chataurafront.functions.filterMessageFromJson = function(dynamic, cName, msgTag) { return (dynamic.messages.channel[cName][msgTag]) ? dynamic.messages.channel[cName][msgTag] : dynamic.messages.channel.default[msgTag]; } /* CONSTRUÇÃO DO CHAT - BACKGROUND */ if (!ouvidoriaChat){ // chataurafront.settings.template.boxChat = ''; chataurafront.settings.template.boxChat = '
'; chataurafront.settings.template.boxChat += '
'; chataurafront.settings.template.boxChat += ''; chataurafront.settings.template.boxChat += '
'; chataurafront.settings.template.boxChat += ''; chataurafront.settings.template.boxChat += ''; chataurafront.settings.template.boxChat += '
'; chataurafront.settings.template.boxChat += '
'; chataurafront.settings.template.boxChat += '
'; var msgJsonWelcome; if(dynamicContent) msgJsonWelcome = chataurafront.functions.filterMessageFromJson(dynamicContent, channel, "welcome"); else{ $.when(chataurafront.functions.readFromJson).then(function(){ msgJsonWelcome = chataurafront.functions.filterMessageFromJson(dynamicContent, channel, "welcome"); chataurafront.settings.template.boxChat += '

'+msgJsonWelcome[0]+'

'; chataurafront.settings.template.boxChat += '

'+msgJsonWelcome[1]+' '+msgJsonWelcome[2]+'

'; chataurafront.settings.template.boxChat += '

'+msgJsonWelcome[3]+'

'; chataurafront.settings.template.boxChat += '
'; chataurafront.settings.template.boxChat += '
'; chataurafront.settings.template.boxChat += '
'; chataurafront.settings.template.boxChat += '
'; chataurafront.settings.template.boxChat += ''; chataurafront.settings.template.boxChat += '
'; chataurafront.settings.template.boxChat += ''; chataurafront.settings.template.boxChat += '
'; chataurafront.settings.template.boxChat += '
'; }); } } else { chataurafront.settings.template.boxChat = '
'; chataurafront.settings.template.boxChat += '
'; chataurafront.settings.template.boxChat +=''; chataurafront.settings.template.boxChat +='Pesquisar'; chataurafront.settings.template.boxChat += '
'; chataurafront.settings.template.boxChat +='
Resposta Aura
'; chataurafront.settings.template.boxChat +='
'; chataurafront.settings.template.boxChat +='
'; chataurafront.settings.template.boxChat +='
'; chataurafront.settings.template.boxChat +='
'; } /* UTILS FUNCTIONS */ //load script chataurafront.functions.dynamicallyLoadScript = function (url, target) { var script = document.createElement("script"); script.src = url; if (target == 'body') { document.body.appendChild(script); } else { document.head.appendChild(script); } } //remove scripts chataurafront.functions.dynamicallyRemoveScript = function (url) { $('script[src="' + url + '"]').remove(); } //add css style chataurafront.functions.dynamicallyLoadStyle = function (url, mediaAttr, relAttr, target) { var link = document.createElement("link"); link.rel = relAttr; if (mediaAttr !== undefined || mediaAttr !== null) { link.media = mediaAttr; } link.href = url; if (target !== null && target !== undefined && target == "body" && target !=="head") { document.body.insertBefore(link, document.body.firstChild); } else { document.head.insertBefore(link, document.head.firstChild); } } //remove css style chataurafront.functions.dynamicallyRemoveStyle = function (url) { $('link[href="' + url + '"]').remove(); } //utils chataurafront.functions.isIE = function () { var ua = window.navigator.userAgent; if (ua.indexOf("MSIE ") != -1 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) { return true; } else { return false; } } //wait chataurafront.functions.wait = function (funcao, tempo) { setTimeout(function () { funcao }, tempo); } chataurafront.settings.template.aurathink = '
'; chataurafront.settings.template.aurathink += '
'; chataurafront.settings.template.aurathink += '
'; chataurafront.settings.template.aurathink += '
'; chataurafront.settings.template.aurathink += '
'; chataurafront.settings.template.auracross = '
'; chataurafront.settings.template.auracross += '
'; chataurafront.settings.template.auracross += '
'; chataurafront.settings.template.auracross += '
'; chataurafront.settings.template.auracross += '
'; /* CONTROLE E ENVIO DO ALFRED */ chataurafront.functions.scroll = function(element) { if ($(element)[0] != null) $(element).scrollTop($(element)[0].scrollHeight); } chataurafront.functions.showHideAlfred = function(operation) { switch (operation) { case 'show': $("#alfred-ativo").fadeIn('fast', function() { $("#alfred-inativo").hide(); }); break; case 'hide': $("#alfred-ativo").fadeOut('fast', function() { $("#alfred-inativo").show(); }); break; } } chataurafront.functions.sendAlfred = function() { $alfred_ativo = $("#alfred-ativo"); $alfred_inativo = $("#alfred-inativo"); if ($alfred_ativo.css('display') == 'inline' || $alfred_ativo.css('display') == 'inline-block' || $alfred_ativo.css('display') == 'block') { var delay = 0.1; $("#alfred-message ul").children().each(function() { delay += 0.1; $(this).css({ 'animation': 'bottomToNegTop ' + delay + 's', 'animation-fill-mode': 'both' }); }); setTimeout(function() { chataurafront.functions.showHideAlfred('hide'); $('[id="alfred-message"]').remove(); $(".latest_message, .previous_message").css('display', 'block'); if ($('.chat_container').children().size() == 0) $('.chat_container').append($welcomeMessage); chataurafront.functions.scrollToDown(); }, 850); } else { var msgJson; var alfredMsg = "Oi sou o alfred"; if (dynamicContent) msgJson = chataurafront.functions.filterMessageFromJson(dynamicContent, chataurafront.settings.getChannel, "alfred"); else { $.when(chataurafront.functions.readFromJson).then(function() { msgJson = chataurafront.functions.filterMessageFromJson(dynamicContent, chataurafront.settings.getChannel, "alfred"); }); } alfredMsg = "
" alfredMsg += "

"; alfredMsg += msgJson[0]; alfredMsg += "

"; alfredMsg += ""; alfredMsg += "
"; chataurafront.functions.showHideAlfred('show'); if ($('#aura-welcome-msg').html() != null) { $('.chat_body').addClass('chat_converse'); $('#aura-welcome-msg').remove(); } $(".latest_message, .previous_message").css('display', 'none') $(".chat_container").append(alfredMsg); } } chataurafront.settings.template.message = function(message) { var botFrameworkResponse = '' return '
' + (message ? message : botFrameworkResponse) + '
'; } /* FUNÇÕES DE ENVIO DE MENSAGEM */ chataurafront.functions.animateAuraThink = function() { var elem = document.getElementById('thinking') animData = { container: elem, renderer: 'svg', loop: true, autoplay: true, rendererSettings: { progressiveLoad: false }, path: chataurafront.settings.url + '/scripts/json/thinking.json' }; if(chataurafront.settings.getChannel !='proj-beatrix'){ $("#fab_send i").hide(); anim = bodymovin.loadAnimation(animData); } } chataurafront.functions.waitAnimLoad = function(anim){ if (!anim.isLoaded) setTimeout(function(){ chataurafront.functions.waitAnimLoad(anim); },1000); else setTimeout(function() { bodymovin.togglePause(); }, 50); } chataurafront.functions.waitForAnim = function(animData){ if(typeof bodymovin !== "undefined"){ anim = bodymovin.loadAnimation(animData); chataurafront.functions.waitAnimLoad(anim); }else{ setTimeout(function(){ console.log('waiting element load'); chataurafront.functions.waitForAnim(animData); }, 4000); } } chataurafront.functions.animateAuraCross = function() { var elem = document.getElementById('aura2cross') animData = { container: elem, renderer: 'svg', loop: true, autoplay: true, rendererSettings: { progressiveLoad: false }, path: chataurafront.settings.url + '/scripts/json/aura2cross.json' }; $("#launch_button i").hide(); chataurafront.functions.waitForAnim(animData); } chataurafront.functions.scrollToDown = function() { if (ouvidoriaChat) { var ps = new PerfectScrollbar('.chat_converse'); } var scrollHeightTotal = $('.chat_converse')[0].scrollHeight var lastMemberHeight = $('.chat_container').children().last()[0].scrollHeight // $('.chat_converse').scrollTop(scrollHeightTotal - lastMemberHeight - 20); var screenHeight = window.screen.height; console.log(screenHeight); if (chataurafront.settings.getChannel == 'mvf-app-new') { if (screenHeight < 668) { $('.chat_converse').scrollTop(scrollHeightTotal - lastMemberHeight - 40); }else{ $('.chat_converse').scrollTop(scrollHeightTotal - lastMemberHeight - 20); } } else { $('.chat_converse').scrollTop(scrollHeightTotal - lastMemberHeight - 20); } } chataurafront.functions.sendMessage = function() { $('#fab_send').click(function() { if ($("#chatSend").val() != "") { filterText = $("#chatSend").val(); if(ouvidoriaChat){ $(".divBotoes").show(); $(".divBotoesViviChat").show(); } $("#chatSend").attr('placeholder', 'Por favor aguarde...') filterText = filterText.replace(/[<>]/g, " "); filterText = filterText.replace(/script/g, " "); var userMessage = filterText ; if (chataurafront.settings.noerase != '' && chataurafront.settings.noerase != undefined){ userMessage = chataurafront.settings.noerase; chataurafront.settings.noerase = ''; }else{ filterText = filterText.replace(/[<>]/g, " "); filterText = filterText.replace(/script/g, " "); var userMessage = filterText; } $("#chatSend").val('').attr('disabled', 'disabled').height(21); chataurafront.functions.showHideAlfred('hide'); if ($('#alfred-message').html()) $('[id="alfred-message"]').remove(); if ($('#aura-welcome-msg').html() != null) { $('.chat_body').addClass('chat_converse'); $('#aura-welcome-msg').remove(); } if (ouvidoriaChat) { $('.chat_body').addClass('chat_converse'); $(".latest_message").remove(); $(".faixa-aura").css("display", "block"); console.log("Mostra header ouvidoria!"); } //Controle de última mensagem enviada $(".latest_message, .previous_message").css('display', 'block') $(".latest_message").css('padding-bottom', '0px'); $('.latest_message').append('
') $(".latest_message").children().last().removeClass('aura_responseBody') $('.chat_container').children().last().removeClass('latest_message'); $('.chat_container').children().last().addClass('previous_message'); $(".previous_message>.aura_responseBody").css('padding-bottom', 0); //Esconde mensagens anteriores // $('.previous_message').css('display','none'); // $('').children().last().css('margin-top','10px'); if(chataurafront.settings.attachmentButtonTitle != '' && chataurafront.settings.attachmentButtonTitle != undefined){ $(".chat_container").append('

' + chataurafront.settings.attachmentButtonTitle + '

'); }else{ $(".chat_container").append('

' + userMessage.replace(/[<>]/g, " ").replace(/script/g, " ") + '

'); } setTimeout(function() { if ($("#chatSend").attr('disabled')) $(".latest_message").append('
Estou pensando ...
'); }, 5000); if (chataurafront.settings.screenHeight <= 0) { chataurafront.settings.screenHeight = $('.chat_converse').height(); } console.log(chataurafront.settings.screenHeight); console.log($('.latest_message .user_questionBody')[0].scrollHeight) if ($('.latest_message .user_questionBody')[0].scrollHeight > chataurafront.settings.screenHeight * 0.8) { $(".latest_message").css('padding-bottom', 0); // SimpleScrollbar.initAll(); // console.log('teste1'); } else { $(".latest_message").css('padding-bottom', chataurafront.settings.screenHeight * 0.95 - $('.latest_message .user_questionBody')[0].scrollHeight); // SimpleScrollbar.initAll(); // console.log('teste2'); $('.chat_converse').css('overflow', 'hidden'); $("#fab_send").append(chataurafront.settings.template.aurathink); chataurafront.functions.animateAuraThink(); } if ($('.chat_container').children().length > 1) $('.chat_container').children().last().css('margin-top', '25px'); chataurafront.functions.scrollToDown(); chataurafront.functions.sendActivity(userMessage.replace(/[<>]/g, " ").replace(/script/g, " ")); } else { if(ouvidoriaChat) msgAlert("Por favor, digite uma pergunta no campo indicado.", "alert"); } }); } chataurafront.functions.enableUser = function(response) { $("#aura_thinking").remove(); if(chataurafront.settings.getChannel !='proj-beatrix'){ $("#fab_send i").toggle(); } $("#fab_send .canvas").remove(); $('#chatSend').attr('placeholder', 'Digite sua mensagem...') // if (response.text != null) { // $('.aura_desambiguacao').css('display', 'none'); // if (response.entities != null) { // var quickReply = "
"+ response.text +"
" // $(".latest_message").append('
' + quickReply + '
'); // } else { // // response.text = response.text.replace(/style="[a-zA-Z0-9:;\.\s\(\)\-\,]*"/gi, ""); // remove todas as propriedades style // response.text = response.text.replace(/background-color:(.*?);/gm, ""); // remove todos os background // $(".latest_message").append('
' + response.text + '
'); // } // } else { // $(".latest_message").append('
' + // chataurafront.functions.filterMessageFromJson(dynamicContent, 'default', response) + '
'); // } // if (response.length > 1){ //adicionar condição ao receber activities 15-03 // }else{ //condição para uma activity(como funciona atualmente)-15-03 console.log(response); if(response != 'responseTimeout' && response != 'apiError'){ response.forEach(function(element){ if (element.text != null) { $('.aura_desambiguacao').css('display', 'none'); if (element.value != null) { console.log('entities/value diferente de null'); var quickReply = "
"+ element.text +"
" $(".latest_message").append('
' + quickReply + '
'); } else { // response.text = response.text.replace(/style="[a-zA-Z0-9:;\.\s\(\)\-\,]*"/gi, ""); // remove todas as propriedades style element.text = element.text.replace(/background-color:(.*?);/gm, ""); // remove todos os background $(".latest_message").append('
' + element.text + '
'); } // if(element.attachments) { // $(".aura_responseBody").css('padding-bottom', '20px'); // console.log('entrou no if attachments'); // console.log(element.attachments[0].content.buttons); // var btnLuis = "
"; // $(".latest_message").append('
' + btnLuis + '
'); // } } else { if(element.attachments) { $(".aura_responseBody").css('padding-bottom', '20px'); console.log('entrou no if attachments'); console.log(element.attachments[0].content.buttons); var btnLuis = "
"; $(".latest_message").append('
' + btnLuis + '
'); }else{ $(".latest_message").append('
' + chataurafront.functions.filterMessageFromJson(dynamicContent, 'default', element) + '
'); } } }); }else if(response != 'apiError'){ //element.text = element.text.replace(/background-color:(.*?);/gm, ""); // remove todos os background $(".latest_message").append('
' + 'Desculpe não pude realizar esta operação- tente novamente!' + '
'); }else{ $(".latest_message").append('
' + 'Desculpe não pude realizar esta operação- tente novamente!' + '
'); } // } // if ($('.latest_message').height() < $('.chat_converse').height() * 0.90) { $(".latest_message").css('padding-bottom', $('.chat_converse').height() * 0.93 - $('.latest_message').height()); } else { $(".latest_message").css('padding-bottom', '0px'); } $('.chat_converse').css('overflow', 'auto'); $("#chatSend").removeAttr('disabled'); chataurafront.functions.scrollToDown(); if (!slowReplyAppears) { chataurafront.functions.sendSlowReplyReponse(); slowReplyAppears = true; } if (!quickReplyAppears) { chataurafront.functions.sendQuickReplyResponse(); quickReplyAppears = true; } } chataurafront.functions.sendSlowReplyReponse = function() { $('.chat_converse').delegate('#slow_reply_option', 'click', function(e) { //console.log(e.currentTarget.innerText); //console.log(e.currentTarget.title); // $("#chatSend").val(e.currentTarget.innerText); $("#chatSend").val(e.currentTarget.title); chataurafront.settings.attachmentButtonTitle = e.currentTarget.innerText; $("#fab_send").click(); chataurafront.settings.attachmentButtonTitle = ''; }); } chataurafront.functions.sendQuickReplyResponse = function() { $('.chat_converse').delegate('#quick_reply_option', 'click', function() { var text = $(this).data('text'); var title = $(this).data('title'); $('.aura_desambiguacao').css('display', 'none'); $(".latest_message").append('
' + title + '
'); $(".latest_message").css('display', 'block'); $(".latest_message").css('padding-bottom', '0px'); if (ouvidoriaChat) { $(".latest_message").remove(); } $('.latest_message').append('
'); $(".latest_message").children().last().removeClass('aura_responseBody'); $('.chat_container').children().last().addClass('previous_message'); $('.chat_container').children().last().removeClass('latest_message'); $(".chat_container").append('

' + title + '

'); // $('.chat_container').children().last().css('margin-top','25px'); $(".latest_message").append('
' + text + '
'); if ($('.latest_message').height() < $('.chat_converse').height() * 0.90) { $(".latest_message").css('padding-bottom', $('.chat_converse').height() * 0.98 - $('.latest_message').height()); } else { $(".latest_message").css('padding-bottom', '0px'); } $(".previous_message>.aura_responseBody").css('padding-bottom', 0); chataurafront.functions.scrollToDown(); }) } /* BOT FRAMEWORK APIS */ chataurafront.functions.sendSurvey = function () { $.ajax({ //one aura dev satisfaction // url: 'https://dev-aura-customer-survey.telefonicabigdata.com/api/v1', // one aura pro satifaction url: 'https://pro-aura-customer-survey.telefonicabigdata.com/api/v1', //pre satisfaction // url: 'https://aura-services-env-br-pre.azurewebsites.net/api/aura-customer-survey?code=bdK9MNCB60Tae1KJ8659P2pozx3fpEH2dCl4Thr/yo8omlaHVZPiyA==', //pro satisfaction //url: 'https://aura-services-env-br-pro.azurewebsites.net/api/aura-customer-survey?code=GNPCsuE5YDieMPBJF27YOAI0m2tJK2BaHFk2cnsmdZWta3LAADstPw==', headers: { 'Content-Type': 'application/json', 'accept': 'application/json' }, type: 'POST', crossDomain: true, data: JSON.stringify(surveyObject), dataType: 'json', async: true, success: function (data) { console.log(data); }, error: function (data) { console.log(data); } }); } chataurafront.functions.requestSurveySatisfaction = function (msisdn) { if (!botConversationResponse.conversationId) { setTimeout(function () { if (!botConversationResponse.conversationId) { chataurafront.functions.requestSurveySatisfaction(msisdn); } else { surveyObject.conversationId = botConversationResponse.conversationId; surveyObject = { "conversationId": botConversationResponse.conversationId, "msisdn": msisdn, "channel": chataurafront.settings.getChannel } chataurafront.functions.sendSurvey(); surveyObject = {}; } }, 2000); } } chataurafront.functions.getToken = function (channel) { //get channel ids - same to dev/pre and prod chataurafront.settings.getChannelId = chataurafront.functions.filterMessageFromJson(dynamicContent, 'config', 'channelId'); //tests one aura chataurafront.settings.getChannelName = chataurafront.functions.filterMessageFromJson(dynamicContent, 'config', 'channelName'); //get channelname -old // channelName = chataurafront.functions.filterMessageFromJson(dynamicContent, 'config', 'channelName'); // var urlGetTokenDefault = 'https://aura-utils-env-br-pre.azurewebsites.net/auraservices/v1/token?code=' + channelName[chataurafront.settings.getChannel] + '64febd85-9da0-5812-bad4-c46c4bb5e0c0'; // new token api dev/pre and prod //get channel apikeys dev/pre -- // chataurafront.settings.getChannelAPIKeyDev = chataurafront.functions.filterMessageFromJson(dynamicContent, 'config', 'channelAPIKeyDev'); // var urlGetTokenDefault = 'https://ai-services-env-br-dev.auracognitive.com/aura-services/v1/token'; // var urlGetTokenDefault ='https://aura-auth-dev-oneaura.telefonicabigdata.com/aura-services/v1/token?correlator=391e602d-b933-4b7d-a3c3-132f4eb46a60'; //correlator é opcional //one aura pre token endpoint // var urlGetTokenDefault ='https://aura-auth-dev-oneaura.telefonicabigdata.com/aura-services/v1/token'; // var urlGetTokenDefault ='https://dev-aura-authentication-api.telefonicabigdata.com/aura-services/v1/token'; //get channel apikeys prod -- chataurafront.settings.getChannelAPIKeyProd = chataurafront.functions.filterMessageFromJson(dynamicContent, 'config', 'channelAPIKeyProd'); //one aura pro token endpoint var urlGetTokenDefault ='https://aura-auth.telefonicabigdata.com/aura-services/v1/token'; // var urlGetTokenDefault = 'https://ai-services-env-br-prod.auracognitive.com/aura-services/v1/token'; //var urlGetTokenDefault = 'https://aura-utils-env-br-pro.azurewebsites.net/auraservices/v1/token?code=' + channelName[chataurafront.settings.getChannel] + '7d693213-142b-5aa7-b5cc-ee17fe0f4870'; $.when(chataurafront.functions.readFromJson).then(function () { if (channel) chataurafront.settings.getChannel = channel; $.ajax({ url: chataurafront.settings.pocLuis ? urlGetTokenPocLuis : urlGetTokenDefault, // dev/pre headers new // headers: { // 'Authorization': 'APIKEY ' + chataurafront.settings.getChannelAPIKeyDev[chataurafront.settings.getChannel], // // 'Authorization': 'APIKEY 2601e7fe18ef4a1e1dda704d3290520816ec59b1dd5fde7499df978fcfe7f23bfcc1e8df22e34d49866333e7d46d6b43d20b0deff66ea527c56fc1b919d83ce9e8eb1e7736e6bf0c3c64781c45bb9b6106ddf065d3977c3e8cfeda8013393f31cdd3651a824314d5dbac4363eb43600bd7119db210ad38006d72425cf06c4426d8f727590145e2e31c5226d1bae8ae4bff4f352c7039ed757de43b046d6117565989c3c57b60b0b72263ffbdbe32761ee84fe02a45e0967a1249629007ebee6f2861b4ec8d04ce2b6d53374f78bdb39e', // 'Content-Type': 'application/json' // }, // prod headers new headers: { 'Authorization': 'APIKEY ' + chataurafront.settings.getChannelAPIKeyProd[chataurafront.settings.getChannel], 'Content-Type': 'application/json' }, type: 'GET', crossDomain: true, dataType: 'json', success: function (data) { console.log(data); chataurafront.functions.startConversation(data.token); }, error: function (data) { console.log(data); TokenStartConversationStatus = false; } }); }) } chataurafront.functions.startConversation = function (token) { $.ajax({ url: 'https://directline.botframework.com/v3/directline/conversations', headers: { 'Authorization': 'Bearer ' + token }, type: 'POST', crossDomain: true, dataType: 'json', async: true, success: function (data) { console.log(data); botConversationResponse = data; }, error: function (data) { console.log(data); TokenStartConversationStatus = false; } }); } chataurafront.functions.sendActivity = function (userMessage) { if (botConversationResponse.token == null) { if (!TokenStartConversationStatus) { chataurafront.functions.enableUser('apiError'); } else { console.log('Waiting for Token and StartConversation'); setTimeout(function () { chataurafront.settings.countRequestToken++; if (chataurafront.settings.countRequestToken > 5) { chataurafront.settings.countRequestToken = 0; console.log('responseTimeout-sendactivity'); chataurafront.functions.enableUser('responseTimeout'); } else { chataurafront.functions.sendActivity(userMessage); } }, 2000) } } else { clientActivityId += 1; if (chataurafront.settings.getChannel == 'mvf-web-desktop-email') { chataurafront.settings.getchannel = 'mvm-web-desktop-email'; } if (chataurafront.settings.getChannel == 'mvf-web-desktop-chat') { chataurafront.settings.getchannel = 'mvm-web-desktop-chat'; } if (chataurafront.settings.getChannel == 'mvf-web-desktop-ouvidoria') { chataurafront.settings.getchannel = 'mvm-web-desktop-ouvidoria'; } var reqObject = { "type": "message", "text": userMessage.replace(/\n/g, ''), "from": { // "id": chataurafront.settings.getChannel, // "id": chataurafront.settings.getChannelId[chataurafront.settings.getChannel], "id": chataurafront.settings.getChannelName[chataurafront.settings.getChannel] }, // "locale": "pt-BR", // "textFormat": "plain", // "timestamp": "2018-06-16T22:46:41.133Z", "channelData": { "clientActivityId": clientActivityId, "msisdn": chataurafront.settings.getBusinessKey, "appContext": { "channel": { // app id update "appId": chataurafront.settings.getChannelId[chataurafront.settings.getChannel] } } } }; $.ajax({ url: 'https://directline.botframework.com/v3/directline/conversations/' + botConversationResponse.conversationId + '/activities', headers: { 'Authorization': 'Bearer ' + botConversationResponse.token, 'Content-Type': 'application/json' }, type: 'POST', crossDomain: true, data: JSON.stringify(reqObject), dataType: 'json', async: true, success: function (data) { console.log(data); chataurafront.functions.ReceiveActivity(data.id.split('|')[1]); }, error: function (data) { console.log(data); if (JSON.stringify(data).toLowerCase().indexOf('tokenexpired') >= 0) { console.log('ERROR: Token Expired') botConversationResponse = {}; clientActivityId = 0; $.when(chataurafront.functions.getToken()).then(chataurafront.functions.sendActivity(userMessage)); } else { console.log('ERROR: API Error') chataurafront.functions.enableUser('apiError'); } } }); } } chataurafront.functions.ReceiveActivity = function (messageId) { botFrameworkAnswered += 1; console.log(messageId) $.ajax({ url: 'https://directline.botframework.com/v3/directline/conversations/' + botConversationResponse.conversationId + '/activities?watermark=' + messageId, headers: { 'Authorization': 'Bearer ' + botConversationResponse.token, 'Content-Type': 'application/json' }, type: 'GET', crossDomain: true, async: true, success: function (data) { console.log(data); if (data.activities.length > 0) { //chataurafront.functions.enableUser(data.activities[0]); chataurafront.functions.enableUser(data.activities); botFrameworkAnswered = 0; auraUserInteraction = true; } else if (botFrameworkAnswered <= 8) { setTimeout(function () { chataurafront.functions.ReceiveActivity(messageId); }, 1500); } else { console.log('responseTimeout-receiveactivity'); chataurafront.functions.enableUser('responseTimeout'); botFrameworkAnswered = 0; } }, error: function (data) { console.log(data); chataurafront.functions.enableUser(JSON.stringify(data)); chataurafront.functions.enableUser('apiError'); } }); } /* FUNÇÃO PRINCIPAL QUE CONSTRÓI TUDO NO HTML DO CLIENT */ //init launch chataurafront.functions.launchCracker = function() { //ADICIONANDO ELEMENTOS DINAMICAMENTE NO HTML if (!ouvidoriaChat) { chataurafront.functions.dynamicallyLoadStyle(chataurafront.settings.url + '/styles/min/main.min.css', 'all', 'stylesheet', 'head'); chataurafront.functions.dynamicallyLoadStyle(chataurafront.settings.url + '/styles/min/channel/'+ chataurafront.settings.getChannel +'.min.css', 'all', 'stylesheet', 'head'); } else { chataurafront.functions.dynamicallyLoadStyle(chataurafront.settings.url + '/styles/min/ouvidoria.min.css', 'all', 'stylesheet', 'head'); chataurafront.functions.dynamicallyLoadStyle(chataurafront.settings.url + '/styles/min/channel/'+ chataurafront.settings.getChannel +'.min.css', 'all', 'stylesheet', 'head'); } if (ouvidoriaChat) { chataurafront.functions.dynamicallyLoadStyle(chataurafront.settings.url + '/scripts/perfect-scrollbar/css/perfect-scrollbar.css', 'all', 'stylesheet', 'head'); chataurafront.functions.dynamicallyLoadScript(chataurafront.settings.url + '/scripts/perfect-scrollbar/dist/perfect-scrollbar.js', 'body'); } if (chataurafront.settings.getChannel == 'portal-web-mobile-b2c' || chataurafront.settings.getChannel == 'portal-b2c-desktop' || chataurafront.settings.getChannel == 'portal-b2b-operadoras' || chataurafront.settings.getChannel == 'portal-b2b-desktop-pme'){ chataurafront.functions.dynamicallyLoadScript(chataurafront.settings.url + '/scripts/main.js', 'head'); chataurafront.functions.dynamicallyLoadScript(chataurafront.settings.url + '/scripts/bodyanim.js', 'head'); chataurafront.functions.dynamicallyLoadScript(chataurafront.settings.url + '/scripts/jquery-3.3.1.min.js', 'head'); }else{ chataurafront.functions.dynamicallyLoadScript(chataurafront.settings.url + '/scripts/main.js', 'body'); chataurafront.functions.dynamicallyLoadScript(chataurafront.settings.url + '/scripts/bodyanim.js', 'body'); chataurafront.functions.dynamicallyLoadScript(chataurafront.settings.url + '/scripts/jquery-3.3.1.min.js', 'body'); } // waiting the last script loaded var lastScript = chataurafront.settings.url + '/styles/min/' + (ouvidoriaChat ? 'ouvidoria' : 'main') + '.min.css' $('link[href="' + lastScript + '"]').load(function() { setTimeout(function() { if(!$('body').children().hasClass('tag')) { $('body').append(chataurafront.settings.launch_button_element); chataurafront.functions.openChat('#launch_button'); } }, 700); }); chataurafront.functions.actionTag(); } chataurafront.functions.tagHoverBehaviour = function() { chataurafront.jquery(".chamada").animate({ width: "toggle" }, { complete: function() { chataurafront.jquery(".texto").fadeOut( "slow" ); chataurafront.jquery("#launch_button").removeClass("shadow_tag"); }, duration: 200, easing: "linear", done: function() { chataurafront.jquery("#launch_button").click(function(){ if (chataurafront.jquery(".aura").hasClass("is-visible")) { chataurafront.jquery(".chamada") .stop(true, true) .delay(2000) .animate({ width: "toggle" }, { queue: false }, { complete: function() { chataurafront.jquery(".texto").fadeIn(1500); } }) } if (chataurafront.jquery(window).width() <= 480) { chataurafront.jquery(".chamada").css("display", "none"); chataurafront.jquery(".chamada").css("opacity", "0"); chataurafront.jquery(".chamada").hide(); } }) chataurafront.jquery("#launch_button").hover( function(event) { // console.log("in"); chataurafront.jquery("#launch_button").addClass("shadow_tag"); if (!chataurafront.jquery(".aura").hasClass("is-visible")) { // console.log("Hover: Abriu chamada"); chataurafront.jquery(".chamada") .stop(true, true) // .delay(500) .animate({ width: "toggle" }, { complete: function() { chataurafront.jquery(".texto").fadeIn(1500); } }) } event.preventDefault(); }, function(event) { // console.log("out"); if (!chataurafront.jquery(".aura").hasClass("is-visible")) { // console.log("Hover: Fechou chamada"); chataurafront.jquery(".chamada") .stop(true, true) .delay(500) .animate({ width: "toggle" }, { complete: function() { chataurafront.jquery("#launch_button").removeClass("shadow_tag"); console.log("complete out"); }, done: function () { console.log("done out"); } }) } }); } }, "slow"); } var pointerOpen = false; chataurafront.functions.actionTag = function() { setTimeout(function() { chataurafront.jquery("#launch_button").on("click", function(){ if (chataurafront.jquery('.aura').html() == null && !pointerOpen) { clearTimeout(chataurafront.settings.openTagTimeout); chataurafront.functions.tagHoverBehaviour(); // console.log('executando por click'); } if (chataurafront.jquery(window).width() <= 480) { chataurafront.jquery(".chamada").css("display", "none"); chataurafront.jquery(".chamada").css("opacity", "0"); chataurafront.jquery( ".chamada" ).hide(); // console.log("fecha 3"); } }); chataurafront.jquery("#launch_button").addClass("shadow_tag"); chataurafront.jquery(".chamada").animate({ width: "toggle" }, { complete: function() { chataurafront.jquery(".texto").fadeIn(1500); // console.log("Abriu chamada"); chataurafront.settings.openTagTimeout = setTimeout(function() { pointerOpen = true; // console.log('executando setTimeout') chataurafront.functions.tagHoverBehaviour(); }, 5000); } }, "slow"); }, 2000); } chataurafront.functions.initChat = function(operatorToOpen) { $('#chatSend').focus(); if (chataurafront.settings.withIntroBox) { if (!introBox) { chataurafront.functions.buildIntroBox(operatorToOpen); introBox = true; } else { if ($('#introBoxContainer').css('display') == 'flex') { $('#introBoxContainer').trigger('click'); } else chataurafront.functions.buildBoxChat(operatorToOpen); } } else { if (businesskey != 0) chataurafront.functions.requestSurveySatisfaction(businesskey); else chataurafront.functions.requestSurveySatisfaction(""); chataurafront.functions.buildBoxChat(operatorToOpen); } } chataurafront.functions.openChat = function(operatorToOpen) { if (chataurafront.settings.channelType == 'menu' || chataurafront.settings.channelType == 'ouvidoria') { if (businesskey != 0) chataurafront.functions.requestSurveySatisfaction(businesskey); else chataurafront.functions.requestSurveySatisfaction(""); chataurafront.functions.buildBoxChat(); } else { $(operatorToOpen).click(function() { $('html').addClass("html-mobile"); chataurafront.functions.initChat(operatorToOpen); }); } } chataurafront.functions.buildIntroBox = function(operatorToOpen) { chataurafront.settings.introbox_element = "
"; chataurafront.settings.introbox_element += "
"; chataurafront.settings.introbox_element += ""; chataurafront.settings.introbox_element += "
"; chataurafront.settings.introbox_element += ""; chataurafront.settings.introbox_element +=""; // condicional para tipo input modal mobile if(chataurafront.settings.getChannel == 'portal-web-mobile-b2c' || chataurafront.settings.getChannel == 'portal-assine-mobile'){ chataurafront.settings.introbox_element += ""; } if(chataurafront.settings.getChannel != 'portal-web-mobile-b2c' && chataurafront.settings.getChannel != 'portal-assine-mobile'){ chataurafront.settings.introbox_element += ""; chataurafront.settings.boxsatisfaction_element += "
"; chataurafront.settings.boxsatisfaction_element += "
"; chataurafront.settings.boxsatisfaction_element += ""; chataurafront.settings.boxsatisfaction_element += "
"; chataurafront.settings.boxsatisfaction_element += ""; chataurafront.settings.boxsatisfaction_element += "
"; chataurafront.settings.boxsatisfaction_element += "

Até a próxima!

"; chataurafront.settings.boxsatisfaction_element += "
"; chataurafront.settings.boxsatisfaction_element += ""; $.when($(chataurafront.settings.boxsatisfaction_element).insertAfter('body')).then(function() { var radioValue = false; chataurafront.settings.step = 1; function closeSatisfaction() { $('#feedback-satisfaction, #box-satisfaction, #box-satisfaction2').hide(); chataurafront.functions.sendSurvey(); $('.final-message-survey').show(); }; function showSurveyQuestion2(){ $('#box-satisfaction2').fadeIn(50); $('#box-satisfaction').hide(); chataurafront.settings.step = 2; } function showSurveyTextArea() { $('#feedback-satisfaction').fadeIn(50); $('#box-satisfaction2').hide(); radioValue = false; chataurafront.settings.step = 3; }; function getSurveyValues() { // surveyObject = { // "conversationId": botConversationResponse.conversationId, // "msisdn": msisdn, // "evaluation": $('input[name="satisf"]:checked').val(), // "answered": $('input[name="seguin"]:checked').val() == "SIM" ? true : false, // "comment": $('.text-area-satisfaction').val() // } //satisfaction v2 surveyObject = { "conversationId": botConversationResponse.conversationId, "msisdn": msisdn, "channel": chataurafront.settings.getChannel, "evaluation": $('input[name="satisf"]:checked').val(), "answered": $('input[name="seguin"]:checked').val() == "SIM" ? true : false, "comment": $('.text-area-satisfaction').val() } }; $('.satisfaction-close-icon').click(function() { $(".box-satisfaction").remove(); }); $('input[name="seguin"]').click(function() { radioValue = $('input[value="NAO"]:checked').val(); // }); // $('#button-satisfaction-back').click(function() { // $('#feedback-satisfaction').hide(); // $('#box-satisfaction').fadeIn(50); // radioValue = true; // }); $('#button-satisfaction-send, #button-satisfaction').click(function() { getSurveyValues(); if ($('input[name="satisf"]:checked').val() == null) { // console.log('não selecionou nada de evaluate!'); } else if (chataurafront.settings.step === 1) { showSurveyQuestion2(); // console.log('question2 -step:' + chataurafront.settings.step); } else if ($('input[name="seguin"]:checked').val() == null) { // console.log('não selecionou nada de sim nao!'); } else if (chataurafront.settings.step === 2) { if (!radioValue) { closeSatisfaction(); // console.log('bye step:' + chataurafront.settings.step); } else { showSurveyTextArea(); // console.log('text-area step:' + chataurafront.settings.step); } } else if ($('.text-area-satisfaction').val() === null || $('.text-area-satisfaction').val() === "" ){ // console.log('não escreveu nada em comment!'); } else if (chataurafront.settings.step === 3) { closeSatisfaction(); // console.log('bye after text area- step:' + chataurafront.settings.step); } // getSurveyValues(); // if ( chataurafront.settings.step === 1) { // showSurveyQuestion2(); // console.log('question2 -step:'+chataurafront.settings.step); // } else if( chataurafront.settings.step === 2){ // if(!radioValue){ // closeSatisfaction(); // console.log('bye step:'+chataurafront.settings.step); // }else{ // showSurveyTextArea(); // console.log('text-area step:'+chataurafront.settings.step); // } // }else if( chataurafront.settings.step === 3){ // closeSatisfaction(); // console.log('bye after text area- step:'+chataurafront.settings.step); // } }); surveySatisfaction = true; }); } chataurafront.functions.minimizeChat = function() { $('.popup-chat').animate({ 'width': '0', 'height': '0' }, function() { $(this).css('display', 'none').removeClass('show-state').addClass('hidden-state'); }); } chataurafront.functions.getQParam = function(param) { var url = window.location.search.substring(1); var params = url.split('&'); for (i in params) { var value = params[i].split('='); if (param == value[0]) { return value[1]; } } } $(document).ready(function() { chataurafront.functions.launchCracker(); $(document).keyup(function(e) { if (e.keyCode == 27) { if ($('#introBox').css('display')) $('#introBoxContainer').trigger('click'); } }); function getQuestion(){ if ($("#launch_button").size() < 1){ setTimeout(function(){ if(chataurafront.settings.channelType != 'menu' && !ouvidoriaChat){ getQuestion(); } },4000) } else { if (chataurafront.functions.getQParam('question')) { $('#launch_button').click(); $('#introBoxContainer').click(); var question = chataurafront.functions.getQParam('question'); question = decodeURI(question); $('#chatSend').val(question); $('.seta_envio').click(); } } } getQuestion(); });