Built motion from commit 616d3211.|2.6.4
[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 _0x4317=['upperFirst','isEmpty','body','getMustacheRender','Message','catch','finally','stop','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','textRequest','message','then','dialogflow','result','fulfillment','speech','providerName','providerResponse','metadata','endConversation','error','stringify','moment','apiai-promise','md5','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','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','sms','whatsapp','phone','chat','ChatWebsiteId','account','AccountId'];(function(_0x4da00,_0x193b1c){var _0x336539=function(_0x202c6b){while(--_0x202c6b){_0x4da00['push'](_0x4da00['shift']());}};_0x336539(++_0x193b1c);}(_0x4317,0x7c));var _0x7431=function(_0x3947c9,_0x4d6c97){_0x3947c9=_0x3947c9-0x0;var _0x2e7871=_0x4317[_0x3947c9];return _0x2e7871;};'use strict';var _=require('lodash');var moment=require(_0x7431('0x0'));var apiai=require(_0x7431('0x1'));var md5=require(_0x7431('0x2'));var utils=require('./utils');var logger=require(_0x7431('0x3'))(_0x7431('0x4'));var rpc={'chatMessage':require(_0x7431('0x5')),'openchannelMessage':require(_0x7431('0x6')),'mailMessage':require(_0x7431('0x7')),'smsMessage':require(_0x7431('0x8')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require('../../rpc/whatsappMessage')};exports[_0x7431('0x9')]=function(_0x76fcb5,_0x31fd44){return function(_0x328945){try{if(!_[_0x7431('0xa')](this[_0x7431('0xb')][_0x7431('0xc')])){logger[_0x7431('0xd')](_0x7431('0xe'),_0x76fcb5,_0x7431('0xf'));return _0x328945[_0x7431('0x10')]();}var _0x13bf7b={'ContactId':this[_0x7431('0x11')]['id'],'sentAt':moment()[_0x7431('0x12')](_0x7431('0x13')),'direction':_0x7431('0x14')};if(this[_0x7431('0x15')]===_0x7431('0x16')||this[_0x7431('0x15')]===_0x7431('0x17')){_0x13bf7b[_0x7431('0x18')]=this[_0x7431('0xb')][_0x7431('0x18')];}var _0x2257e7=this['channel'];if(_0x2257e7===_0x7431('0x19')){_0x13bf7b[_0x7431('0x1a')]=this[_0x7431('0x1b')]['id'];}else{_0x13bf7b[_['upperFirst'](_0x2257e7)+_0x7431('0x1c')]=this[_0x7431('0x1b')]['id'];}_0x13bf7b[_[_0x7431('0x1d')](_0x2257e7)+'InteractionId']=this[_0x7431('0xb')]['id'];if(this['interaction']['created']){var _0x5c96ee=_0x31fd44[0x2];if(!_[_0x7431('0x1e')](_0x5c96ee)){_0x13bf7b[_0x7431('0x1f')]=utils[_0x7431('0x20')](_0x5c96ee,this);return rpc[_0x2257e7+_0x7431('0x21')]['create'](_0x13bf7b)['then'](function(_0x167238){logger[_0x7431('0xd')](_0x7431('0xe'),_0x76fcb5,_0x13bf7b[_0x7431('0x1f')]);})[_0x7431('0x22')](function(_0x409c6c){logger['error']('[%s][DIALOGFLOW]\x20%s',_0x76fcb5,JSON['stringify'](_0x409c6c));})[_0x7431('0x23')](function(){logger[_0x7431('0xd')]('[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!',_0x76fcb5);_0x328945[_0x7431('0x24')]();});}else{logger[_0x7431('0xd')](_0x7431('0x25'),_0x76fcb5);_0x328945['stop']();}}else{var _0x12c4cf=this;var _0xcbc861=apiai(_0x31fd44[0x0],{'language':_0x31fd44[0x1]||'en'});return _0xcbc861[_0x7431('0x26')](this[_0x7431('0x27')]['body'],{'sessionId':md5(this[_0x7431('0xb')]['id'])})[_0x7431('0x28')](function(_0x4570b8){_0x12c4cf[_0x7431('0x1f')][_0x7431('0x29')]=_0x4570b8;_0x13bf7b[_0x7431('0x1f')]=_0x4570b8[_0x7431('0x2a')][_0x7431('0x2b')][_0x7431('0x2c')];_0x13bf7b[_0x7431('0x2d')]=_0x7431('0x29');_0x13bf7b[_0x7431('0x2e')]=JSON['stringify'](_0x4570b8);return rpc[_0x2257e7+_0x7431('0x21')]['create'](_0x13bf7b)['then'](function(_0x24727b){logger[_0x7431('0xd')]('[%s][DIALOGFLOW]\x20%s',_0x76fcb5,_0x13bf7b[_0x7431('0x1f')]);if(_0x4570b8[_0x7431('0x2a')][_0x7431('0x2f')][_0x7431('0x30')]){_0x328945[_0x7431('0x10')]();}else{_0x328945[_0x7431('0x24')]();}})[_0x7431('0x22')](function(_0x26a1be){logger[_0x7431('0x31')](_0x7431('0xe'),_0x76fcb5,JSON[_0x7431('0x32')](_0x26a1be));_0x328945[_0x7431('0x10')]();});})['catch'](function(_0x18ce37){logger[_0x7431('0x31')](_0x7431('0xe'),_0x76fcb5,_0x18ce37[_0x7431('0x27')]);_0x328945['next']();});}}catch(_0x2e3d64){logger[_0x7431('0x31')](_0x7431('0xe'),_0x76fcb5,JSON['stringify'](_0x2e3d64));_0x328945['stop']();}};};