04912a781023904932c0a9046b65f21f283193bf
[motion2.git] / server / services / routing / server / applications / dialogflow.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x87d3=['Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','channel','sms','whatsapp','phone','chat','ChatWebsiteId','AccountId','created','isEmpty','body','getMustacheRender','Message','then','stringify','finally','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','stop','textRequest','message','dialogflow','providerResponse','create','result','metadata','endConversation','catch','error','lodash','moment','apiai-promise','md5','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','consequence','isNil','interaction','UserId','info','[%s][DIALOGFLOW]\x20%s'];(function(_0x6cd4b1,_0x58787c){var _0x3abb05=function(_0x5d3984){while(--_0x5d3984){_0x6cd4b1['push'](_0x6cd4b1['shift']());}};_0x3abb05(++_0x58787c);}(_0x87d3,0x86));var _0x387d=function(_0x163742,_0x467e36){_0x163742=_0x163742-0x0;var _0x1152ac=_0x87d3[_0x163742];return _0x1152ac;};'use strict';var _=require(_0x387d('0x0'));var moment=require(_0x387d('0x1'));var apiai=require(_0x387d('0x2'));var md5=require(_0x387d('0x3'));var utils=require(_0x387d('0x4'));var logger=require(_0x387d('0x5'))('routing');var rpc={'chatMessage':require(_0x387d('0x6')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0x387d('0x7')),'smsMessage':require(_0x387d('0x8')),'faxMessage':require(_0x387d('0x9')),'whatsappMessage':require('../../rpc/whatsappMessage')};exports[_0x387d('0xa')]=function(_0x265532,_0x3b1d5b){return function(_0x689c51){try{if(!_[_0x387d('0xb')](this[_0x387d('0xc')][_0x387d('0xd')])){logger[_0x387d('0xe')](_0x387d('0xf'),_0x265532,_0x387d('0x10'));return _0x689c51[_0x387d('0x11')]();}var _0x588ef4={'ContactId':this[_0x387d('0x12')]['id'],'sentAt':moment()[_0x387d('0x13')](_0x387d('0x14')),'direction':_0x387d('0x15')};if(this[_0x387d('0x16')]===_0x387d('0x17')||this[_0x387d('0x16')]===_0x387d('0x18')){_0x588ef4[_0x387d('0x19')]=this[_0x387d('0xc')][_0x387d('0x19')];}var _0x207f47=this[_0x387d('0x16')];if(_0x207f47===_0x387d('0x1a')){_0x588ef4[_0x387d('0x1b')]=this['account']['id'];}else{_0x588ef4[_['upperFirst'](_0x207f47)+_0x387d('0x1c')]=this['account']['id'];}_0x588ef4[_['upperFirst'](_0x207f47)+'InteractionId']=this[_0x387d('0xc')]['id'];if(this[_0x387d('0xc')][_0x387d('0x1d')]){var _0x2998e9=_0x3b1d5b[0x2];if(!_[_0x387d('0x1e')](_0x2998e9)){_0x588ef4[_0x387d('0x1f')]=utils[_0x387d('0x20')](_0x2998e9,this);return rpc[_0x207f47+_0x387d('0x21')]['create'](_0x588ef4)[_0x387d('0x22')](function(_0xa50585){logger[_0x387d('0xe')]('[%s][DIALOGFLOW]\x20%s',_0x265532,_0x588ef4[_0x387d('0x1f')]);})['catch'](function(_0x476c69){logger['error'](_0x387d('0xf'),_0x265532,JSON[_0x387d('0x23')](_0x476c69));})[_0x387d('0x24')](function(){logger[_0x387d('0xe')](_0x387d('0x25'),_0x265532);_0x689c51['stop']();});}else{logger['info'](_0x387d('0x26'),_0x265532);_0x689c51[_0x387d('0x27')]();}}else{var _0x2f2827=this;var _0x580a6e=apiai(_0x3b1d5b[0x0],{'language':_0x3b1d5b[0x1]||'en'});return _0x580a6e[_0x387d('0x28')](this[_0x387d('0x29')][_0x387d('0x1f')],{'sessionId':md5(this[_0x387d('0xc')]['id'])})[_0x387d('0x22')](function(_0x5569db){_0x2f2827['body']['dialogflow']=_0x5569db;_0x588ef4[_0x387d('0x1f')]=_0x5569db['result']['fulfillment']['speech'];_0x588ef4['providerName']=_0x387d('0x2a');_0x588ef4[_0x387d('0x2b')]=JSON[_0x387d('0x23')](_0x5569db);return rpc[_0x207f47+_0x387d('0x21')][_0x387d('0x2c')](_0x588ef4)[_0x387d('0x22')](function(_0x1d3f3a){logger[_0x387d('0xe')](_0x387d('0xf'),_0x265532,_0x588ef4[_0x387d('0x1f')]);if(_0x5569db[_0x387d('0x2d')][_0x387d('0x2e')][_0x387d('0x2f')]){_0x689c51[_0x387d('0x11')]();}else{_0x689c51[_0x387d('0x27')]();}})[_0x387d('0x30')](function(_0x5da92e){logger[_0x387d('0x31')](_0x387d('0xf'),_0x265532,JSON[_0x387d('0x23')](_0x5da92e));_0x689c51['next']();});})[_0x387d('0x30')](function(_0x452a11){logger[_0x387d('0x31')](_0x387d('0xf'),_0x265532,_0x452a11[_0x387d('0x29')]);_0x689c51['next']();});}}catch(_0xd3fecf){logger[_0x387d('0x31')]('[%s][DIALOGFLOW]\x20%s',_0x265532,JSON['stringify'](_0xd3fecf));_0x689c51[_0x387d('0x27')]();}};};