Built motion from commit 47436d59.|2.6.7
[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 _0xafc4=['[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','textRequest','dialogflow','result','fulfillment','speech','providerName','providerResponse','stringify','metadata','endConversation','lodash','apiai-promise','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','consequence','interaction','UserId','info','[%s][DIALOGFLOW]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','format','out','channel','whatsapp','phone','chat','account','upperFirst','AccountId','created','isEmpty','body','getMustacheRender','Message','create','then','catch','error','finally','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop'];(function(_0x21315c,_0x415130){var _0xd0ba91=function(_0x240c75){while(--_0x240c75){_0x21315c['push'](_0x21315c['shift']());}};_0xd0ba91(++_0x415130);}(_0xafc4,0x69));var _0x4afc=function(_0x1df117,_0x213d70){_0x1df117=_0x1df117-0x0;var _0xb6135e=_0xafc4[_0x1df117];return _0xb6135e;};'use strict';var _=require(_0x4afc('0x0'));var moment=require('moment');var apiai=require(_0x4afc('0x1'));var md5=require('md5');var utils=require(_0x4afc('0x2'));var logger=require(_0x4afc('0x3'))(_0x4afc('0x4'));var rpc={'chatMessage':require(_0x4afc('0x5')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0x4afc('0x6')),'whatsappMessage':require(_0x4afc('0x7'))};exports[_0x4afc('0x8')]=function(_0x1bb281,_0xc828d9){return function(_0xaf053d){try{if(!_['isNil'](this[_0x4afc('0x9')][_0x4afc('0xa')])){logger[_0x4afc('0xb')](_0x4afc('0xc'),_0x1bb281,_0x4afc('0xd'));return _0xaf053d[_0x4afc('0xe')]();}var _0x5542ec={'ContactId':this['contact']['id'],'sentAt':moment()[_0x4afc('0xf')]('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0x4afc('0x10')};if(this[_0x4afc('0x11')]==='sms'||this[_0x4afc('0x11')]===_0x4afc('0x12')){_0x5542ec[_0x4afc('0x13')]=this[_0x4afc('0x9')][_0x4afc('0x13')];}var _0x2f1c59=this[_0x4afc('0x11')];if(_0x2f1c59===_0x4afc('0x14')){_0x5542ec['ChatWebsiteId']=this[_0x4afc('0x15')]['id'];}else{_0x5542ec[_[_0x4afc('0x16')](_0x2f1c59)+_0x4afc('0x17')]=this[_0x4afc('0x15')]['id'];}_0x5542ec[_['upperFirst'](_0x2f1c59)+'InteractionId']=this[_0x4afc('0x9')]['id'];if(this['interaction'][_0x4afc('0x18')]){var _0x24ed6d=_0xc828d9[0x2];if(!_[_0x4afc('0x19')](_0x24ed6d)){_0x5542ec[_0x4afc('0x1a')]=utils[_0x4afc('0x1b')](_0x24ed6d,this);return rpc[_0x2f1c59+_0x4afc('0x1c')][_0x4afc('0x1d')](_0x5542ec)[_0x4afc('0x1e')](function(_0x16365f){logger[_0x4afc('0xb')](_0x4afc('0xc'),_0x1bb281,_0x5542ec['body']);})[_0x4afc('0x1f')](function(_0x25603b){logger[_0x4afc('0x20')](_0x4afc('0xc'),_0x1bb281,JSON['stringify'](_0x25603b));})[_0x4afc('0x21')](function(){logger[_0x4afc('0xb')](_0x4afc('0x22'),_0x1bb281);_0xaf053d[_0x4afc('0x23')]();});}else{logger[_0x4afc('0xb')](_0x4afc('0x24'),_0x1bb281);_0xaf053d[_0x4afc('0x23')]();}}else{var _0x573a75=this;var _0x5403e4=apiai(_0xc828d9[0x0],{'language':_0xc828d9[0x1]||'en'});return _0x5403e4[_0x4afc('0x25')](this['message'][_0x4afc('0x1a')],{'sessionId':md5(this['interaction']['id'])})[_0x4afc('0x1e')](function(_0x2a0314){_0x573a75[_0x4afc('0x1a')][_0x4afc('0x26')]=_0x2a0314;_0x5542ec[_0x4afc('0x1a')]=_0x2a0314[_0x4afc('0x27')][_0x4afc('0x28')][_0x4afc('0x29')];_0x5542ec[_0x4afc('0x2a')]=_0x4afc('0x26');_0x5542ec[_0x4afc('0x2b')]=JSON[_0x4afc('0x2c')](_0x2a0314);return rpc[_0x2f1c59+_0x4afc('0x1c')]['create'](_0x5542ec)[_0x4afc('0x1e')](function(_0x244f6c){logger[_0x4afc('0xb')]('[%s][DIALOGFLOW]\x20%s',_0x1bb281,_0x5542ec['body']);if(_0x2a0314['result'][_0x4afc('0x2d')][_0x4afc('0x2e')]){_0xaf053d['next']();}else{_0xaf053d[_0x4afc('0x23')]();}})[_0x4afc('0x1f')](function(_0x494fe7){logger['error']('[%s][DIALOGFLOW]\x20%s',_0x1bb281,JSON[_0x4afc('0x2c')](_0x494fe7));_0xaf053d[_0x4afc('0xe')]();});})[_0x4afc('0x1f')](function(_0x46357b){logger[_0x4afc('0x20')](_0x4afc('0xc'),_0x1bb281,_0x46357b['message']);_0xaf053d[_0x4afc('0xe')]();});}}catch(_0x3d1693){logger[_0x4afc('0x20')](_0x4afc('0xc'),_0x1bb281,JSON[_0x4afc('0x2c')](_0x3d1693));_0xaf053d[_0x4afc('0x23')]();}};};