1165dd2f130fbbe1870cdd06f25a7aaa7ed77c74
[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 _0x65d9=['account','upperFirst','AccountId','InteractionId','created','body','getMustacheRender','create','catch','error','stringify','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','then','dialogflow','result','fulfillment','speech','providerName','providerResponse','Message','metadata','endConversation','next','lodash','moment','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/whatsappMessage','consequence','isNil','interaction','UserId','info','[%s][DIALOGFLOW]\x20%s','format','YYYY-MM-DD\x20HH:mm:ss','out','channel','whatsapp','phone','ChatWebsiteId'];(function(_0x2bcb94,_0x33fc11){var _0x3673fc=function(_0x36078){while(--_0x36078){_0x2bcb94['push'](_0x2bcb94['shift']());}};_0x3673fc(++_0x33fc11);}(_0x65d9,0xaf));var _0x965d=function(_0x4bbe7b,_0x183b33){_0x4bbe7b=_0x4bbe7b-0x0;var _0x508947=_0x65d9[_0x4bbe7b];return _0x508947;};'use strict';var _=require(_0x965d('0x0'));var moment=require(_0x965d('0x1'));var apiai=require('apiai-promise');var md5=require('md5');var utils=require(_0x965d('0x2'));var logger=require(_0x965d('0x3'))('routing');var rpc={'chatMessage':require(_0x965d('0x4')),'openchannelMessage':require(_0x965d('0x5')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0x965d('0x6')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require(_0x965d('0x7'))};exports[_0x965d('0x8')]=function(_0x126a28,_0x35e101){return function(_0x249da7){try{if(!_[_0x965d('0x9')](this[_0x965d('0xa')][_0x965d('0xb')])){logger[_0x965d('0xc')](_0x965d('0xd'),_0x126a28,'Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.');return _0x249da7['next']();}var _0x5cf8d1={'ContactId':this['contact']['id'],'sentAt':moment()[_0x965d('0xe')](_0x965d('0xf')),'direction':_0x965d('0x10')};if(this[_0x965d('0x11')]==='sms'||this[_0x965d('0x11')]===_0x965d('0x12')){_0x5cf8d1[_0x965d('0x13')]=this[_0x965d('0xa')][_0x965d('0x13')];}var _0x30ab17=this[_0x965d('0x11')];if(_0x30ab17==='chat'){_0x5cf8d1[_0x965d('0x14')]=this[_0x965d('0x15')]['id'];}else{_0x5cf8d1[_[_0x965d('0x16')](_0x30ab17)+_0x965d('0x17')]=this[_0x965d('0x15')]['id'];}_0x5cf8d1[_[_0x965d('0x16')](_0x30ab17)+_0x965d('0x18')]=this[_0x965d('0xa')]['id'];if(this[_0x965d('0xa')][_0x965d('0x19')]){var _0x151aef=_0x35e101[0x2];if(!_['isEmpty'](_0x151aef)){_0x5cf8d1[_0x965d('0x1a')]=utils[_0x965d('0x1b')](_0x151aef,this);return rpc[_0x30ab17+'Message'][_0x965d('0x1c')](_0x5cf8d1)['then'](function(_0x96507f){logger['info'](_0x965d('0xd'),_0x126a28,_0x5cf8d1[_0x965d('0x1a')]);})[_0x965d('0x1d')](function(_0x19b4d8){logger[_0x965d('0x1e')]('[%s][DIALOGFLOW]\x20%s',_0x126a28,JSON[_0x965d('0x1f')](_0x19b4d8));})[_0x965d('0x20')](function(){logger[_0x965d('0xc')](_0x965d('0x21'),_0x126a28);_0x249da7[_0x965d('0x22')]();});}else{logger[_0x965d('0xc')](_0x965d('0x23'),_0x126a28);_0x249da7[_0x965d('0x22')]();}}else{var _0x4f1ceb=this;var _0x10e7ab=apiai(_0x35e101[0x0],{'language':_0x35e101[0x1]||'en'});return _0x10e7ab[_0x965d('0x24')](this[_0x965d('0x25')][_0x965d('0x1a')],{'sessionId':md5(this[_0x965d('0xa')]['id'])})[_0x965d('0x26')](function(_0x3e4ad3){_0x4f1ceb[_0x965d('0x1a')][_0x965d('0x27')]=_0x3e4ad3;_0x5cf8d1[_0x965d('0x1a')]=_0x3e4ad3[_0x965d('0x28')][_0x965d('0x29')][_0x965d('0x2a')];_0x5cf8d1[_0x965d('0x2b')]='dialogflow';_0x5cf8d1[_0x965d('0x2c')]=JSON[_0x965d('0x1f')](_0x3e4ad3);return rpc[_0x30ab17+_0x965d('0x2d')][_0x965d('0x1c')](_0x5cf8d1)[_0x965d('0x26')](function(_0x21ae27){logger[_0x965d('0xc')](_0x965d('0xd'),_0x126a28,_0x5cf8d1['body']);if(_0x3e4ad3[_0x965d('0x28')][_0x965d('0x2e')][_0x965d('0x2f')]){_0x249da7[_0x965d('0x30')]();}else{_0x249da7['stop']();}})[_0x965d('0x1d')](function(_0x1ae487){logger['error'](_0x965d('0xd'),_0x126a28,JSON['stringify'](_0x1ae487));_0x249da7[_0x965d('0x30')]();});})[_0x965d('0x1d')](function(_0x3cdf9a){logger[_0x965d('0x1e')]('[%s][DIALOGFLOW]\x20%s',_0x126a28,_0x3cdf9a[_0x965d('0x25')]);_0x249da7['next']();});}}catch(_0x41a22a){logger[_0x965d('0x1e')](_0x965d('0xd'),_0x126a28,JSON['stringify'](_0x41a22a));_0x249da7[_0x965d('0x22')]();}};};