3375014c5eca74a7e40359f751de6c3e60a3246f
[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 _0x5710=['info','[%s][DIALOGFLOW]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','channel','chat','ChatWebsiteId','account','upperFirst','InteractionId','created','isEmpty','getMustacheRender','create','stringify','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','then','body','result','fulfillment','speech','Message','metadata','catch','error','message','lodash','moment','apiai-promise','md5','../../../../config/logger','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','consequence','isNil','interaction','UserId'];(function(_0xa09b6f,_0x2bd21f){var _0x368800=function(_0x144dd2){while(--_0x144dd2){_0xa09b6f['push'](_0xa09b6f['shift']());}};_0x368800(++_0x2bd21f);}(_0x5710,0xa4));var _0x0571=function(_0x160c73,_0x2ee678){_0x160c73=_0x160c73-0x0;var _0xd9302=_0x5710[_0x160c73];return _0xd9302;};'use strict';var _=require(_0x0571('0x0'));var moment=require(_0x0571('0x1'));var apiai=require(_0x0571('0x2'));var md5=require(_0x0571('0x3'));var utils=require('./utils');var logger=require(_0x0571('0x4'))('routing');var rpc={'chatMessage':require('../../rpc/chatMessage'),'openchannelMessage':require(_0x0571('0x5')),'mailMessage':require(_0x0571('0x6')),'smsMessage':require(_0x0571('0x7')),'faxMessage':require('../../rpc/faxMessage')};exports[_0x0571('0x8')]=function(_0x4862be,_0x50be94){return function(_0x4c35b2){try{if(!_[_0x0571('0x9')](this[_0x0571('0xa')][_0x0571('0xb')])){logger[_0x0571('0xc')](_0x0571('0xd'),_0x4862be,_0x0571('0xe'));return _0x4c35b2[_0x0571('0xf')]();}var _0x2a4443={'ContactId':this[_0x0571('0x10')]['id'],'sentAt':moment()[_0x0571('0x11')](_0x0571('0x12')),'direction':_0x0571('0x13')};var _0x21c217=this[_0x0571('0x14')];if(_0x21c217===_0x0571('0x15')){_0x2a4443[_0x0571('0x16')]=this[_0x0571('0x17')]['id'];}else{_0x2a4443[_[_0x0571('0x18')](_0x21c217)+'AccountId']=this[_0x0571('0x17')]['id'];}_0x2a4443[_[_0x0571('0x18')](_0x21c217)+_0x0571('0x19')]=this[_0x0571('0xa')]['id'];if(this[_0x0571('0xa')][_0x0571('0x1a')]){var _0x4c5d47=_0x50be94[0x2];if(!_[_0x0571('0x1b')](_0x4c5d47)){_0x2a4443['body']=utils[_0x0571('0x1c')](_0x4c5d47,this);return rpc[_0x21c217+'Message'][_0x0571('0x1d')](_0x2a4443)['then'](function(_0x901559){logger['info'](_0x0571('0xd'),_0x4862be,_0x2a4443['body']);})['catch'](function(_0x5ba927){logger['error'](_0x0571('0xd'),_0x4862be,JSON[_0x0571('0x1e')](_0x5ba927));})['finally'](function(){logger['info'](_0x0571('0x1f'),_0x4862be);_0x4c35b2[_0x0571('0x20')]();});}else{logger[_0x0571('0xc')](_0x0571('0x21'),_0x4862be);_0x4c35b2[_0x0571('0x20')]();}}else{var _0x590a38=this;var _0x42d9d4=apiai(_0x50be94[0x0],{'language':_0x50be94[0x1]||'en'});return _0x42d9d4['textRequest'](this['message']['body'],{'sessionId':md5(this[_0x0571('0xa')]['id'])})[_0x0571('0x22')](function(_0x2ae6c6){_0x590a38['body']['dialogflow']=_0x2ae6c6;_0x2a4443[_0x0571('0x23')]=_0x2ae6c6[_0x0571('0x24')][_0x0571('0x25')][_0x0571('0x26')];return rpc[_0x21c217+_0x0571('0x27')]['create'](_0x2a4443)[_0x0571('0x22')](function(_0x3ba85b){logger[_0x0571('0xc')](_0x0571('0xd'),_0x4862be,_0x2a4443[_0x0571('0x23')]);if(_0x2ae6c6[_0x0571('0x24')][_0x0571('0x28')]['endConversation']){_0x4c35b2[_0x0571('0xf')]();}else{_0x4c35b2[_0x0571('0x20')]();}})[_0x0571('0x29')](function(_0x4fd261){logger['error'](_0x0571('0xd'),_0x4862be,JSON[_0x0571('0x1e')](_0x4fd261));_0x4c35b2[_0x0571('0xf')]();});})[_0x0571('0x29')](function(_0x5cd202){logger[_0x0571('0x2a')](_0x0571('0xd'),_0x4862be,_0x5cd202[_0x0571('0x2b')]);_0x4c35b2[_0x0571('0xf')]();});}}catch(_0x5b7f85){logger[_0x0571('0x2a')]('[%s][DIALOGFLOW]\x20%s',_0x4862be,JSON['stringify'](_0x5b7f85));_0x4c35b2[_0x0571('0x20')]();}};};