c83d5de545aa426d488ad1648679999e6a84f378
[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 _0xb470=['[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','textRequest','message','body','dialogflow','result','fulfillment','providerResponse','Message','metadata','endConversation','next','catch','lodash','moment','apiai-promise','md5','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','consequence','[%s][DIALOGFLOW]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','channel','sms','whatsapp','phone','chat','ChatWebsiteId','upperFirst','AccountId','account','InteractionId','interaction','created','isEmpty','getMustacheRender','create','then','error','stringify','info','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop'];(function(_0x3ff3c9,_0x34a081){var _0x2326f8=function(_0x39fe5d){while(--_0x39fe5d){_0x3ff3c9['push'](_0x3ff3c9['shift']());}};_0x2326f8(++_0x34a081);}(_0xb470,0x75));var _0x0b47=function(_0x34aed4,_0x2c7bc9){_0x34aed4=_0x34aed4-0x0;var _0x3eac3b=_0xb470[_0x34aed4];return _0x3eac3b;};'use strict';var _=require(_0x0b47('0x0'));var moment=require(_0x0b47('0x1'));var apiai=require(_0x0b47('0x2'));var md5=require(_0x0b47('0x3'));var utils=require('./utils');var logger=require(_0x0b47('0x4'))(_0x0b47('0x5'));var rpc={'chatMessage':require(_0x0b47('0x6')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0x0b47('0x7')),'smsMessage':require(_0x0b47('0x8')),'faxMessage':require(_0x0b47('0x9')),'whatsappMessage':require(_0x0b47('0xa'))};exports[_0x0b47('0xb')]=function(_0x23d960,_0x201ab2){return function(_0x37eb18){try{if(!_['isNil'](this['interaction']['UserId'])){logger['info'](_0x0b47('0xc'),_0x23d960,_0x0b47('0xd'));return _0x37eb18['next']();}var _0x127232={'ContactId':this[_0x0b47('0xe')]['id'],'sentAt':moment()[_0x0b47('0xf')](_0x0b47('0x10')),'direction':_0x0b47('0x11')};if(this[_0x0b47('0x12')]===_0x0b47('0x13')||this[_0x0b47('0x12')]===_0x0b47('0x14')){_0x127232[_0x0b47('0x15')]=this['interaction']['phone'];}var _0x472eea=this['channel'];if(_0x472eea===_0x0b47('0x16')){_0x127232[_0x0b47('0x17')]=this['account']['id'];}else{_0x127232[_[_0x0b47('0x18')](_0x472eea)+_0x0b47('0x19')]=this[_0x0b47('0x1a')]['id'];}_0x127232[_[_0x0b47('0x18')](_0x472eea)+_0x0b47('0x1b')]=this[_0x0b47('0x1c')]['id'];if(this[_0x0b47('0x1c')][_0x0b47('0x1d')]){var _0x130a13=_0x201ab2[0x2];if(!_[_0x0b47('0x1e')](_0x130a13)){_0x127232['body']=utils[_0x0b47('0x1f')](_0x130a13,this);return rpc[_0x472eea+'Message'][_0x0b47('0x20')](_0x127232)[_0x0b47('0x21')](function(_0x2b1024){logger['info'](_0x0b47('0xc'),_0x23d960,_0x127232['body']);})['catch'](function(_0x257bca){logger[_0x0b47('0x22')]('[%s][DIALOGFLOW]\x20%s',_0x23d960,JSON[_0x0b47('0x23')](_0x257bca));})['finally'](function(){logger[_0x0b47('0x24')](_0x0b47('0x25'),_0x23d960);_0x37eb18[_0x0b47('0x26')]();});}else{logger[_0x0b47('0x24')](_0x0b47('0x27'),_0x23d960);_0x37eb18[_0x0b47('0x26')]();}}else{var _0x3bd7f1=this;var _0x2dfdb4=apiai(_0x201ab2[0x0],{'language':_0x201ab2[0x1]||'en'});return _0x2dfdb4[_0x0b47('0x28')](this[_0x0b47('0x29')][_0x0b47('0x2a')],{'sessionId':md5(this['interaction']['id'])})[_0x0b47('0x21')](function(_0x11935a){_0x3bd7f1['body'][_0x0b47('0x2b')]=_0x11935a;_0x127232[_0x0b47('0x2a')]=_0x11935a[_0x0b47('0x2c')][_0x0b47('0x2d')]['speech'];_0x127232['providerName']=_0x0b47('0x2b');_0x127232[_0x0b47('0x2e')]=JSON['stringify'](_0x11935a);return rpc[_0x472eea+_0x0b47('0x2f')][_0x0b47('0x20')](_0x127232)[_0x0b47('0x21')](function(_0x195d5a){logger[_0x0b47('0x24')](_0x0b47('0xc'),_0x23d960,_0x127232[_0x0b47('0x2a')]);if(_0x11935a[_0x0b47('0x2c')][_0x0b47('0x30')][_0x0b47('0x31')]){_0x37eb18[_0x0b47('0x32')]();}else{_0x37eb18['stop']();}})['catch'](function(_0x10c966){logger['error'](_0x0b47('0xc'),_0x23d960,JSON[_0x0b47('0x23')](_0x10c966));_0x37eb18[_0x0b47('0x32')]();});})[_0x0b47('0x33')](function(_0x1014cd){logger['error'](_0x0b47('0xc'),_0x23d960,_0x1014cd[_0x0b47('0x29')]);_0x37eb18[_0x0b47('0x32')]();});}}catch(_0x595c3f){logger[_0x0b47('0x22')](_0x0b47('0xc'),_0x23d960,JSON[_0x0b47('0x23')](_0x595c3f));_0x37eb18[_0x0b47('0x26')]();}};};