929b0f0f7ba60790556f77c880d0e74ce40bd373
[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 _0x1c88=['body','catch','error','finally','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','textRequest','message','dialogflow','result','fulfillment','providerName','providerResponse','stringify','create','metadata','endConversation','stop','lodash','apiai-promise','md5','./utils','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','consequence','isNil','interaction','UserId','[%s][DIALOGFLOW]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','format','YYYY-MM-DD\x20HH:mm:ss','out','sms','channel','phone','chat','ChatWebsiteId','account','AccountId','upperFirst','created','isEmpty','getMustacheRender','Message','then','info'];(function(_0x387777,_0x356171){var _0x3f84c0=function(_0x4d4423){while(--_0x4d4423){_0x387777['push'](_0x387777['shift']());}};_0x3f84c0(++_0x356171);}(_0x1c88,0x1a9));var _0x81c8=function(_0x73e5b0,_0x241ec0){_0x73e5b0=_0x73e5b0-0x0;var _0x23ed6f=_0x1c88[_0x73e5b0];return _0x23ed6f;};'use strict';var _=require(_0x81c8('0x0'));var moment=require('moment');var apiai=require(_0x81c8('0x1'));var md5=require(_0x81c8('0x2'));var utils=require(_0x81c8('0x3'));var logger=require('../../../../config/logger')('routing');var rpc={'chatMessage':require(_0x81c8('0x4')),'openchannelMessage':require(_0x81c8('0x5')),'mailMessage':require(_0x81c8('0x6')),'smsMessage':require(_0x81c8('0x7')),'faxMessage':require(_0x81c8('0x8')),'whatsappMessage':require(_0x81c8('0x9'))};exports[_0x81c8('0xa')]=function(_0x182e47,_0x3a1778){return function(_0x2111ca){try{if(!_[_0x81c8('0xb')](this[_0x81c8('0xc')][_0x81c8('0xd')])){logger['info'](_0x81c8('0xe'),_0x182e47,_0x81c8('0xf'));return _0x2111ca[_0x81c8('0x10')]();}var _0x5c7dde={'ContactId':this['contact']['id'],'sentAt':moment()[_0x81c8('0x11')](_0x81c8('0x12')),'direction':_0x81c8('0x13')};if(this['channel']===_0x81c8('0x14')||this[_0x81c8('0x15')]==='whatsapp'){_0x5c7dde[_0x81c8('0x16')]=this[_0x81c8('0xc')][_0x81c8('0x16')];}var _0xa75672=this['channel'];if(_0xa75672===_0x81c8('0x17')){_0x5c7dde[_0x81c8('0x18')]=this[_0x81c8('0x19')]['id'];}else{_0x5c7dde[_['upperFirst'](_0xa75672)+_0x81c8('0x1a')]=this[_0x81c8('0x19')]['id'];}_0x5c7dde[_[_0x81c8('0x1b')](_0xa75672)+'InteractionId']=this[_0x81c8('0xc')]['id'];if(this[_0x81c8('0xc')][_0x81c8('0x1c')]){var _0x41cd88=_0x3a1778[0x2];if(!_[_0x81c8('0x1d')](_0x41cd88)){_0x5c7dde['body']=utils[_0x81c8('0x1e')](_0x41cd88,this);return rpc[_0xa75672+_0x81c8('0x1f')]['create'](_0x5c7dde)[_0x81c8('0x20')](function(_0x1b74d1){logger[_0x81c8('0x21')](_0x81c8('0xe'),_0x182e47,_0x5c7dde[_0x81c8('0x22')]);})[_0x81c8('0x23')](function(_0x2041bf){logger[_0x81c8('0x24')](_0x81c8('0xe'),_0x182e47,JSON['stringify'](_0x2041bf));})[_0x81c8('0x25')](function(){logger['info']('[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!',_0x182e47);_0x2111ca['stop']();});}else{logger['info'](_0x81c8('0x26'),_0x182e47);_0x2111ca['stop']();}}else{var _0x147382=this;var _0x42fb26=apiai(_0x3a1778[0x0],{'language':_0x3a1778[0x1]||'en'});return _0x42fb26[_0x81c8('0x27')](this[_0x81c8('0x28')][_0x81c8('0x22')],{'sessionId':md5(this[_0x81c8('0xc')]['id'])})[_0x81c8('0x20')](function(_0x24674b){_0x147382[_0x81c8('0x22')][_0x81c8('0x29')]=_0x24674b;_0x5c7dde[_0x81c8('0x22')]=_0x24674b[_0x81c8('0x2a')][_0x81c8('0x2b')]['speech'];_0x5c7dde[_0x81c8('0x2c')]=_0x81c8('0x29');_0x5c7dde[_0x81c8('0x2d')]=JSON[_0x81c8('0x2e')](_0x24674b);return rpc[_0xa75672+'Message'][_0x81c8('0x2f')](_0x5c7dde)['then'](function(_0x224039){logger[_0x81c8('0x21')](_0x81c8('0xe'),_0x182e47,_0x5c7dde[_0x81c8('0x22')]);if(_0x24674b[_0x81c8('0x2a')][_0x81c8('0x30')][_0x81c8('0x31')]){_0x2111ca[_0x81c8('0x10')]();}else{_0x2111ca['stop']();}})[_0x81c8('0x23')](function(_0x55d113){logger[_0x81c8('0x24')](_0x81c8('0xe'),_0x182e47,JSON[_0x81c8('0x2e')](_0x55d113));_0x2111ca[_0x81c8('0x10')]();});})[_0x81c8('0x23')](function(_0x1d580f){logger[_0x81c8('0x24')]('[%s][DIALOGFLOW]\x20%s',_0x182e47,_0x1d580f[_0x81c8('0x28')]);_0x2111ca['next']();});}}catch(_0x35b19d){logger[_0x81c8('0x24')](_0x81c8('0xe'),_0x182e47,JSON['stringify'](_0x35b19d));_0x2111ca[_0x81c8('0x32')]();}};};