Built motion from commit ddca4d0d.|2.5.47
[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 _0x7c1f=['../../rpc/whatsappMessage','consequence','isNil','interaction','UserId','info','[%s][DIALOGFLOW]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','contact','format','out','channel','sms','whatsapp','phone','chat','ChatWebsiteId','upperFirst','account','InteractionId','body','Message','create','then','catch','stringify','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!','textRequest','dialogflow','result','providerResponse','metadata','stop','error','message','lodash','moment','apiai-promise','md5','./utils','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/faxMessage'];(function(_0x2ae2ad,_0xac5b0c){var _0x26dbd7=function(_0x5e685b){while(--_0x5e685b){_0x2ae2ad['push'](_0x2ae2ad['shift']());}};_0x26dbd7(++_0xac5b0c);}(_0x7c1f,0x194));var _0xf7c1=function(_0x54fc05,_0x5eb08e){_0x54fc05=_0x54fc05-0x0;var _0x446370=_0x7c1f[_0x54fc05];return _0x446370;};'use strict';var _=require(_0xf7c1('0x0'));var moment=require(_0xf7c1('0x1'));var apiai=require(_0xf7c1('0x2'));var md5=require(_0xf7c1('0x3'));var utils=require(_0xf7c1('0x4'));var logger=require('../../../../config/logger')(_0xf7c1('0x5'));var rpc={'chatMessage':require(_0xf7c1('0x6')),'openchannelMessage':require(_0xf7c1('0x7')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0xf7c1('0x8')),'faxMessage':require(_0xf7c1('0x9')),'whatsappMessage':require(_0xf7c1('0xa'))};exports[_0xf7c1('0xb')]=function(_0x5423bf,_0x1ad808){return function(_0x1a342b){try{if(!_[_0xf7c1('0xc')](this[_0xf7c1('0xd')][_0xf7c1('0xe')])){logger[_0xf7c1('0xf')](_0xf7c1('0x10'),_0x5423bf,_0xf7c1('0x11'));return _0x1a342b[_0xf7c1('0x12')]();}var _0x1a4415={'ContactId':this[_0xf7c1('0x13')]['id'],'sentAt':moment()[_0xf7c1('0x14')]('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0xf7c1('0x15')};if(this[_0xf7c1('0x16')]===_0xf7c1('0x17')||this[_0xf7c1('0x16')]===_0xf7c1('0x18')){_0x1a4415[_0xf7c1('0x19')]=this['interaction']['phone'];}var _0x1d92ef=this['channel'];if(_0x1d92ef===_0xf7c1('0x1a')){_0x1a4415[_0xf7c1('0x1b')]=this['account']['id'];}else{_0x1a4415[_[_0xf7c1('0x1c')](_0x1d92ef)+'AccountId']=this[_0xf7c1('0x1d')]['id'];}_0x1a4415[_[_0xf7c1('0x1c')](_0x1d92ef)+_0xf7c1('0x1e')]=this[_0xf7c1('0xd')]['id'];if(this[_0xf7c1('0xd')]['created']){var _0xcef462=_0x1ad808[0x2];if(!_['isEmpty'](_0xcef462)){_0x1a4415[_0xf7c1('0x1f')]=utils['getMustacheRender'](_0xcef462,this);return rpc[_0x1d92ef+_0xf7c1('0x20')][_0xf7c1('0x21')](_0x1a4415)[_0xf7c1('0x22')](function(_0x15dd26){logger[_0xf7c1('0xf')](_0xf7c1('0x10'),_0x5423bf,_0x1a4415[_0xf7c1('0x1f')]);})[_0xf7c1('0x23')](function(_0x58d7ef){logger['error'](_0xf7c1('0x10'),_0x5423bf,JSON[_0xf7c1('0x24')](_0x58d7ef));})['finally'](function(){logger[_0xf7c1('0xf')](_0xf7c1('0x25'),_0x5423bf);_0x1a342b['stop']();});}else{logger[_0xf7c1('0xf')]('[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!',_0x5423bf);_0x1a342b['stop']();}}else{var _0x59e25f=this;var _0x4333f0=apiai(_0x1ad808[0x0],{'language':_0x1ad808[0x1]||'en'});return _0x4333f0[_0xf7c1('0x26')](this['message'][_0xf7c1('0x1f')],{'sessionId':md5(this[_0xf7c1('0xd')]['id'])})[_0xf7c1('0x22')](function(_0x33c874){_0x59e25f[_0xf7c1('0x1f')][_0xf7c1('0x27')]=_0x33c874;_0x1a4415[_0xf7c1('0x1f')]=_0x33c874[_0xf7c1('0x28')]['fulfillment']['speech'];_0x1a4415['providerName']=_0xf7c1('0x27');_0x1a4415[_0xf7c1('0x29')]=JSON[_0xf7c1('0x24')](_0x33c874);return rpc[_0x1d92ef+_0xf7c1('0x20')][_0xf7c1('0x21')](_0x1a4415)[_0xf7c1('0x22')](function(_0x3d83b0){logger[_0xf7c1('0xf')](_0xf7c1('0x10'),_0x5423bf,_0x1a4415['body']);if(_0x33c874[_0xf7c1('0x28')][_0xf7c1('0x2a')]['endConversation']){_0x1a342b[_0xf7c1('0x12')]();}else{_0x1a342b[_0xf7c1('0x2b')]();}})[_0xf7c1('0x23')](function(_0x636a01){logger[_0xf7c1('0x2c')]('[%s][DIALOGFLOW]\x20%s',_0x5423bf,JSON[_0xf7c1('0x24')](_0x636a01));_0x1a342b['next']();});})[_0xf7c1('0x23')](function(_0x3d8049){logger[_0xf7c1('0x2c')]('[%s][DIALOGFLOW]\x20%s',_0x5423bf,_0x3d8049[_0xf7c1('0x2d')]);_0x1a342b[_0xf7c1('0x12')]();});}}catch(_0x59c534){logger['error'](_0xf7c1('0x10'),_0x5423bf,JSON[_0xf7c1('0x24')](_0x59c534));_0x1a342b[_0xf7c1('0x2b')]();}};};