3338c66d5ac05cb828ea5ac14031ca0b47ce4f1e
[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 _0x018c=['AccountId','InteractionId','created','isEmpty','body','getMustacheRender','then','error','finally','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','textRequest','message','dialogflow','result','fulfillment','providerName','providerResponse','stringify','create','catch','lodash','moment','apiai-promise','../../../../config/logger','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/whatsappMessage','consequence','isNil','interaction','UserId','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','phone','chat','ChatWebsiteId','account','upperFirst'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x018c,0xda));var _0xc018=function(_0x1d88ce,_0x1d3f8e){_0x1d88ce=_0x1d88ce-0x0;var _0x16086b=_0x018c[_0x1d88ce];return _0x16086b;};'use strict';var _=require(_0xc018('0x0'));var moment=require(_0xc018('0x1'));var apiai=require(_0xc018('0x2'));var md5=require('md5');var utils=require('./utils');var logger=require(_0xc018('0x3'))('routing');var rpc={'chatMessage':require(_0xc018('0x4')),'openchannelMessage':require(_0xc018('0x5')),'mailMessage':require(_0xc018('0x6')),'smsMessage':require(_0xc018('0x7')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require(_0xc018('0x8'))};exports[_0xc018('0x9')]=function(_0x46f194,_0x4762ab){return function(_0x29a572){try{if(!_[_0xc018('0xa')](this[_0xc018('0xb')][_0xc018('0xc')])){logger[_0xc018('0xd')](_0xc018('0xe'),_0x46f194,_0xc018('0xf'));return _0x29a572[_0xc018('0x10')]();}var _0x3c135b={'ContactId':this[_0xc018('0x11')]['id'],'sentAt':moment()[_0xc018('0x12')](_0xc018('0x13')),'direction':_0xc018('0x14')};if(this[_0xc018('0x15')]==='sms'||this[_0xc018('0x15')]==='whatsapp'){_0x3c135b[_0xc018('0x16')]=this[_0xc018('0xb')][_0xc018('0x16')];}var _0x36b436=this[_0xc018('0x15')];if(_0x36b436===_0xc018('0x17')){_0x3c135b[_0xc018('0x18')]=this[_0xc018('0x19')]['id'];}else{_0x3c135b[_[_0xc018('0x1a')](_0x36b436)+_0xc018('0x1b')]=this[_0xc018('0x19')]['id'];}_0x3c135b[_['upperFirst'](_0x36b436)+_0xc018('0x1c')]=this[_0xc018('0xb')]['id'];if(this[_0xc018('0xb')][_0xc018('0x1d')]){var _0x70a0fd=_0x4762ab[0x2];if(!_[_0xc018('0x1e')](_0x70a0fd)){_0x3c135b[_0xc018('0x1f')]=utils[_0xc018('0x20')](_0x70a0fd,this);return rpc[_0x36b436+'Message']['create'](_0x3c135b)[_0xc018('0x21')](function(_0x4e388e){logger[_0xc018('0xd')](_0xc018('0xe'),_0x46f194,_0x3c135b[_0xc018('0x1f')]);})['catch'](function(_0x423d21){logger[_0xc018('0x22')](_0xc018('0xe'),_0x46f194,JSON['stringify'](_0x423d21));})[_0xc018('0x23')](function(){logger[_0xc018('0xd')](_0xc018('0x24'),_0x46f194);_0x29a572[_0xc018('0x25')]();});}else{logger[_0xc018('0xd')](_0xc018('0x26'),_0x46f194);_0x29a572[_0xc018('0x25')]();}}else{var _0xfbbc65=this;var _0x991e64=apiai(_0x4762ab[0x0],{'language':_0x4762ab[0x1]||'en'});return _0x991e64[_0xc018('0x27')](this[_0xc018('0x28')][_0xc018('0x1f')],{'sessionId':md5(this[_0xc018('0xb')]['id'])})[_0xc018('0x21')](function(_0x41b7da){_0xfbbc65[_0xc018('0x1f')][_0xc018('0x29')]=_0x41b7da;_0x3c135b[_0xc018('0x1f')]=_0x41b7da[_0xc018('0x2a')][_0xc018('0x2b')]['speech'];_0x3c135b[_0xc018('0x2c')]=_0xc018('0x29');_0x3c135b[_0xc018('0x2d')]=JSON[_0xc018('0x2e')](_0x41b7da);return rpc[_0x36b436+'Message'][_0xc018('0x2f')](_0x3c135b)[_0xc018('0x21')](function(_0x2dc832){logger['info']('[%s][DIALOGFLOW]\x20%s',_0x46f194,_0x3c135b[_0xc018('0x1f')]);if(_0x41b7da[_0xc018('0x2a')]['metadata']['endConversation']){_0x29a572[_0xc018('0x10')]();}else{_0x29a572[_0xc018('0x25')]();}})[_0xc018('0x30')](function(_0x5092a3){logger[_0xc018('0x22')](_0xc018('0xe'),_0x46f194,JSON[_0xc018('0x2e')](_0x5092a3));_0x29a572[_0xc018('0x10')]();});})[_0xc018('0x30')](function(_0x34fdf4){logger[_0xc018('0x22')](_0xc018('0xe'),_0x46f194,_0x34fdf4[_0xc018('0x28')]);_0x29a572[_0xc018('0x10')]();});}}catch(_0x52d076){logger[_0xc018('0x22')](_0xc018('0xe'),_0x46f194,JSON[_0xc018('0x2e')](_0x52d076));_0x29a572['stop']();}};};