a68d99f591bad3c403799bb26200a96433ef90c1
[motion2.git] / server / services / ami / trigger / integration / zoho.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 _0x692a=['Abandoned','timeout','Timeout','Call_Start_Time','outbound','starttime','Inbound','merge','Fields','/crm/v2/Calls','err','log','stripTrailingSlash','host','serverUrl','/downloads?type=uniqueid&token=','uniqueid','recordingURL','com','The\x20User\x20ID\x20is:','calleridname','calleridnum','The\x20Call\x20ID\x20is:','[QUEUE]','/crm/EntityInfo.do?module=Calls&id=','recordingFormat','none','Recording\x20is\x20enabled!','/api/voice/recordings/','zoho.eu','destcalleridname','Outbound','[OUTBOUND]','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','https://crm.','monitor_format','toUpperCase','lodash','md5','./util','moment','ioredis','bluebird','../../../../config/environment','../../../../config/logger','zoho','redis','defaults','localhost','socket.io-emitter','emit','debug','[HTTP]','length','forEach','includes','string','type','idField','content','toString','variableName','Variable','name','toLowerCase','indexOf','split','isNil','access_token','isBefore','expires_in','zone','https://accounts.zoho.com','https://accounts.zoho.eu','https://accounts.zoho.in','POST','clientId','clientSecret','then','add','seconds','catch','error','Failing\x20creating\x20the\x20access_token','stack','Search\x20user','GET','format','ActiveUsers','users','isArrayLikeObject','email','info','Agent\x20found!','Using\x20the\x20admin\x20account!','findIndex','profile','Administrator','user','The\x20failing\x20result\x20is','stringify','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','data','enduserType','/crm/v2/','startCase','moduleCreate','first_name','last_name','SUCCESS','details','Error:\x20','Zoho-oauthtoken\x20','moduleSearch','contact_lead','https://www.zohoapis.','/crm/v2/Contacts/search?criteria=((Phone:equals:','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','nothing','Contacts','lead','uri','role','administrator','Subject','Subjects','Description','getString','Descriptions','Who_Id','Full_Name','Last_Name','What_Id','First_Name','talktime','Call_Duration','utc','mm:ss','answertime','endtime','YYYY-MM-DDTHH:mm:ss','diff','lastevent','called','Call_Result','Called','complete','connect','rejected','Rejected','abandoned'];(function(_0x4c56e6,_0x4071af){var _0x5107c8=function(_0x1a8ec6){while(--_0x1a8ec6){_0x4c56e6['push'](_0x4c56e6['shift']());}};_0x5107c8(++_0x4071af);}(_0x692a,0x15b));var _0xa692=function(_0x27b141,_0x256cfe){_0x27b141=_0x27b141-0x0;var _0x3421f0=_0x692a[_0x27b141];return _0x3421f0;};'use strict';var _=require(_0xa692('0x0'));var rp=require('request-promise');var md5=require(_0xa692('0x1'));var util=require('util');var intUtil=require(_0xa692('0x2'));var moment=require(_0xa692('0x3'));var Redis=require(_0xa692('0x4'));var BPromise=require(_0xa692('0x5'));var config=require(_0xa692('0x6'));var logger=require(_0xa692('0x7'))(_0xa692('0x8'));config[_0xa692('0x9')]=_[_0xa692('0xa')](config[_0xa692('0x9')],{'host':_0xa692('0xb'),'port':0x18eb});var io=require(_0xa692('0xc'))(new Redis(config['redis']));function emit(_0x2e4139,_0x5d5250,_0x1f0f67){io['to'](_0x2e4139)[_0xa692('0xd')](_0x5d5250,_0x1f0f67);}function request(_0x35c66d){logger[_0xa692('0xe')](_0xa692('0xf'),JSON['stringify'](_0x35c66d));return rp(_0x35c66d);}function getCustomFields(_0x2da197,_0x16de87){var _0x137ec7={};if(_0x2da197[_0xa692('0x10')]>0x0){_[_0xa692('0x11')](_0x2da197,function(_0x1f18c7){if(_[_0xa692('0x12')]([_0xa692('0x13'),'picklist'],_0x1f18c7[_0xa692('0x14')])&&_0x1f18c7[_0xa692('0x15')]){_0x137ec7[_0x1f18c7[_0xa692('0x15')]]=_0x1f18c7[_0xa692('0x16')][_0xa692('0x17')]();}else if(_0x1f18c7[_0xa692('0x14')]==='variable'&&_0x1f18c7[_0xa692('0x18')]&&_0x1f18c7[_0xa692('0x15')]&&_0x16de87[_0x1f18c7['variableName']]){_0x137ec7[_0x1f18c7[_0xa692('0x15')]]=_0x16de87[_0x1f18c7['variableName']]['toString']();}else if(_0x1f18c7[_0xa692('0x14')]==='customVariable'&&_0x1f18c7['Variable']&&_0x1f18c7[_0xa692('0x19')][_0xa692('0x1a')]&&_0x1f18c7[_0xa692('0x15')]&&_0x16de87[_0x1f18c7['Variable'][_0xa692('0x1a')]['toLowerCase']()]){_0x137ec7[_0x1f18c7[_0xa692('0x15')]]=_0x16de87[_0x1f18c7[_0xa692('0x19')][_0xa692('0x1a')][_0xa692('0x1b')]()]['toString']();}});}return _0x137ec7;}function getName(_0x4f5164){if(_0x4f5164[_0xa692('0x1c')]('\x20')>0x0){var _0x3db689=_0x4f5164[_0xa692('0x1d')](/ (.+)/);if(_0x3db689[0x1]){return _0x3db689;}}return[_0x4f5164,_0x4f5164];}var accountsTokens={};function getAccessToken(_0x9507b7){return new Promise(function(_0x488bea,_0xfca91c){if(!_[_0xa692('0x1e')](accountsTokens[_0x9507b7['id']])&&!_[_0xa692('0x1e')](accountsTokens[_0x9507b7['id']][_0xa692('0x1f')])){if(moment()[_0xa692('0x20')](accountsTokens[_0x9507b7['id']][_0xa692('0x21')])){_0x488bea(accountsTokens[_0x9507b7['id']]['access_token']);}}var _0x2d8175;switch(_0x9507b7[_0xa692('0x22')]){case'US':_0x2d8175=_0xa692('0x23');break;case'AU':_0x2d8175='https://accounts.zoho.com.au';break;case'EU':_0x2d8175=_0xa692('0x24');break;case'IN':_0x2d8175=_0xa692('0x25');break;case'CN':_0x2d8175='https://accounts.zoho.com.cn';break;default:_0x2d8175='https://accounts.zoho.eu';break;}var _0x4023d1={'method':_0xa692('0x26'),'uri':_0x2d8175+'/oauth/v2/token','qs':{'refresh_token':_0x9507b7['refreshToken'],'client_id':_0x9507b7[_0xa692('0x27')],'client_secret':_0x9507b7[_0xa692('0x28')],'grant_type':'refresh_token'},'json':!![]};return rp(_0x4023d1)[_0xa692('0x29')](function(_0x44a8c7){accountsTokens[_0x9507b7['id']]={'access_token':_0x44a8c7[_0xa692('0x1f')],'expires_in':moment()[_0xa692('0x2a')](_0x44a8c7[_0xa692('0x21')],_0xa692('0x2b'))};_0x488bea(_0x44a8c7[_0xa692('0x1f')]);})[_0xa692('0x2c')](function(_0x466763){logger[_0xa692('0x2d')](_0xa692('0x2e'),_0x466763[_0xa692('0x2f')]);_0xfca91c(_0x466763);});});}function getUser(_0xfda547,_0x3ce6df,_0x4dec04,_0x1f30f7){logger['info'](_0xa692('0x30'));return request({'method':_0xa692('0x31'),'uri':util[_0xa692('0x32')]('https://www.zohoapis.%s/crm/v2/users',_0x3ce6df),'qs':{'type':_0xa692('0x33')},'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0xfda547},'json':!![]})[_0xa692('0x29')](function(_0x463a15){if(_0x463a15[_0xa692('0x34')]){var _0x45d3d4=-0x1;if(_[_0xa692('0x35')](_0x463a15[_0xa692('0x34')])){if(!_['isNil'](_0x1f30f7)){_0x45d3d4=_['findIndex'](_0x463a15[_0xa692('0x34')],function(_0x111f2e){return _0x111f2e[_0xa692('0x36')]===_0x1f30f7;});}if(_0x45d3d4>=0x0){logger[_0xa692('0x37')](_0xa692('0x38'));}else{logger[_0xa692('0x37')](_0xa692('0x39'));_0x45d3d4=_[_0xa692('0x3a')](_0x463a15[_0xa692('0x34')],function(_0x54baf5){return _0x54baf5[_0xa692('0x3b')][_0xa692('0x1a')]===_0xa692('0x3c');});}return _0x463a15[_0xa692('0x34')][_0x45d3d4];}else{if(_0x463a15['user'][_0xa692('0x3b')][_0xa692('0x1a')]==='Administrator'){logger[_0xa692('0x37')](_0xa692('0x39'));user=_0x463a15[_0xa692('0x3d')];return user;}else{logger[_0xa692('0x2d')](_0xa692('0x3e'),JSON[_0xa692('0x3f')](_0x463a15));throw new Error(_0xa692('0x40')+JSON[_0xa692('0x3f')](_0x463a15));}}}else{logger['error'](_0xa692('0x3e'),JSON[_0xa692('0x3f')](_0x463a15));throw new Error(_0xa692('0x40')+JSON[_0xa692('0x3f')](_0x463a15));}})[_0xa692('0x2c')](function(_0x2f11b2){console[_0xa692('0x2d')](_0x2f11b2);});}function getZohoUser(_0x5edb18,_0x2eeba5){return new BPromise(function(_0x40651c,_0x158f82){request(_0x5edb18)[_0xa692('0x29')](function(_0x415578){var _0x453f19=null;if(_0x415578){_0x453f19=_0x415578[_0xa692('0x41')][0x0];_0x453f19[_0xa692('0x42')]=_0x2eeba5;}_0x40651c(_0x453f19);})[_0xa692('0x2c')](function(_0xcd1ac0){_0x158f82(_0xcd1ac0);});});}function createEndUser(_0x543fb5,_0x1044f0,_0x32b014,_0x4900bf,_0x113561,_0x77ed8c){var _0x32b014=getName(_0x32b014);return request({'method':'POST','uri':'https://www.zohoapis.'+_0x1044f0+_0xa692('0x43')+_[_0xa692('0x44')](_0x77ed8c[_0xa692('0x45')])+'s','body':{'data':[{'Last_Name':_0x32b014[0x1],'First_Name':_0x32b014[0x0],'Phone':_0x4900bf,'Owner':{'name':!_[_0xa692('0x1e')](_0x113561['role']['name'])?_0x113561['role']['name']:!_[_0xa692('0x1e')](_0x113561[_0xa692('0x46')])?_0x113561[_0xa692('0x46')]+'\x20'+_0x113561[_0xa692('0x47')]:_0x113561['last_name'],'id':_0x113561['id']}}]},'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x543fb5},'json':!![]})[_0xa692('0x29')](function(_0x5d8a0b){if(_0x5d8a0b&&_0x5d8a0b[_0xa692('0x41')][0x0]['code']===_0xa692('0x48')){var _0x1277a0=_0x5d8a0b[_0xa692('0x41')][0x0][_0xa692('0x49')];_0x1277a0[_0xa692('0x42')]=_[_0xa692('0x44')](_0x77ed8c[_0xa692('0x45')])+'s';return _0x1277a0;}logger[_0xa692('0x2d')](_0xa692('0x3e'),JSON[_0xa692('0x3f')](data));throw new Error(_0xa692('0x4a')+JSON[_0xa692('0x3f')](data));})['catch'](function(_0xad0476){console['log']('CREATE\x20ERROR',_0xad0476);});}function getEndUser(_0x10a74c,_0x413a39,_0x3997ce,_0x3ee16a,_0x5975d9,_0x158f66,_0x15a577){var _0x27c3b1={'method':_0xa692('0x31'),'uri':'','headers':{'Authorization':_0xa692('0x4b')+_0x10a74c},'json':!![]};switch(_0x15a577[_0xa692('0x4c')]){case _0xa692('0x4d'):_0x27c3b1['uri']=_0xa692('0x4e')+_0x413a39+_0xa692('0x4f')+_0x5975d9+'))';return getZohoUser(_0x27c3b1,'Contacts')[_0xa692('0x29')](function(_0x2c1cfd){if(_0x2c1cfd)return _0x2c1cfd;_0x27c3b1['uri']=_0xa692('0x4e')+_0x413a39+_0xa692('0x50')+_0x5975d9+'))';return getZohoUser(_0x27c3b1,_0xa692('0x51'))[_0xa692('0x29')](function(_0x50a673){if(_0x50a673)return _0x50a673;if(_0x15a577[_0xa692('0x45')]!=_0xa692('0x52')){return createEndUser(_0x10a74c,_0x413a39,_0x3ee16a,_0x5975d9,_0x158f66,_0x15a577);}else{return{};}});});break;case'contact':_0x27c3b1['uri']=_0xa692('0x4e')+_0x413a39+_0xa692('0x4f')+_0x5975d9+'))';return getZohoUser(_0x27c3b1,_0xa692('0x53'))[_0xa692('0x29')](function(_0x27115a){if(_0x27115a)return _0x27115a;if(_0x15a577['moduleCreate']!=_0xa692('0x52')){return createEndUser(_0x10a74c,_0x413a39,_0x3ee16a,_0x5975d9,_0x158f66,_0x15a577);}else{return{};}});break;case _0xa692('0x54'):_0x27c3b1[_0xa692('0x55')]=_0xa692('0x4e')+_0x413a39+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x5975d9+'))';return getZohoUser(_0x27c3b1,_0xa692('0x51'))[_0xa692('0x29')](function(_0x1b1ec5){if(_0x1b1ec5)return _0x1b1ec5;if(_0x15a577['moduleCreate']!=_0xa692('0x52')){return createEndUser(_0x10a74c,_0x413a39,_0x3ee16a,_0x5975d9,_0x158f66,_0x15a577);}else{return{};}});break;}}function getCall(_0x296249,_0x46a16f,_0x3e4f53,_0x24d9c3,_0x1e10e4,_0x49eded,_0x22b2f5,_0x2402e5){logger[_0xa692('0x37')]('Creating\x20new\x20call...');var _0x26a939={};_0x26a939['Owner']={'name':!_[_0xa692('0x1e')](_0x24d9c3[_0xa692('0x56')][_0xa692('0x1a')])&&!_[_0xa692('0x1e')](_0x24d9c3[_0xa692('0x3b')][_0xa692('0x1a')])&&_0x24d9c3['profile'][_0xa692('0x1a')]===_0xa692('0x57')?_0x24d9c3[_0xa692('0x56')][_0xa692('0x1a')]:!_[_0xa692('0x1e')](_0x24d9c3[_0xa692('0x46')])?_0x24d9c3['first_name']+'\x20'+_0x24d9c3['last_name']:_0x24d9c3['last_name'],'id':_0x24d9c3['id']};_0x26a939[_0xa692('0x58')]=intUtil['getString'](_0x49eded[_0xa692('0x59')],_0x22b2f5,'\x20');_0x26a939[_0xa692('0x5a')]=intUtil[_0xa692('0x5b')](_0x49eded[_0xa692('0x5c')],_0x22b2f5,'\x0a');if(_0x1e10e4[_0xa692('0x42')]==='Contacts'){_0x26a939[_0xa692('0x5d')]={'name':!_[_0xa692('0x1e')](_0x1e10e4[_0xa692('0x5e')])?_0x1e10e4[_0xa692('0x5e')]:!_[_0xa692('0x1e')](_0x1e10e4['First_Name'])?_0x1e10e4['First_Name']+'\x20'+_0x1e10e4[_0xa692('0x5f')]:_0x1e10e4[_0xa692('0x5f')],'id':_0x1e10e4['id']};}if(_0x1e10e4[_0xa692('0x42')]===_0xa692('0x51')){_0x26a939[_0xa692('0x60')]={'name':!_[_0xa692('0x1e')](_0x1e10e4['Full_Name'])?_0x1e10e4[_0xa692('0x5e')]:!_[_0xa692('0x1e')](_0x1e10e4[_0xa692('0x61')])?_0x1e10e4[_0xa692('0x61')]+'\x20'+_0x1e10e4[_0xa692('0x5f')]:_0x1e10e4[_0xa692('0x5f')],'id':_0x1e10e4['id']};_0x26a939['$se_module']=_[_0xa692('0x44')](_0x1e10e4['enduserType']);}if(_0x22b2f5[_0xa692('0x62')]){_0x26a939[_0xa692('0x63')]=moment[_0xa692('0x64')](parseInt(_0x22b2f5[_0xa692('0x62')])*0x3e8)[_0xa692('0x32')](_0xa692('0x65'));}else if(_0x22b2f5[_0xa692('0x66')]&&_0x22b2f5[_0xa692('0x67')]){_0x26a939[_0xa692('0x63')]=moment[_0xa692('0x64')](moment(_0x22b2f5['endtime'],_0xa692('0x68'))[_0xa692('0x69')](moment(_0x22b2f5['starttime'],_0xa692('0x68'))))[_0xa692('0x32')](_0xa692('0x65'));}switch(_0x22b2f5[_0xa692('0x6a')]){case _0xa692('0x6b'):_0x26a939[_0xa692('0x6c')]=_0xa692('0x6d');break;case _0xa692('0x6e'):case _0xa692('0x6f'):_0x26a939[_0xa692('0x6c')]='Answered';break;case _0xa692('0x70'):_0x26a939[_0xa692('0x6c')]=_0xa692('0x71');break;case _0xa692('0x72'):_0x26a939[_0xa692('0x6c')]=_0xa692('0x73');break;case _0xa692('0x74'):_0x26a939['Call_Result']=_0xa692('0x75');default:}_0x26a939[_0xa692('0x76')]=(_0x2402e5===_0xa692('0x77')?moment(_0x22b2f5[_0xa692('0x78')])[_0xa692('0x32')](_0xa692('0x68')):moment(_0x22b2f5['agentcalledAt'])[_0xa692('0x32')](_0xa692('0x68')))||moment()[_0xa692('0x32')]('YYYY-MM-DDTHH:mm:ss');_0x26a939['Call_Type']=_0x2402e5||_0xa692('0x79');_0x26a939=_[_0xa692('0x7a')](_0x26a939,getCustomFields(_0x49eded[_0xa692('0x7b')],_0x22b2f5));return request({'method':'POST','uri':_0xa692('0x4e')+_0x46a16f+_0xa692('0x7c'),'headers':{'Authorization':_0xa692('0x4b')+_0x296249},'body':{'data':[_0x26a939]},'json':!![]})[_0xa692('0x29')](function(_0x412733){if(_0x412733&&_0x412733[_0xa692('0x41')][0x0]['code']===_0xa692('0x48')){logger['info']('Call\x20created!');return{'id':_0x412733['data'][0x0]['details']['id']};}})[_0xa692('0x2c')](function(_0x5d1842){logger[_0xa692('0x37')](_0xa692('0x7d'),_0x5d1842['stack']);console[_0xa692('0x7e')]('err',_0x5d1842);});}exports['queue']=function(_0x3ce289,_0xa10d6c,_0x116d0f,_0x57d3e4,_0x5889c2,_0xa0c29c){var _0x29500a,_0x235cf6,_0x40763a;_0xa0c29c['host']=intUtil[_0xa692('0x7f')](_0xa0c29c[_0xa692('0x80')]);_0xa0c29c[_0xa692('0x81')]=intUtil['stripTrailingSlash'](_0xa0c29c[_0xa692('0x81')]);if(_0x5889c2&&_0x5889c2['monitor_format']){logger['info']('[QUEUE]','Recording\x20is\x20enabled!');_0xa10d6c['recordingURL']=_0xa0c29c[_0xa692('0x81')]+'/api/voice/recordings/'+_0xa10d6c['uniqueid']+_0xa692('0x82')+md5(_0xa10d6c[_0xa692('0x83')]);}else{_0xa10d6c[_0xa692('0x84')]='';}var _0x59b626=_0xa0c29c[_0xa692('0x80')]==='zoho.eu'?'eu':_0xa692('0x85');return getAccessToken(_0xa0c29c)['then'](function(_0x3cd89c){_0x40763a=_0x3cd89c;return getUser(_0x40763a,_0x59b626,_0xa0c29c,_0x57d3e4[_0xa692('0x36')]);})[_0xa692('0x29')](function(_0x850185){_0x29500a=_0x850185;logger[_0xa692('0x37')](_0xa692('0x86'),_0x29500a['id']);return getEndUser(_0x40763a,_0x59b626,_0xa0c29c,_0xa10d6c[_0xa692('0x87')],_0xa10d6c[_0xa692('0x88')],_0x29500a,_0x116d0f);})['then'](function(_0x27b892){_0x235cf6=_0x27b892;return getCall(_0x40763a,_0x59b626,_0xa0c29c,_0x29500a,_0x235cf6,_0x116d0f,_0xa10d6c,_0xa692('0x79'));})[_0xa692('0x29')](function(_0x322169){if(_0x322169){logger['info'](_0xa692('0x89'),_0x322169['id']);logger[_0xa692('0x37')](_0xa692('0x8a'),'Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0xa692('0x32')]('user:%s',_0x57d3e4[_0xa692('0x1a')]),'trigger:browser:url',{'uri':'https://crm.'+_0xa0c29c[_0xa692('0x80')]+_0xa692('0x8b')+_0x322169['id']});}})[_0xa692('0x2c')](function(_0x12231b){logger['error'](_0xa692('0x8a'),JSON['stringify'](_0x12231b));});};exports[_0xa692('0x77')]=function(_0xd4d0d8,_0x5cfee9,_0x5a4b4a,_0x10142e,_0x5a7a79,_0x265db5,_0x5233de){var _0x434026,_0x3cdd16,_0x3bccd6;_0x265db5[_0xa692('0x80')]=intUtil[_0xa692('0x7f')](_0x265db5[_0xa692('0x80')]);_0x265db5[_0xa692('0x81')]=intUtil[_0xa692('0x7f')](_0x265db5[_0xa692('0x81')]);if(_0x5233de&&_0x5233de[_0xa692('0x8c')]&&_0x5233de[_0xa692('0x8c')]!==_0xa692('0x8d')){logger[_0xa692('0x37')]('[OUTBOUND]',_0xa692('0x8e'));_0x5cfee9[_0xa692('0x84')]=_0x265db5[_0xa692('0x81')]+_0xa692('0x8f')+_0x5cfee9[_0xa692('0x83')]+'/downloads?type=uniqueid&token='+md5(_0x5cfee9[_0xa692('0x83')]);}var _0x552c09=_0x265db5['host']===_0xa692('0x90')?'eu':'com';return getAccessToken(_0x265db5)[_0xa692('0x29')](function(_0x97d0ce){_0x3bccd6=_0x97d0ce;return getUser(_0x3bccd6,_0x552c09,_0x265db5,_0x10142e[_0xa692('0x36')]);})[_0xa692('0x29')](function(_0x59eb74){_0x434026=_0x59eb74;logger[_0xa692('0x37')]('The\x20User\x20ID\x20is:',_0x434026['id']);return getEndUser(_0x3bccd6,_0x552c09,_0x265db5,_0x5cfee9[_0xa692('0x91')],_0x5cfee9['destcalleridnum'],_0x434026,_0x5a4b4a);})[_0xa692('0x29')](function(_0x1ecf6b){_0x3cdd16=_0x1ecf6b;return getCall(_0x3bccd6,_0x552c09,_0x265db5,_0x434026,_0x3cdd16,_0x5a4b4a,_0x5cfee9,_0xa692('0x92'));})['then'](function(_0x82024d){if(_0x82024d){logger['info'](_0xa692('0x89'),_0x82024d['id']);logger[_0xa692('0x37')](_0xa692('0x93'),_0xa692('0x94'));emit(util[_0xa692('0x32')](_0xa692('0x95'),_0x10142e[_0xa692('0x1a')]),_0xa692('0x96'),{'uri':_0xa692('0x97')+_0x265db5[_0xa692('0x80')]+_0xa692('0x8b')+_0x82024d['id']});}})[_0xa692('0x2c')](function(_0x648a40){logger[_0xa692('0x2d')](_0xa692('0x93'),JSON[_0xa692('0x3f')](_0x648a40));});};exports['unmanaged']=function(_0x39f950,_0x2b897b,_0x3e1660,_0x12cace,_0x417748,_0x54ab77){var _0x2a7e03,_0x5c96c2,_0x5c45f3;_0x54ab77[_0xa692('0x80')]=intUtil[_0xa692('0x7f')](_0x54ab77[_0xa692('0x80')]);_0x54ab77[_0xa692('0x81')]=intUtil[_0xa692('0x7f')](_0x54ab77[_0xa692('0x81')]);if(_0x417748&&_0x417748[_0xa692('0x98')]){logger[_0xa692('0x37')]('['+_0x2b897b[_0xa692('0x6a')][_0xa692('0x99')]()+']',_0xa692('0x8e'));_0x2b897b[_0xa692('0x84')]=_0x54ab77[_0xa692('0x81')]+_0xa692('0x8f')+_0x2b897b[_0xa692('0x83')]+'/downloads?type=uniqueid&token='+md5(_0x2b897b[_0xa692('0x83')]);}else{_0x2b897b[_0xa692('0x84')]='';}var _0x49f36a=_0x54ab77[_0xa692('0x80')]==='zoho.eu'?'eu':'com';return getAccessToken(_0x54ab77)[_0xa692('0x29')](function(_0x49c3d1){_0x5c45f3=_0x49c3d1;return getUser(_0x5c45f3,_0x49f36a,_0x54ab77);})[_0xa692('0x29')](function(_0x590666){_0x2a7e03=_0x590666;logger[_0xa692('0x37')](_0xa692('0x86'),_0x2a7e03['id']);return getEndUser(_0x5c45f3,_0x49f36a,_0x54ab77,_0x2b897b['calleridname'],_0x2b897b[_0xa692('0x88')],_0x2a7e03,_0x3e1660);})[_0xa692('0x29')](function(_0x593f38){_0x5c96c2=_0x593f38;return getCall(_0x5c45f3,_0x49f36a,_0x54ab77,_0x2a7e03,_0x5c96c2,_0x3e1660,_0x2b897b,_0xa692('0x79'));})['then'](function(_0x14f0ce){if(_0x14f0ce){logger[_0xa692('0x37')](_0xa692('0x89'),_0x14f0ce['id']);}})[_0xa692('0x2c')](function(_0xf7dbaf){logger[_0xa692('0x2d')]('['+_0x2b897b[_0xa692('0x6a')]['toUpperCase']()+']',JSON[_0xa692('0x3f')](_0xf7dbaf));});};