a69db97904bc97f4928365180be0bc11443a02b7
[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 _0xdd68=['InteractionId','created','isEmpty','body','Message','create','then','info','catch','error','finally','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop','message','dialogflow','fulfillment','speech','providerName','providerResponse','stringify','metadata','endConversation','lodash','apiai-promise','md5','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/faxMessage','consequence','isNil','interaction','UserId','[%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','account','upperFirst'];(function(_0x24927b,_0x57ebb9){var _0xa33c72=function(_0x1acb09){while(--_0x1acb09){_0x24927b['push'](_0x24927b['shift']());}};_0xa33c72(++_0x57ebb9);}(_0xdd68,0x196));var _0x8dd6=function(_0x1e4150,_0x55b02a){_0x1e4150=_0x1e4150-0x0;var _0x1ce3ee=_0xdd68[_0x1e4150];return _0x1ce3ee;};'use strict';var _=require(_0x8dd6('0x0'));var moment=require('moment');var apiai=require(_0x8dd6('0x1'));var md5=require(_0x8dd6('0x2'));var utils=require(_0x8dd6('0x3'));var logger=require(_0x8dd6('0x4'))('routing');var rpc={'chatMessage':require(_0x8dd6('0x5')),'openchannelMessage':require(_0x8dd6('0x6')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0x8dd6('0x7')),'faxMessage':require(_0x8dd6('0x8')),'whatsappMessage':require('../../rpc/whatsappMessage')};exports[_0x8dd6('0x9')]=function(_0x4c021f,_0x476bad){return function(_0x51f78e){try{if(!_[_0x8dd6('0xa')](this[_0x8dd6('0xb')][_0x8dd6('0xc')])){logger['info'](_0x8dd6('0xd'),_0x4c021f,_0x8dd6('0xe'));return _0x51f78e[_0x8dd6('0xf')]();}var _0x2dc6ea={'ContactId':this[_0x8dd6('0x10')]['id'],'sentAt':moment()[_0x8dd6('0x11')](_0x8dd6('0x12')),'direction':_0x8dd6('0x13')};if(this[_0x8dd6('0x14')]===_0x8dd6('0x15')||this[_0x8dd6('0x14')]===_0x8dd6('0x16')){_0x2dc6ea[_0x8dd6('0x17')]=this['interaction'][_0x8dd6('0x17')];}var _0x3221ce=this[_0x8dd6('0x14')];if(_0x3221ce==='chat'){_0x2dc6ea['ChatWebsiteId']=this[_0x8dd6('0x18')]['id'];}else{_0x2dc6ea[_['upperFirst'](_0x3221ce)+'AccountId']=this[_0x8dd6('0x18')]['id'];}_0x2dc6ea[_[_0x8dd6('0x19')](_0x3221ce)+_0x8dd6('0x1a')]=this[_0x8dd6('0xb')]['id'];if(this[_0x8dd6('0xb')][_0x8dd6('0x1b')]){var _0x31e123=_0x476bad[0x2];if(!_[_0x8dd6('0x1c')](_0x31e123)){_0x2dc6ea[_0x8dd6('0x1d')]=utils['getMustacheRender'](_0x31e123,this);return rpc[_0x3221ce+_0x8dd6('0x1e')][_0x8dd6('0x1f')](_0x2dc6ea)[_0x8dd6('0x20')](function(_0x168a30){logger[_0x8dd6('0x21')](_0x8dd6('0xd'),_0x4c021f,_0x2dc6ea[_0x8dd6('0x1d')]);})[_0x8dd6('0x22')](function(_0x5c579e){logger[_0x8dd6('0x23')](_0x8dd6('0xd'),_0x4c021f,JSON['stringify'](_0x5c579e));})[_0x8dd6('0x24')](function(){logger[_0x8dd6('0x21')](_0x8dd6('0x25'),_0x4c021f);_0x51f78e[_0x8dd6('0x26')]();});}else{logger['info']('[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!',_0x4c021f);_0x51f78e['stop']();}}else{var _0x138216=this;var _0xe6b099=apiai(_0x476bad[0x0],{'language':_0x476bad[0x1]||'en'});return _0xe6b099['textRequest'](this[_0x8dd6('0x27')][_0x8dd6('0x1d')],{'sessionId':md5(this[_0x8dd6('0xb')]['id'])})[_0x8dd6('0x20')](function(_0x3a4c9f){_0x138216['body'][_0x8dd6('0x28')]=_0x3a4c9f;_0x2dc6ea[_0x8dd6('0x1d')]=_0x3a4c9f['result'][_0x8dd6('0x29')][_0x8dd6('0x2a')];_0x2dc6ea[_0x8dd6('0x2b')]='dialogflow';_0x2dc6ea[_0x8dd6('0x2c')]=JSON[_0x8dd6('0x2d')](_0x3a4c9f);return rpc[_0x3221ce+_0x8dd6('0x1e')][_0x8dd6('0x1f')](_0x2dc6ea)[_0x8dd6('0x20')](function(_0x5b77f2){logger[_0x8dd6('0x21')](_0x8dd6('0xd'),_0x4c021f,_0x2dc6ea['body']);if(_0x3a4c9f['result'][_0x8dd6('0x2e')][_0x8dd6('0x2f')]){_0x51f78e[_0x8dd6('0xf')]();}else{_0x51f78e[_0x8dd6('0x26')]();}})[_0x8dd6('0x22')](function(_0x3da00d){logger[_0x8dd6('0x23')](_0x8dd6('0xd'),_0x4c021f,JSON[_0x8dd6('0x2d')](_0x3da00d));_0x51f78e[_0x8dd6('0xf')]();});})[_0x8dd6('0x22')](function(_0x3592d7){logger[_0x8dd6('0x23')](_0x8dd6('0xd'),_0x4c021f,_0x3592d7[_0x8dd6('0x27')]);_0x51f78e[_0x8dd6('0xf')]();});}}catch(_0x2e20d7){logger[_0x8dd6('0x23')](_0x8dd6('0xd'),_0x4c021f,JSON[_0x8dd6('0x2d')](_0x2e20d7));_0x51f78e[_0x8dd6('0x26')]();}};};