Built motion from commit (unavailable).|2.5.15
[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 _0x8f7c=['upperFirst','AccountId','InteractionId','created','isEmpty','getMustacheRender','Message','create','info','body','catch','error','stringify','stop','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','textRequest','message','then','dialogflow','result','fulfillment','speech','providerResponse','metadata','endConversation','lodash','moment','./utils','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/faxMessage','consequence','isNil','interaction','UserId','[%s][DIALOGFLOW]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','YYYY-MM-DD\x20HH:mm:ss','out','channel','sms','whatsapp','chat','ChatWebsiteId','account'];(function(_0x1e5dd7,_0x1aff9a){var _0x48f942=function(_0x351236){while(--_0x351236){_0x1e5dd7['push'](_0x1e5dd7['shift']());}};_0x48f942(++_0x1aff9a);}(_0x8f7c,0x133));var _0xc8f7=function(_0x308944,_0x1c462e){_0x308944=_0x308944-0x0;var _0x2bf805=_0x8f7c[_0x308944];return _0x2bf805;};'use strict';var _=require(_0xc8f7('0x0'));var moment=require(_0xc8f7('0x1'));var apiai=require('apiai-promise');var md5=require('md5');var utils=require(_0xc8f7('0x2'));var logger=require('../../../../config/logger')(_0xc8f7('0x3'));var rpc={'chatMessage':require(_0xc8f7('0x4')),'openchannelMessage':require(_0xc8f7('0x5')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0xc8f7('0x6')),'whatsappMessage':require('../../rpc/whatsappMessage')};exports[_0xc8f7('0x7')]=function(_0x36a108,_0x4692fd){return function(_0x17520c){try{if(!_[_0xc8f7('0x8')](this[_0xc8f7('0x9')][_0xc8f7('0xa')])){logger['info'](_0xc8f7('0xb'),_0x36a108,_0xc8f7('0xc'));return _0x17520c[_0xc8f7('0xd')]();}var _0x556ea0={'ContactId':this['contact']['id'],'sentAt':moment()['format'](_0xc8f7('0xe')),'direction':_0xc8f7('0xf')};if(this[_0xc8f7('0x10')]===_0xc8f7('0x11')||this[_0xc8f7('0x10')]===_0xc8f7('0x12')){_0x556ea0['phone']=this['interaction']['phone'];}var _0x2d8bd2=this[_0xc8f7('0x10')];if(_0x2d8bd2===_0xc8f7('0x13')){_0x556ea0[_0xc8f7('0x14')]=this[_0xc8f7('0x15')]['id'];}else{_0x556ea0[_[_0xc8f7('0x16')](_0x2d8bd2)+_0xc8f7('0x17')]=this[_0xc8f7('0x15')]['id'];}_0x556ea0[_[_0xc8f7('0x16')](_0x2d8bd2)+_0xc8f7('0x18')]=this[_0xc8f7('0x9')]['id'];if(this[_0xc8f7('0x9')][_0xc8f7('0x19')]){var _0x4d0193=_0x4692fd[0x2];if(!_[_0xc8f7('0x1a')](_0x4d0193)){_0x556ea0['body']=utils[_0xc8f7('0x1b')](_0x4d0193,this);return rpc[_0x2d8bd2+_0xc8f7('0x1c')][_0xc8f7('0x1d')](_0x556ea0)['then'](function(_0x466fdd){logger[_0xc8f7('0x1e')](_0xc8f7('0xb'),_0x36a108,_0x556ea0[_0xc8f7('0x1f')]);})[_0xc8f7('0x20')](function(_0x3a85a9){logger[_0xc8f7('0x21')](_0xc8f7('0xb'),_0x36a108,JSON[_0xc8f7('0x22')](_0x3a85a9));})['finally'](function(){logger[_0xc8f7('0x1e')]('[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!',_0x36a108);_0x17520c[_0xc8f7('0x23')]();});}else{logger['info'](_0xc8f7('0x24'),_0x36a108);_0x17520c[_0xc8f7('0x23')]();}}else{var _0xb8a5f1=this;var _0x2cde61=apiai(_0x4692fd[0x0],{'language':_0x4692fd[0x1]||'en'});return _0x2cde61[_0xc8f7('0x25')](this[_0xc8f7('0x26')][_0xc8f7('0x1f')],{'sessionId':md5(this[_0xc8f7('0x9')]['id'])})[_0xc8f7('0x27')](function(_0x474373){_0xb8a5f1[_0xc8f7('0x1f')][_0xc8f7('0x28')]=_0x474373;_0x556ea0['body']=_0x474373[_0xc8f7('0x29')][_0xc8f7('0x2a')][_0xc8f7('0x2b')];_0x556ea0['providerName']='dialogflow';_0x556ea0[_0xc8f7('0x2c')]=JSON[_0xc8f7('0x22')](_0x474373);return rpc[_0x2d8bd2+_0xc8f7('0x1c')][_0xc8f7('0x1d')](_0x556ea0)[_0xc8f7('0x27')](function(_0x437c3e){logger[_0xc8f7('0x1e')](_0xc8f7('0xb'),_0x36a108,_0x556ea0['body']);if(_0x474373[_0xc8f7('0x29')][_0xc8f7('0x2d')][_0xc8f7('0x2e')]){_0x17520c[_0xc8f7('0xd')]();}else{_0x17520c[_0xc8f7('0x23')]();}})[_0xc8f7('0x20')](function(_0x3e7912){logger['error']('[%s][DIALOGFLOW]\x20%s',_0x36a108,JSON[_0xc8f7('0x22')](_0x3e7912));_0x17520c[_0xc8f7('0xd')]();});})['catch'](function(_0x43645d){logger[_0xc8f7('0x21')](_0xc8f7('0xb'),_0x36a108,_0x43645d[_0xc8f7('0x26')]);_0x17520c[_0xc8f7('0xd')]();});}}catch(_0x45d134){logger[_0xc8f7('0x21')](_0xc8f7('0xb'),_0x36a108,JSON[_0xc8f7('0x22')](_0x45d134));_0x17520c['stop']();}};};