Built motion from commit 5293bb2a.|2.6.30
[motion2.git] / server / services / ami / trigger / integration / zoho.js
index 96f92f9..d20c3ff 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xffab=['https://www.zohoapis.%s/crm/v2/users','ActiveUsers','Zoho-oauthtoken\x20','then','users','isArrayLikeObject','Using\x20the\x20admin\x20account!','findIndex','profile','Administrator','user','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','catch','data','enduserType','https://www.zohoapis.','/crm/v2/','startCase','moduleCreate','role','first_name','last_name','SUCCESS','details','The\x20failing\x20result\x20is','Error:\x20','log','CREATE\x20ERROR','moduleSearch','uri','/crm/v2/Contacts/search?criteria=((Phone:equals:','Contacts','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','nothing','contact','lead','Creating\x20new\x20call...','Owner','administrator','Subject','getString','Subjects','Who_Id','Full_Name','First_Name','Last_Name','What_Id','$se_module','Call_Duration','utc','talktime','mm:ss','answertime','endtime','diff','starttime','YYYY-MM-DDTHH:mm:ss','lastevent','called','Called','connect','Call_Result','Answered','Rejected','abandoned','Abandoned','timeout','Timeout','Call_Start_Time','outbound','Call_Type','merge','Fields','Call\x20created!','err','host','stripTrailingSlash','serverUrl','monitor_format','Recording\x20is\x20enabled!','recordingURL','uniqueid','/downloads?type=uniqueid&token=','zoho.eu','email','The\x20User\x20ID\x20is:','calleridname','calleridnum','Inbound','The\x20Call\x20ID\x20is:','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','trigger:browser:url','/crm/EntityInfo.do?module=Calls&id=','recordingFormat','none','/api/voice/recordings/','com','destcalleridname','destcalleridnum','[OUTBOUND]','user:%s','https://crm.','unmanaged','toUpperCase','lodash','request-promise','md5','./util','moment','bluebird','../../../../config/environment','../../../../config/logger','zoho','redis','defaults','socket.io-emitter','emit','debug','[HTTP]','stringify','length','forEach','includes','picklist','type','idField','content','toString','variable','variableName','customVariable','Variable','name','toLowerCase','indexOf','split','isNil','access_token','isBefore','expires_in','zone','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.eu','https://accounts.zoho.in','https://accounts.zoho.com.cn','POST','/oauth/v2/token','refreshToken','clientId','refresh_token','error','Failing\x20creating\x20the\x20access_token','stack','info','Search\x20user','format'];(function(_0x370beb,_0x1f2e8d){var _0x526edd=function(_0x583d8d){while(--_0x583d8d){_0x370beb['push'](_0x370beb['shift']());}};_0x526edd(++_0x1f2e8d);}(_0xffab,0x1a5));var _0xbffa=function(_0x26cc1c,_0x4f6b44){_0x26cc1c=_0x26cc1c-0x0;var _0x23d79c=_0xffab[_0x26cc1c];return _0x23d79c;};'use strict';var _=require(_0xbffa('0x0'));var rp=require(_0xbffa('0x1'));var md5=require(_0xbffa('0x2'));var util=require('util');var intUtil=require(_0xbffa('0x3'));var moment=require(_0xbffa('0x4'));var Redis=require('ioredis');var BPromise=require(_0xbffa('0x5'));var config=require(_0xbffa('0x6'));var logger=require(_0xbffa('0x7'))(_0xbffa('0x8'));config[_0xbffa('0x9')]=_[_0xbffa('0xa')](config[_0xbffa('0x9')],{'host':'localhost','port':0x18eb});var io=require(_0xbffa('0xb'))(new Redis(config['redis']));function emit(_0x40bc44,_0x574cf4,_0x29acd5){io['to'](_0x40bc44)[_0xbffa('0xc')](_0x574cf4,_0x29acd5);}function request(_0x56c5f3){logger[_0xbffa('0xd')](_0xbffa('0xe'),JSON[_0xbffa('0xf')](_0x56c5f3));return rp(_0x56c5f3);}function getCustomFields(_0x3be05c,_0x464f56){var _0x3bd924={};if(_0x3be05c[_0xbffa('0x10')]>0x0){_[_0xbffa('0x11')](_0x3be05c,function(_0x202098){if(_[_0xbffa('0x12')](['string',_0xbffa('0x13')],_0x202098[_0xbffa('0x14')])&&_0x202098[_0xbffa('0x15')]){_0x3bd924[_0x202098[_0xbffa('0x15')]]=_0x202098[_0xbffa('0x16')][_0xbffa('0x17')]();}else if(_0x202098[_0xbffa('0x14')]===_0xbffa('0x18')&&_0x202098['variableName']&&_0x202098[_0xbffa('0x15')]&&_0x464f56[_0x202098[_0xbffa('0x19')]]){_0x3bd924[_0x202098[_0xbffa('0x15')]]=_0x464f56[_0x202098[_0xbffa('0x19')]][_0xbffa('0x17')]();}else if(_0x202098[_0xbffa('0x14')]===_0xbffa('0x1a')&&_0x202098['Variable']&&_0x202098['Variable']['name']&&_0x202098[_0xbffa('0x15')]&&_0x464f56[_0x202098[_0xbffa('0x1b')][_0xbffa('0x1c')][_0xbffa('0x1d')]()]){_0x3bd924[_0x202098['idField']]=_0x464f56[_0x202098[_0xbffa('0x1b')][_0xbffa('0x1c')]['toLowerCase']()][_0xbffa('0x17')]();}});}return _0x3bd924;}function getName(_0x3225ca){if(_0x3225ca[_0xbffa('0x1e')]('\x20')>0x0){var _0x12fcc8=_0x3225ca[_0xbffa('0x1f')](/ (.+)/);if(_0x12fcc8[0x1]){return _0x12fcc8;}}return[_0x3225ca,_0x3225ca];}var accountsTokens={};function getAccessToken(_0x233108){return new Promise(function(_0x5960e3,_0x2522aa){if(!_[_0xbffa('0x20')](accountsTokens[_0x233108['id']])&&!_['isNil'](accountsTokens[_0x233108['id']][_0xbffa('0x21')])){if(moment()[_0xbffa('0x22')](accountsTokens[_0x233108['id']][_0xbffa('0x23')])){_0x5960e3(accountsTokens[_0x233108['id']]['access_token']);}}var _0x6f6847;switch(_0x233108[_0xbffa('0x24')]){case'US':_0x6f6847=_0xbffa('0x25');break;case'AU':_0x6f6847=_0xbffa('0x26');break;case'EU':_0x6f6847=_0xbffa('0x27');break;case'IN':_0x6f6847=_0xbffa('0x28');break;case'CN':_0x6f6847=_0xbffa('0x29');break;default:_0x6f6847=_0xbffa('0x27');break;}var _0x5a3d68={'method':_0xbffa('0x2a'),'uri':_0x6f6847+_0xbffa('0x2b'),'qs':{'refresh_token':_0x233108[_0xbffa('0x2c')],'client_id':_0x233108[_0xbffa('0x2d')],'client_secret':_0x233108['clientSecret'],'grant_type':_0xbffa('0x2e')},'json':!![]};return rp(_0x5a3d68)['then'](function(_0x24fed0){accountsTokens[_0x233108['id']]={'access_token':_0x24fed0[_0xbffa('0x21')],'expires_in':moment()['add'](_0x24fed0['expires_in'],'seconds')};_0x5960e3(_0x24fed0['access_token']);})['catch'](function(_0xe97470){logger[_0xbffa('0x2f')](_0xbffa('0x30'),_0xe97470[_0xbffa('0x31')]);_0x2522aa(_0xe97470);});});}function getUser(_0x8cd843,_0x3890fb,_0x30e691,_0x5c2a9a){logger[_0xbffa('0x32')](_0xbffa('0x33'));return request({'method':'GET','uri':util[_0xbffa('0x34')](_0xbffa('0x35'),_0x3890fb),'qs':{'type':_0xbffa('0x36')},'headers':{'Authorization':_0xbffa('0x37')+_0x8cd843},'json':!![]})[_0xbffa('0x38')](function(_0xfbc0ab){if(_0xfbc0ab[_0xbffa('0x39')]){var _0xea766=-0x1;if(_[_0xbffa('0x3a')](_0xfbc0ab['users'])){if(!_[_0xbffa('0x20')](_0x5c2a9a)){_0xea766=_['findIndex'](_0xfbc0ab[_0xbffa('0x39')],function(_0x1ba586){return _0x1ba586['email']===_0x5c2a9a;});}if(_0xea766>=0x0){logger['info']('Agent\x20found!');}else{logger[_0xbffa('0x32')](_0xbffa('0x3b'));_0xea766=_[_0xbffa('0x3c')](_0xfbc0ab['users'],function(_0x378760){return _0x378760[_0xbffa('0x3d')][_0xbffa('0x1c')]===_0xbffa('0x3e');});}return _0xfbc0ab['users'][_0xea766];}else{if(_0xfbc0ab[_0xbffa('0x3f')][_0xbffa('0x3d')]['name']===_0xbffa('0x3e')){logger[_0xbffa('0x32')]('Using\x20the\x20admin\x20account!');user=_0xfbc0ab[_0xbffa('0x3f')];return user;}else{logger['error']('The\x20failing\x20result\x20is',JSON[_0xbffa('0xf')](_0xfbc0ab));throw new Error(_0xbffa('0x40')+JSON[_0xbffa('0xf')](_0xfbc0ab));}}}else{logger[_0xbffa('0x2f')]('The\x20failing\x20result\x20is',JSON[_0xbffa('0xf')](_0xfbc0ab));throw new Error(_0xbffa('0x40')+JSON[_0xbffa('0xf')](_0xfbc0ab));}})[_0xbffa('0x41')](function(_0x20c1a4){console[_0xbffa('0x2f')](_0x20c1a4);});}function getZohoUser(_0x588547,_0x2e7d7f){return new BPromise(function(_0x5423b5,_0x5565ff){request(_0x588547)[_0xbffa('0x38')](function(_0x2d6628){var _0x3fdfda=null;if(_0x2d6628){_0x3fdfda=_0x2d6628[_0xbffa('0x42')][0x0];_0x3fdfda[_0xbffa('0x43')]=_0x2e7d7f;}_0x5423b5(_0x3fdfda);})['catch'](function(_0x2cd938){_0x5565ff(_0x2cd938);});});}function createEndUser(_0x16aa99,_0x74ded0,_0x546ba2,_0x2f0fc7,_0x1d4b6b,_0x330041){var _0x546ba2=getName(_0x546ba2);return request({'method':_0xbffa('0x2a'),'uri':_0xbffa('0x44')+_0x74ded0+_0xbffa('0x45')+_[_0xbffa('0x46')](_0x330041[_0xbffa('0x47')])+'s','body':{'data':[{'Last_Name':_0x546ba2[0x1],'First_Name':_0x546ba2[0x0],'Phone':_0x2f0fc7,'Owner':{'name':!_[_0xbffa('0x20')](_0x1d4b6b['role'][_0xbffa('0x1c')])?_0x1d4b6b[_0xbffa('0x48')][_0xbffa('0x1c')]:!_[_0xbffa('0x20')](_0x1d4b6b['first_name'])?_0x1d4b6b[_0xbffa('0x49')]+'\x20'+_0x1d4b6b['last_name']:_0x1d4b6b[_0xbffa('0x4a')],'id':_0x1d4b6b['id']}}]},'headers':{'Authorization':_0xbffa('0x37')+_0x16aa99},'json':!![]})['then'](function(_0x5b83bf){if(_0x5b83bf&&_0x5b83bf[_0xbffa('0x42')][0x0]['code']===_0xbffa('0x4b')){var _0x134df3=_0x5b83bf[_0xbffa('0x42')][0x0][_0xbffa('0x4c')];_0x134df3['enduserType']=_['startCase'](_0x330041['moduleCreate'])+'s';return _0x134df3;}logger[_0xbffa('0x2f')](_0xbffa('0x4d'),JSON[_0xbffa('0xf')](data));throw new Error(_0xbffa('0x4e')+JSON[_0xbffa('0xf')](data));})[_0xbffa('0x41')](function(_0x4fbbb3){console[_0xbffa('0x4f')](_0xbffa('0x50'),_0x4fbbb3);});}function getEndUser(_0x1e9192,_0x1b7006,_0x375d9d,_0x4b224a,_0x41bc78,_0x2a345b,_0xf43a04){var _0x18ffdf={'method':'GET','uri':'','headers':{'Authorization':_0xbffa('0x37')+_0x1e9192},'json':!![]};switch(_0xf43a04[_0xbffa('0x51')]){case'contact_lead':_0x18ffdf[_0xbffa('0x52')]=_0xbffa('0x44')+_0x1b7006+_0xbffa('0x53')+_0x41bc78+'))';return getZohoUser(_0x18ffdf,_0xbffa('0x54'))[_0xbffa('0x38')](function(_0x3d7adf){if(_0x3d7adf)return _0x3d7adf;_0x18ffdf[_0xbffa('0x52')]=_0xbffa('0x44')+_0x1b7006+_0xbffa('0x55')+_0x41bc78+'))';return getZohoUser(_0x18ffdf,_0xbffa('0x56'))[_0xbffa('0x38')](function(_0x3ab5c8){if(_0x3ab5c8)return _0x3ab5c8;if(_0xf43a04[_0xbffa('0x47')]!=_0xbffa('0x57')){return createEndUser(_0x1e9192,_0x1b7006,_0x4b224a,_0x41bc78,_0x2a345b,_0xf43a04);}else{return{};}});});break;case _0xbffa('0x58'):_0x18ffdf[_0xbffa('0x52')]=_0xbffa('0x44')+_0x1b7006+_0xbffa('0x53')+_0x41bc78+'))';return getZohoUser(_0x18ffdf,_0xbffa('0x54'))[_0xbffa('0x38')](function(_0x2f33ab){if(_0x2f33ab)return _0x2f33ab;if(_0xf43a04[_0xbffa('0x47')]!=_0xbffa('0x57')){return createEndUser(_0x1e9192,_0x1b7006,_0x4b224a,_0x41bc78,_0x2a345b,_0xf43a04);}else{return{};}});break;case _0xbffa('0x59'):_0x18ffdf[_0xbffa('0x52')]=_0xbffa('0x44')+_0x1b7006+_0xbffa('0x55')+_0x41bc78+'))';return getZohoUser(_0x18ffdf,_0xbffa('0x56'))[_0xbffa('0x38')](function(_0x292add){if(_0x292add)return _0x292add;if(_0xf43a04[_0xbffa('0x47')]!=_0xbffa('0x57')){return createEndUser(_0x1e9192,_0x1b7006,_0x4b224a,_0x41bc78,_0x2a345b,_0xf43a04);}else{return{};}});break;}}function getCall(_0x2ca201,_0x5560a1,_0x8a417f,_0x4b723f,_0x4e9ca6,_0xb8cd74,_0x5a2951,_0x26b510){logger['info'](_0xbffa('0x5a'));var _0x3daeee={};_0x3daeee[_0xbffa('0x5b')]={'name':!_['isNil'](_0x4b723f['role']['name'])&&!_[_0xbffa('0x20')](_0x4b723f[_0xbffa('0x3d')][_0xbffa('0x1c')])&&_0x4b723f[_0xbffa('0x3d')][_0xbffa('0x1c')]===_0xbffa('0x5c')?_0x4b723f[_0xbffa('0x48')][_0xbffa('0x1c')]:!_[_0xbffa('0x20')](_0x4b723f['first_name'])?_0x4b723f[_0xbffa('0x49')]+'\x20'+_0x4b723f[_0xbffa('0x4a')]:_0x4b723f['last_name'],'id':_0x4b723f['id']};_0x3daeee[_0xbffa('0x5d')]=intUtil[_0xbffa('0x5e')](_0xb8cd74[_0xbffa('0x5f')],_0x5a2951,'\x20');_0x3daeee['Description']=intUtil[_0xbffa('0x5e')](_0xb8cd74['Descriptions'],_0x5a2951,'\x0a');if(_0x4e9ca6[_0xbffa('0x43')]===_0xbffa('0x54')){_0x3daeee[_0xbffa('0x60')]={'name':!_[_0xbffa('0x20')](_0x4e9ca6[_0xbffa('0x61')])?_0x4e9ca6[_0xbffa('0x61')]:!_[_0xbffa('0x20')](_0x4e9ca6[_0xbffa('0x62')])?_0x4e9ca6[_0xbffa('0x62')]+'\x20'+_0x4e9ca6[_0xbffa('0x63')]:_0x4e9ca6[_0xbffa('0x63')],'id':_0x4e9ca6['id']};}if(_0x4e9ca6[_0xbffa('0x43')]===_0xbffa('0x56')){_0x3daeee[_0xbffa('0x64')]={'name':!_[_0xbffa('0x20')](_0x4e9ca6[_0xbffa('0x61')])?_0x4e9ca6[_0xbffa('0x61')]:!_['isNil'](_0x4e9ca6[_0xbffa('0x62')])?_0x4e9ca6['First_Name']+'\x20'+_0x4e9ca6[_0xbffa('0x63')]:_0x4e9ca6['Last_Name'],'id':_0x4e9ca6['id']};_0x3daeee[_0xbffa('0x65')]=_['startCase'](_0x4e9ca6['enduserType']);}if(_0x5a2951['talktime']){_0x3daeee[_0xbffa('0x66')]=moment[_0xbffa('0x67')](parseInt(_0x5a2951[_0xbffa('0x68')])*0x3e8)[_0xbffa('0x34')](_0xbffa('0x69'));}else if(_0x5a2951[_0xbffa('0x6a')]&&_0x5a2951[_0xbffa('0x6b')]){_0x3daeee['Call_Duration']=moment[_0xbffa('0x67')](moment(_0x5a2951['endtime'],'YYYY-MM-DDTHH:mm:ss')[_0xbffa('0x6c')](moment(_0x5a2951[_0xbffa('0x6d')],_0xbffa('0x6e'))))[_0xbffa('0x34')](_0xbffa('0x69'));}switch(_0x5a2951[_0xbffa('0x6f')]){case _0xbffa('0x70'):_0x3daeee['Call_Result']=_0xbffa('0x71');break;case'complete':case _0xbffa('0x72'):_0x3daeee[_0xbffa('0x73')]=_0xbffa('0x74');break;case'rejected':_0x3daeee['Call_Result']=_0xbffa('0x75');break;case _0xbffa('0x76'):_0x3daeee[_0xbffa('0x73')]=_0xbffa('0x77');break;case _0xbffa('0x78'):_0x3daeee['Call_Result']=_0xbffa('0x79');default:}_0x3daeee[_0xbffa('0x7a')]=(_0x26b510===_0xbffa('0x7b')?moment(_0x5a2951[_0xbffa('0x6d')])[_0xbffa('0x34')](_0xbffa('0x6e')):moment(_0x5a2951['agentcalledAt'])[_0xbffa('0x34')](_0xbffa('0x6e')))||moment()[_0xbffa('0x34')](_0xbffa('0x6e'));_0x3daeee[_0xbffa('0x7c')]=_0x26b510||'Inbound';_0x3daeee=_[_0xbffa('0x7d')](_0x3daeee,getCustomFields(_0xb8cd74[_0xbffa('0x7e')],_0x5a2951));return request({'method':_0xbffa('0x2a'),'uri':_0xbffa('0x44')+_0x5560a1+'/crm/v2/Calls','headers':{'Authorization':_0xbffa('0x37')+_0x2ca201},'body':{'data':[_0x3daeee]},'json':!![]})['then'](function(_0x3fbfb8){if(_0x3fbfb8&&_0x3fbfb8[_0xbffa('0x42')][0x0]['code']==='SUCCESS'){logger[_0xbffa('0x32')](_0xbffa('0x7f'));return{'id':_0x3fbfb8[_0xbffa('0x42')][0x0]['details']['id']};}})['catch'](function(_0x2150a8){logger['info'](_0xbffa('0x80'),_0x2150a8[_0xbffa('0x31')]);console[_0xbffa('0x4f')](_0xbffa('0x80'),_0x2150a8);});}exports['queue']=function(_0x43367,_0x1c9519,_0x250bcf,_0x5e7f1b,_0x30bad8,_0x4bce65){var _0x41b7dc,_0x81cf64,_0x33954e;_0x4bce65[_0xbffa('0x81')]=intUtil[_0xbffa('0x82')](_0x4bce65[_0xbffa('0x81')]);_0x4bce65['serverUrl']=intUtil['stripTrailingSlash'](_0x4bce65[_0xbffa('0x83')]);if(_0x30bad8&&_0x30bad8[_0xbffa('0x84')]){logger['info']('[QUEUE]',_0xbffa('0x85'));_0x1c9519[_0xbffa('0x86')]=_0x4bce65[_0xbffa('0x83')]+'/api/voice/recordings/'+_0x1c9519[_0xbffa('0x87')]+_0xbffa('0x88')+md5(_0x1c9519[_0xbffa('0x87')]);}else{_0x1c9519[_0xbffa('0x86')]='';}var _0x5e5fa1=_0x4bce65[_0xbffa('0x81')]===_0xbffa('0x89')?'eu':'com';return getAccessToken(_0x4bce65)['then'](function(_0x27c615){_0x33954e=_0x27c615;return getUser(_0x33954e,_0x5e5fa1,_0x4bce65,_0x5e7f1b[_0xbffa('0x8a')]);})[_0xbffa('0x38')](function(_0x17b81d){_0x41b7dc=_0x17b81d;logger[_0xbffa('0x32')](_0xbffa('0x8b'),_0x41b7dc['id']);return getEndUser(_0x33954e,_0x5e5fa1,_0x4bce65,_0x1c9519[_0xbffa('0x8c')],_0x1c9519[_0xbffa('0x8d')],_0x41b7dc,_0x250bcf);})[_0xbffa('0x38')](function(_0xd54745){_0x81cf64=_0xd54745;return getCall(_0x33954e,_0x5e5fa1,_0x4bce65,_0x41b7dc,_0x81cf64,_0x250bcf,_0x1c9519,_0xbffa('0x8e'));})['then'](function(_0x1374c5){if(_0x1374c5){logger[_0xbffa('0x32')](_0xbffa('0x8f'),_0x1374c5['id']);logger[_0xbffa('0x32')]('[QUEUE]',_0xbffa('0x90'));emit(util['format']('user:%s',_0x5e7f1b[_0xbffa('0x1c')]),_0xbffa('0x91'),{'uri':'https://crm.'+_0x4bce65[_0xbffa('0x81')]+_0xbffa('0x92')+_0x1374c5['id']});}})['catch'](function(_0x326b51){logger[_0xbffa('0x2f')]('[QUEUE]',JSON[_0xbffa('0xf')](_0x326b51));});};exports[_0xbffa('0x7b')]=function(_0x446110,_0x12ceb9,_0x7f8188,_0x4cc2a7,_0x32c273,_0x5ec592,_0x2d7623){var _0x4a8c95,_0x451fe2,_0xcc290f;_0x5ec592[_0xbffa('0x81')]=intUtil[_0xbffa('0x82')](_0x5ec592['host']);_0x5ec592[_0xbffa('0x83')]=intUtil[_0xbffa('0x82')](_0x5ec592[_0xbffa('0x83')]);if(_0x2d7623&&_0x2d7623['recordingFormat']&&_0x2d7623[_0xbffa('0x93')]!==_0xbffa('0x94')){logger['info']('[OUTBOUND]','Recording\x20is\x20enabled!');_0x12ceb9[_0xbffa('0x86')]=_0x5ec592[_0xbffa('0x83')]+_0xbffa('0x95')+_0x12ceb9['uniqueid']+_0xbffa('0x88')+md5(_0x12ceb9[_0xbffa('0x87')]);}var _0x2a0319=_0x5ec592[_0xbffa('0x81')]===_0xbffa('0x89')?'eu':_0xbffa('0x96');return getAccessToken(_0x5ec592)[_0xbffa('0x38')](function(_0x3cca12){_0xcc290f=_0x3cca12;return getUser(_0xcc290f,_0x2a0319,_0x5ec592,_0x4cc2a7['email']);})['then'](function(_0x434d67){_0x4a8c95=_0x434d67;logger[_0xbffa('0x32')](_0xbffa('0x8b'),_0x4a8c95['id']);return getEndUser(_0xcc290f,_0x2a0319,_0x5ec592,_0x12ceb9[_0xbffa('0x97')],_0x12ceb9[_0xbffa('0x98')],_0x4a8c95,_0x7f8188);})[_0xbffa('0x38')](function(_0x5aed4d){_0x451fe2=_0x5aed4d;return getCall(_0xcc290f,_0x2a0319,_0x5ec592,_0x4a8c95,_0x451fe2,_0x7f8188,_0x12ceb9,'Outbound');})['then'](function(_0x104a26){if(_0x104a26){logger[_0xbffa('0x32')](_0xbffa('0x8f'),_0x104a26['id']);logger[_0xbffa('0x32')](_0xbffa('0x99'),'Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util['format'](_0xbffa('0x9a'),_0x4cc2a7[_0xbffa('0x1c')]),_0xbffa('0x91'),{'uri':_0xbffa('0x9b')+_0x5ec592['host']+'/crm/EntityInfo.do?module=Calls&id='+_0x104a26['id']});}})[_0xbffa('0x41')](function(_0x158d65){logger[_0xbffa('0x2f')](_0xbffa('0x99'),JSON[_0xbffa('0xf')](_0x158d65));});};exports[_0xbffa('0x9c')]=function(_0x436819,_0x441a99,_0x140ff9,_0x3bc7c1,_0x57bcb0,_0x5f524b){var _0x133e4c,_0xc762d,_0x340086;_0x5f524b[_0xbffa('0x81')]=intUtil[_0xbffa('0x82')](_0x5f524b['host']);_0x5f524b[_0xbffa('0x83')]=intUtil[_0xbffa('0x82')](_0x5f524b[_0xbffa('0x83')]);if(_0x57bcb0&&_0x57bcb0[_0xbffa('0x84')]){logger[_0xbffa('0x32')]('['+_0x441a99[_0xbffa('0x6f')]['toUpperCase']()+']',_0xbffa('0x85'));_0x441a99[_0xbffa('0x86')]=_0x5f524b[_0xbffa('0x83')]+_0xbffa('0x95')+_0x441a99[_0xbffa('0x87')]+_0xbffa('0x88')+md5(_0x441a99[_0xbffa('0x87')]);}else{_0x441a99[_0xbffa('0x86')]='';}var _0x3a7e96=_0x5f524b[_0xbffa('0x81')]===_0xbffa('0x89')?'eu':_0xbffa('0x96');return getAccessToken(_0x5f524b)[_0xbffa('0x38')](function(_0x5836b6){_0x340086=_0x5836b6;return getUser(_0x340086,_0x3a7e96,_0x5f524b);})[_0xbffa('0x38')](function(_0x108c5c){_0x133e4c=_0x108c5c;logger['info']('The\x20User\x20ID\x20is:',_0x133e4c['id']);return getEndUser(_0x340086,_0x3a7e96,_0x5f524b,_0x441a99['calleridname'],_0x441a99[_0xbffa('0x8d')],_0x133e4c,_0x140ff9);})[_0xbffa('0x38')](function(_0x23d814){_0xc762d=_0x23d814;return getCall(_0x340086,_0x3a7e96,_0x5f524b,_0x133e4c,_0xc762d,_0x140ff9,_0x441a99,'Inbound');})[_0xbffa('0x38')](function(_0x554cce){if(_0x554cce){logger['info'](_0xbffa('0x8f'),_0x554cce['id']);}})['catch'](function(_0x446910){logger[_0xbffa('0x2f')]('['+_0x441a99[_0xbffa('0x6f')][_0xbffa('0x9d')]()+']',JSON[_0xbffa('0xf')](_0x446910));});};
\ No newline at end of file
+var _0x5965=['variable','variableName','toString','Variable','name','toLowerCase','indexOf','isNil','expires_in','access_token','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.eu','POST','/oauth/v2/token','clientId','clientSecret','refresh_token','then','seconds','catch','stack','info','Search\x20user','GET','https://www.zohoapis.%s/crm/v2/users','ActiveUsers','Zoho-oauthtoken\x20','users','isArrayLikeObject','findIndex','email','Using\x20the\x20admin\x20account!','profile','Administrator','The\x20failing\x20result\x20is','stringify','error','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','data','https://www.zohoapis.','/crm/v2/','moduleCreate','role','first_name','last_name','code','SUCCESS','details','enduserType','startCase','Error:\x20','log','contact_lead','uri','/crm/v2/Contacts/search?criteria=((Phone:equals:','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','nothing','contact','Contacts','lead','Creating\x20new\x20call...','administrator','Subject','getString','Subjects','Description','Who_Id','Full_Name','First_Name','Last_Name','What_Id','talktime','Call_Duration','utc','format','mm:ss','endtime','YYYY-MM-DDTHH:mm:ss','starttime','lastevent','Call_Result','Called','Answered','rejected','Rejected','abandoned','Abandoned','timeout','Timeout','outbound','agentcalledAt','Call_Type','Inbound','merge','Fields','Call\x20created!','err','host','stripTrailingSlash','serverUrl','monitor_format','Recording\x20is\x20enabled!','recordingURL','/api/voice/recordings/','/downloads?type=uniqueid&token=','com','The\x20User\x20ID\x20is:','calleridname','calleridnum','The\x20Call\x20ID\x20is:','[QUEUE]','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','https://crm.','/crm/EntityInfo.do?module=Calls&id=','recordingFormat','none','[OUTBOUND]','uniqueid','destcalleridname','destcalleridnum','Outbound','unmanaged','zoho.eu','toUpperCase','lodash','request-promise','md5','util','./util','moment','ioredis','bluebird','../../../../config/environment','../../../../config/logger','redis','defaults','localhost','socket.io-emitter','debug','[HTTP]','forEach','includes','picklist','idField','content','type'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x5965,0x1ac));var _0x5596=function(_0x53a858,_0x297f4a){_0x53a858=_0x53a858-0x0;var _0x432186=_0x5965[_0x53a858];return _0x432186;};'use strict';var _=require(_0x5596('0x0'));var rp=require(_0x5596('0x1'));var md5=require(_0x5596('0x2'));var util=require(_0x5596('0x3'));var intUtil=require(_0x5596('0x4'));var moment=require(_0x5596('0x5'));var Redis=require(_0x5596('0x6'));var BPromise=require(_0x5596('0x7'));var config=require(_0x5596('0x8'));var logger=require(_0x5596('0x9'))('zoho');config[_0x5596('0xa')]=_[_0x5596('0xb')](config['redis'],{'host':_0x5596('0xc'),'port':0x18eb});var io=require(_0x5596('0xd'))(new Redis(config[_0x5596('0xa')]));function emit(_0x4c2f27,_0x50a368,_0x19fc22){io['to'](_0x4c2f27)['emit'](_0x50a368,_0x19fc22);}function request(_0x9d5456){logger[_0x5596('0xe')](_0x5596('0xf'),JSON['stringify'](_0x9d5456));return rp(_0x9d5456);}function getCustomFields(_0x2118b7,_0x2b5f3e){var _0x952b0e={};if(_0x2118b7['length']>0x0){_[_0x5596('0x10')](_0x2118b7,function(_0x2bdfdd){if(_[_0x5596('0x11')](['string',_0x5596('0x12')],_0x2bdfdd['type'])&&_0x2bdfdd[_0x5596('0x13')]){_0x952b0e[_0x2bdfdd['idField']]=_0x2bdfdd[_0x5596('0x14')]['toString']();}else if(_0x2bdfdd[_0x5596('0x15')]===_0x5596('0x16')&&_0x2bdfdd[_0x5596('0x17')]&&_0x2bdfdd[_0x5596('0x13')]&&_0x2b5f3e[_0x2bdfdd[_0x5596('0x17')]]){_0x952b0e[_0x2bdfdd['idField']]=_0x2b5f3e[_0x2bdfdd[_0x5596('0x17')]][_0x5596('0x18')]();}else if(_0x2bdfdd[_0x5596('0x15')]==='customVariable'&&_0x2bdfdd[_0x5596('0x19')]&&_0x2bdfdd['Variable'][_0x5596('0x1a')]&&_0x2bdfdd[_0x5596('0x13')]&&_0x2b5f3e[_0x2bdfdd[_0x5596('0x19')]['name'][_0x5596('0x1b')]()]){_0x952b0e[_0x2bdfdd[_0x5596('0x13')]]=_0x2b5f3e[_0x2bdfdd[_0x5596('0x19')]['name']['toLowerCase']()]['toString']();}});}return _0x952b0e;}function getName(_0x3fe6c0){if(_0x3fe6c0[_0x5596('0x1c')]('\x20')>0x0){var _0x4a5190=_0x3fe6c0['split'](/ (.+)/);if(_0x4a5190[0x1]){return _0x4a5190;}}return[_0x3fe6c0,_0x3fe6c0];}var accountsTokens={};function getAccessToken(_0x4c0386){return new Promise(function(_0x2ae8d2,_0x130dee){if(!_[_0x5596('0x1d')](accountsTokens[_0x4c0386['id']])&&!_[_0x5596('0x1d')](accountsTokens[_0x4c0386['id']]['access_token'])){if(moment()['isBefore'](accountsTokens[_0x4c0386['id']][_0x5596('0x1e')])){_0x2ae8d2(accountsTokens[_0x4c0386['id']][_0x5596('0x1f')]);}}var _0x1b3bf3;switch(_0x4c0386['zone']){case'US':_0x1b3bf3=_0x5596('0x20');break;case'AU':_0x1b3bf3=_0x5596('0x21');break;case'EU':_0x1b3bf3=_0x5596('0x22');break;case'IN':_0x1b3bf3='https://accounts.zoho.in';break;case'CN':_0x1b3bf3='https://accounts.zoho.com.cn';break;default:_0x1b3bf3='https://accounts.zoho.eu';break;}var _0x26da30={'method':_0x5596('0x23'),'uri':_0x1b3bf3+_0x5596('0x24'),'qs':{'refresh_token':_0x4c0386['refreshToken'],'client_id':_0x4c0386[_0x5596('0x25')],'client_secret':_0x4c0386[_0x5596('0x26')],'grant_type':_0x5596('0x27')},'json':!![]};return rp(_0x26da30)[_0x5596('0x28')](function(_0x7b0e1){accountsTokens[_0x4c0386['id']]={'access_token':_0x7b0e1[_0x5596('0x1f')],'expires_in':moment()['add'](_0x7b0e1[_0x5596('0x1e')],_0x5596('0x29'))};_0x2ae8d2(_0x7b0e1[_0x5596('0x1f')]);})[_0x5596('0x2a')](function(_0x2a2d1f){logger['error']('Failing\x20creating\x20the\x20access_token',_0x2a2d1f[_0x5596('0x2b')]);_0x130dee(_0x2a2d1f);});});}function getUser(_0x1cbb4f,_0x1864c7,_0x19c8c5,_0x181d42){logger[_0x5596('0x2c')](_0x5596('0x2d'));return request({'method':_0x5596('0x2e'),'uri':util['format'](_0x5596('0x2f'),_0x1864c7),'qs':{'type':_0x5596('0x30')},'headers':{'Authorization':_0x5596('0x31')+_0x1cbb4f},'json':!![]})[_0x5596('0x28')](function(_0x3676f7){if(_0x3676f7[_0x5596('0x32')]){var _0xd1b789=-0x1;if(_[_0x5596('0x33')](_0x3676f7['users'])){if(!_[_0x5596('0x1d')](_0x181d42)){_0xd1b789=_[_0x5596('0x34')](_0x3676f7[_0x5596('0x32')],function(_0x3d3b73){return _0x3d3b73[_0x5596('0x35')]===_0x181d42;});}if(_0xd1b789>=0x0){logger['info']('Agent\x20found!');}else{logger[_0x5596('0x2c')](_0x5596('0x36'));_0xd1b789=_[_0x5596('0x34')](_0x3676f7[_0x5596('0x32')],function(_0x29d77e){return _0x29d77e[_0x5596('0x37')][_0x5596('0x1a')]===_0x5596('0x38');});}return _0x3676f7[_0x5596('0x32')][_0xd1b789];}else{if(_0x3676f7['user'][_0x5596('0x37')][_0x5596('0x1a')]===_0x5596('0x38')){logger[_0x5596('0x2c')]('Using\x20the\x20admin\x20account!');user=_0x3676f7['user'];return user;}else{logger['error'](_0x5596('0x39'),JSON[_0x5596('0x3a')](_0x3676f7));throw new Error('Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20'+JSON[_0x5596('0x3a')](_0x3676f7));}}}else{logger[_0x5596('0x3b')]('The\x20failing\x20result\x20is',JSON[_0x5596('0x3a')](_0x3676f7));throw new Error(_0x5596('0x3c')+JSON[_0x5596('0x3a')](_0x3676f7));}})['catch'](function(_0x1d5b4a){console[_0x5596('0x3b')](_0x1d5b4a);});}function getZohoUser(_0x1cf6a6,_0x9ab6f4){return new BPromise(function(_0x46d067,_0x1beeab){request(_0x1cf6a6)['then'](function(_0x56c4bc){var _0x3450be=null;if(_0x56c4bc){_0x3450be=_0x56c4bc[_0x5596('0x3d')][0x0];_0x3450be['enduserType']=_0x9ab6f4;}_0x46d067(_0x3450be);})[_0x5596('0x2a')](function(_0x7099a8){_0x1beeab(_0x7099a8);});});}function createEndUser(_0x56e0b7,_0x37bcb6,_0x5633ee,_0x2f6c58,_0x41db82,_0x31123c){var _0x5633ee=getName(_0x5633ee);return request({'method':'POST','uri':_0x5596('0x3e')+_0x37bcb6+_0x5596('0x3f')+_['startCase'](_0x31123c[_0x5596('0x40')])+'s','body':{'data':[{'Last_Name':_0x5633ee[0x1],'First_Name':_0x5633ee[0x0],'Phone':_0x2f6c58,'Owner':{'name':!_[_0x5596('0x1d')](_0x41db82[_0x5596('0x41')][_0x5596('0x1a')])?_0x41db82[_0x5596('0x41')][_0x5596('0x1a')]:!_[_0x5596('0x1d')](_0x41db82['first_name'])?_0x41db82[_0x5596('0x42')]+'\x20'+_0x41db82[_0x5596('0x43')]:_0x41db82[_0x5596('0x43')],'id':_0x41db82['id']}}]},'headers':{'Authorization':_0x5596('0x31')+_0x56e0b7},'json':!![]})['then'](function(_0xe9bf27){if(_0xe9bf27&&_0xe9bf27[_0x5596('0x3d')][0x0][_0x5596('0x44')]===_0x5596('0x45')){var _0x183387=_0xe9bf27[_0x5596('0x3d')][0x0][_0x5596('0x46')];_0x183387[_0x5596('0x47')]=_[_0x5596('0x48')](_0x31123c[_0x5596('0x40')])+'s';return _0x183387;}logger['error']('The\x20failing\x20result\x20is',JSON[_0x5596('0x3a')](data));throw new Error(_0x5596('0x49')+JSON[_0x5596('0x3a')](data));})['catch'](function(_0x4bebfb){console[_0x5596('0x4a')]('CREATE\x20ERROR',_0x4bebfb);});}function getEndUser(_0x266dea,_0x359547,_0x51e0c3,_0x5b6ce4,_0x46ce5f,_0x1daba3,_0x45f90b){var _0x3b8f5b={'method':_0x5596('0x2e'),'uri':'','headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x266dea},'json':!![]};switch(_0x45f90b['moduleSearch']){case _0x5596('0x4b'):_0x3b8f5b[_0x5596('0x4c')]='https://www.zohoapis.'+_0x359547+_0x5596('0x4d')+_0x46ce5f+'))';return getZohoUser(_0x3b8f5b,'Contacts')['then'](function(_0x12b553){if(_0x12b553)return _0x12b553;_0x3b8f5b[_0x5596('0x4c')]='https://www.zohoapis.'+_0x359547+_0x5596('0x4e')+_0x46ce5f+'))';return getZohoUser(_0x3b8f5b,_0x5596('0x4f'))[_0x5596('0x28')](function(_0xce378b){if(_0xce378b)return _0xce378b;if(_0x45f90b[_0x5596('0x40')]!=_0x5596('0x50')){return createEndUser(_0x266dea,_0x359547,_0x5b6ce4,_0x46ce5f,_0x1daba3,_0x45f90b);}else{return{};}});});break;case _0x5596('0x51'):_0x3b8f5b[_0x5596('0x4c')]=_0x5596('0x3e')+_0x359547+_0x5596('0x4d')+_0x46ce5f+'))';return getZohoUser(_0x3b8f5b,_0x5596('0x52'))[_0x5596('0x28')](function(_0x5cb096){if(_0x5cb096)return _0x5cb096;if(_0x45f90b[_0x5596('0x40')]!=_0x5596('0x50')){return createEndUser(_0x266dea,_0x359547,_0x5b6ce4,_0x46ce5f,_0x1daba3,_0x45f90b);}else{return{};}});break;case _0x5596('0x53'):_0x3b8f5b[_0x5596('0x4c')]=_0x5596('0x3e')+_0x359547+_0x5596('0x4e')+_0x46ce5f+'))';return getZohoUser(_0x3b8f5b,_0x5596('0x4f'))[_0x5596('0x28')](function(_0x354727){if(_0x354727)return _0x354727;if(_0x45f90b[_0x5596('0x40')]!=_0x5596('0x50')){return createEndUser(_0x266dea,_0x359547,_0x5b6ce4,_0x46ce5f,_0x1daba3,_0x45f90b);}else{return{};}});break;}}function getCall(_0x13122d,_0x4b95cb,_0x3c291e,_0x2d3c2b,_0x4058ee,_0x158cdf,_0xb570bf,_0x497e40){logger[_0x5596('0x2c')](_0x5596('0x54'));var _0x7f2f76={};_0x7f2f76['Owner']={'name':!_[_0x5596('0x1d')](_0x2d3c2b[_0x5596('0x41')][_0x5596('0x1a')])&&!_[_0x5596('0x1d')](_0x2d3c2b[_0x5596('0x37')]['name'])&&_0x2d3c2b[_0x5596('0x37')][_0x5596('0x1a')]===_0x5596('0x55')?_0x2d3c2b['role'][_0x5596('0x1a')]:!_[_0x5596('0x1d')](_0x2d3c2b['first_name'])?_0x2d3c2b['first_name']+'\x20'+_0x2d3c2b[_0x5596('0x43')]:_0x2d3c2b[_0x5596('0x43')],'id':_0x2d3c2b['id']};_0x7f2f76[_0x5596('0x56')]=intUtil[_0x5596('0x57')](_0x158cdf[_0x5596('0x58')],_0xb570bf,'\x20');_0x7f2f76[_0x5596('0x59')]=intUtil[_0x5596('0x57')](_0x158cdf['Descriptions'],_0xb570bf,'\x0a');if(_0x4058ee[_0x5596('0x47')]===_0x5596('0x52')){_0x7f2f76[_0x5596('0x5a')]={'name':!_[_0x5596('0x1d')](_0x4058ee[_0x5596('0x5b')])?_0x4058ee[_0x5596('0x5b')]:!_['isNil'](_0x4058ee['First_Name'])?_0x4058ee[_0x5596('0x5c')]+'\x20'+_0x4058ee['Last_Name']:_0x4058ee[_0x5596('0x5d')],'id':_0x4058ee['id']};}if(_0x4058ee[_0x5596('0x47')]===_0x5596('0x4f')){_0x7f2f76[_0x5596('0x5e')]={'name':!_[_0x5596('0x1d')](_0x4058ee[_0x5596('0x5b')])?_0x4058ee[_0x5596('0x5b')]:!_['isNil'](_0x4058ee['First_Name'])?_0x4058ee[_0x5596('0x5c')]+'\x20'+_0x4058ee[_0x5596('0x5d')]:_0x4058ee['Last_Name'],'id':_0x4058ee['id']};_0x7f2f76['$se_module']=_[_0x5596('0x48')](_0x4058ee['enduserType']);}if(_0xb570bf[_0x5596('0x5f')]){_0x7f2f76[_0x5596('0x60')]=moment[_0x5596('0x61')](parseInt(_0xb570bf[_0x5596('0x5f')])*0x3e8)[_0x5596('0x62')](_0x5596('0x63'));}else if(_0xb570bf['answertime']&&_0xb570bf[_0x5596('0x64')]){_0x7f2f76[_0x5596('0x60')]=moment[_0x5596('0x61')](moment(_0xb570bf[_0x5596('0x64')],_0x5596('0x65'))['diff'](moment(_0xb570bf[_0x5596('0x66')],_0x5596('0x65'))))['format'](_0x5596('0x63'));}switch(_0xb570bf[_0x5596('0x67')]){case'called':_0x7f2f76[_0x5596('0x68')]=_0x5596('0x69');break;case'complete':case'connect':_0x7f2f76[_0x5596('0x68')]=_0x5596('0x6a');break;case _0x5596('0x6b'):_0x7f2f76[_0x5596('0x68')]=_0x5596('0x6c');break;case _0x5596('0x6d'):_0x7f2f76[_0x5596('0x68')]=_0x5596('0x6e');break;case _0x5596('0x6f'):_0x7f2f76['Call_Result']=_0x5596('0x70');default:}_0x7f2f76['Call_Start_Time']=(_0x497e40===_0x5596('0x71')?moment(_0xb570bf[_0x5596('0x66')])[_0x5596('0x62')](_0x5596('0x65')):moment(_0xb570bf[_0x5596('0x72')])[_0x5596('0x62')](_0x5596('0x65')))||moment()[_0x5596('0x62')](_0x5596('0x65'));_0x7f2f76[_0x5596('0x73')]=_0x497e40||_0x5596('0x74');_0x7f2f76=_[_0x5596('0x75')](_0x7f2f76,getCustomFields(_0x158cdf[_0x5596('0x76')],_0xb570bf));return request({'method':_0x5596('0x23'),'uri':'https://www.zohoapis.'+_0x4b95cb+'/crm/v2/Calls','headers':{'Authorization':_0x5596('0x31')+_0x13122d},'body':{'data':[_0x7f2f76]},'json':!![]})[_0x5596('0x28')](function(_0x5503c8){if(_0x5503c8&&_0x5503c8['data'][0x0][_0x5596('0x44')]===_0x5596('0x45')){logger[_0x5596('0x2c')](_0x5596('0x77'));return{'id':_0x5503c8[_0x5596('0x3d')][0x0][_0x5596('0x46')]['id']};}})[_0x5596('0x2a')](function(_0x21d54c){logger['info'](_0x5596('0x78'),_0x21d54c[_0x5596('0x2b')]);console[_0x5596('0x4a')](_0x5596('0x78'),_0x21d54c);});}exports['queue']=function(_0x28cadd,_0x499478,_0x31dc14,_0x241b57,_0x1301ba,_0x2b0b1b){var _0x581c5e,_0x14fb3b,_0x59824e;_0x2b0b1b[_0x5596('0x79')]=intUtil[_0x5596('0x7a')](_0x2b0b1b[_0x5596('0x79')]);_0x2b0b1b[_0x5596('0x7b')]=intUtil[_0x5596('0x7a')](_0x2b0b1b[_0x5596('0x7b')]);if(_0x1301ba&&_0x1301ba[_0x5596('0x7c')]){logger[_0x5596('0x2c')]('[QUEUE]',_0x5596('0x7d'));_0x499478[_0x5596('0x7e')]=_0x2b0b1b['serverUrl']+_0x5596('0x7f')+_0x499478['uniqueid']+_0x5596('0x80')+md5(_0x499478['uniqueid']);}else{_0x499478[_0x5596('0x7e')]='';}var _0x35302a=_0x2b0b1b[_0x5596('0x79')]==='zoho.eu'?'eu':_0x5596('0x81');return getAccessToken(_0x2b0b1b)['then'](function(_0x3e98a8){_0x59824e=_0x3e98a8;return getUser(_0x59824e,_0x35302a,_0x2b0b1b,_0x241b57[_0x5596('0x35')]);})[_0x5596('0x28')](function(_0x5ba0c1){_0x581c5e=_0x5ba0c1;logger[_0x5596('0x2c')](_0x5596('0x82'),_0x581c5e['id']);return getEndUser(_0x59824e,_0x35302a,_0x2b0b1b,_0x499478[_0x5596('0x83')],_0x499478[_0x5596('0x84')],_0x581c5e,_0x31dc14);})['then'](function(_0xb27f0){_0x14fb3b=_0xb27f0;return getCall(_0x59824e,_0x35302a,_0x2b0b1b,_0x581c5e,_0x14fb3b,_0x31dc14,_0x499478,_0x5596('0x74'));})[_0x5596('0x28')](function(_0x16c2c7){if(_0x16c2c7){logger[_0x5596('0x2c')](_0x5596('0x85'),_0x16c2c7['id']);logger[_0x5596('0x2c')](_0x5596('0x86'),_0x5596('0x87'));emit(util[_0x5596('0x62')](_0x5596('0x88'),_0x241b57[_0x5596('0x1a')]),_0x5596('0x89'),{'uri':_0x5596('0x8a')+_0x2b0b1b['host']+_0x5596('0x8b')+_0x16c2c7['id']});}})[_0x5596('0x2a')](function(_0x44153b){logger[_0x5596('0x3b')](_0x5596('0x86'),JSON['stringify'](_0x44153b));});};exports[_0x5596('0x71')]=function(_0x4145fe,_0x37ae90,_0xe1e4b4,_0x58efce,_0xe77da,_0x32ba16,_0x50cfea){var _0x3b6f9a,_0x55ed0e,_0x4bd511;_0x32ba16[_0x5596('0x79')]=intUtil[_0x5596('0x7a')](_0x32ba16['host']);_0x32ba16[_0x5596('0x7b')]=intUtil[_0x5596('0x7a')](_0x32ba16[_0x5596('0x7b')]);if(_0x50cfea&&_0x50cfea['recordingFormat']&&_0x50cfea[_0x5596('0x8c')]!==_0x5596('0x8d')){logger[_0x5596('0x2c')](_0x5596('0x8e'),'Recording\x20is\x20enabled!');_0x37ae90[_0x5596('0x7e')]=_0x32ba16[_0x5596('0x7b')]+_0x5596('0x7f')+_0x37ae90[_0x5596('0x8f')]+'/downloads?type=uniqueid&token='+md5(_0x37ae90[_0x5596('0x8f')]);}var _0xfa352b=_0x32ba16['host']==='zoho.eu'?'eu':_0x5596('0x81');return getAccessToken(_0x32ba16)['then'](function(_0x2d174f){_0x4bd511=_0x2d174f;return getUser(_0x4bd511,_0xfa352b,_0x32ba16,_0x58efce[_0x5596('0x35')]);})[_0x5596('0x28')](function(_0x44a8fb){_0x3b6f9a=_0x44a8fb;logger['info'](_0x5596('0x82'),_0x3b6f9a['id']);return getEndUser(_0x4bd511,_0xfa352b,_0x32ba16,_0x37ae90[_0x5596('0x90')],_0x37ae90[_0x5596('0x91')],_0x3b6f9a,_0xe1e4b4);})['then'](function(_0x20f02a){_0x55ed0e=_0x20f02a;return getCall(_0x4bd511,_0xfa352b,_0x32ba16,_0x3b6f9a,_0x55ed0e,_0xe1e4b4,_0x37ae90,_0x5596('0x92'));})[_0x5596('0x28')](function(_0x856c19){if(_0x856c19){logger[_0x5596('0x2c')](_0x5596('0x85'),_0x856c19['id']);logger[_0x5596('0x2c')](_0x5596('0x8e'),_0x5596('0x87'));emit(util[_0x5596('0x62')](_0x5596('0x88'),_0x58efce[_0x5596('0x1a')]),_0x5596('0x89'),{'uri':_0x5596('0x8a')+_0x32ba16[_0x5596('0x79')]+_0x5596('0x8b')+_0x856c19['id']});}})[_0x5596('0x2a')](function(_0x33a75a){logger[_0x5596('0x3b')]('[OUTBOUND]',JSON[_0x5596('0x3a')](_0x33a75a));});};exports[_0x5596('0x93')]=function(_0x2795f3,_0x3ff57a,_0x14ae17,_0x6f78ed,_0x302f86,_0x4eaf42){var _0x19eac7,_0x5df9e4,_0x32561a;_0x4eaf42[_0x5596('0x79')]=intUtil['stripTrailingSlash'](_0x4eaf42[_0x5596('0x79')]);_0x4eaf42[_0x5596('0x7b')]=intUtil[_0x5596('0x7a')](_0x4eaf42[_0x5596('0x7b')]);if(_0x302f86&&_0x302f86['monitor_format']){logger[_0x5596('0x2c')]('['+_0x3ff57a[_0x5596('0x67')]['toUpperCase']()+']',_0x5596('0x7d'));_0x3ff57a[_0x5596('0x7e')]=_0x4eaf42[_0x5596('0x7b')]+_0x5596('0x7f')+_0x3ff57a['uniqueid']+_0x5596('0x80')+md5(_0x3ff57a['uniqueid']);}else{_0x3ff57a[_0x5596('0x7e')]='';}var _0x2fb54d=_0x4eaf42['host']===_0x5596('0x94')?'eu':_0x5596('0x81');return getAccessToken(_0x4eaf42)[_0x5596('0x28')](function(_0x3dd983){_0x32561a=_0x3dd983;return getUser(_0x32561a,_0x2fb54d,_0x4eaf42);})[_0x5596('0x28')](function(_0x1cefb9){_0x19eac7=_0x1cefb9;logger[_0x5596('0x2c')](_0x5596('0x82'),_0x19eac7['id']);return getEndUser(_0x32561a,_0x2fb54d,_0x4eaf42,_0x3ff57a[_0x5596('0x83')],_0x3ff57a[_0x5596('0x84')],_0x19eac7,_0x14ae17);})['then'](function(_0x36d1fb){_0x5df9e4=_0x36d1fb;return getCall(_0x32561a,_0x2fb54d,_0x4eaf42,_0x19eac7,_0x5df9e4,_0x14ae17,_0x3ff57a,'Inbound');})[_0x5596('0x28')](function(_0x4765c7){if(_0x4765c7){logger['info'](_0x5596('0x85'),_0x4765c7['id']);}})[_0x5596('0x2a')](function(_0x260277){logger[_0x5596('0x3b')]('['+_0x3ff57a['lastevent'][_0x5596('0x95')]()+']',JSON[_0x5596('0x3a')](_0x260277));});};
\ No newline at end of file