Built motion from commit 911eb874.|2.6.31
[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 _0x33e1=['calleridnum','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','trigger:browser:url','https://crm.','recordingFormat','none','Recording\x20is\x20enabled!','/api/voice/recordings/','The\x20User\x20ID\x20is:','destcalleridnum','The\x20Call\x20ID\x20is:','/crm/EntityInfo.do?module=Calls&id=','toUpperCase','calleridname','lodash','request-promise','md5','util','./util','ioredis','bluebird','../../../../config/environment','../../../../config/logger','zoho','localhost','socket.io-emitter','redis','emit','length','forEach','includes','string','picklist','type','idField','content','toString','variable','variableName','Variable','name','toLowerCase','indexOf','isNil','access_token','expires_in','zone','https://accounts.zoho.com.au','https://accounts.zoho.eu','https://accounts.zoho.com.cn','POST','/oauth/v2/token','refreshToken','clientId','refresh_token','then','add','seconds','catch','error','Failing\x20creating\x20the\x20access_token','stack','info','Search\x20user','https://www.zohoapis.%s/crm/v2/users','ActiveUsers','Zoho-oauthtoken\x20','users','isArrayLikeObject','email','Agent\x20found!','Using\x20the\x20admin\x20account!','findIndex','profile','user','The\x20failing\x20result\x20is','stringify','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','data','enduserType','https://www.zohoapis.','moduleCreate','role','first_name','last_name','code','SUCCESS','details','startCase','Error:\x20','log','CREATE\x20ERROR','GET','moduleSearch','uri','Contacts','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','nothing','/crm/v2/Contacts/search?criteria=((Phone:equals:','lead','Creating\x20new\x20call...','administrator','Subject','Subjects','Description','getString','Descriptions','Who_Id','Full_Name','First_Name','Last_Name','What_Id','$se_module','Call_Duration','talktime','format','mm:ss','answertime','endtime','utc','YYYY-MM-DDTHH:mm:ss','diff','starttime','lastevent','called','Called','complete','connect','Call_Result','Answered','rejected','Rejected','Abandoned','Timeout','Call_Start_Time','outbound','Call_Type','Inbound','merge','/crm/v2/Calls','Call\x20created!','err','queue','host','stripTrailingSlash','serverUrl','monitor_format','[QUEUE]','uniqueid','/downloads?type=uniqueid&token=','recordingURL','zoho.eu','com'];(function(_0x40a478,_0xf749c8){var _0x20dba6=function(_0x25052c){while(--_0x25052c){_0x40a478['push'](_0x40a478['shift']());}};_0x20dba6(++_0xf749c8);}(_0x33e1,0x142));var _0x133e=function(_0x3647ab,_0x189698){_0x3647ab=_0x3647ab-0x0;var _0x158662=_0x33e1[_0x3647ab];return _0x158662;};'use strict';var _=require(_0x133e('0x0'));var rp=require(_0x133e('0x1'));var md5=require(_0x133e('0x2'));var util=require(_0x133e('0x3'));var intUtil=require(_0x133e('0x4'));var moment=require('moment');var Redis=require(_0x133e('0x5'));var BPromise=require(_0x133e('0x6'));var config=require(_0x133e('0x7'));var logger=require(_0x133e('0x8'))(_0x133e('0x9'));config['redis']=_['defaults'](config['redis'],{'host':_0x133e('0xa'),'port':0x18eb});var io=require(_0x133e('0xb'))(new Redis(config[_0x133e('0xc')]));function emit(_0x2e8179,_0x1c96ff,_0x321ed4){io['to'](_0x2e8179)[_0x133e('0xd')](_0x1c96ff,_0x321ed4);}function request(_0x3fd373){logger['debug']('[HTTP]',JSON['stringify'](_0x3fd373));return rp(_0x3fd373);}function getCustomFields(_0x4d1514,_0x25084e){var _0x873705={};if(_0x4d1514[_0x133e('0xe')]>0x0){_[_0x133e('0xf')](_0x4d1514,function(_0x201dd1){if(_[_0x133e('0x10')]([_0x133e('0x11'),_0x133e('0x12')],_0x201dd1[_0x133e('0x13')])&&_0x201dd1[_0x133e('0x14')]){_0x873705[_0x201dd1['idField']]=_0x201dd1[_0x133e('0x15')][_0x133e('0x16')]();}else if(_0x201dd1[_0x133e('0x13')]===_0x133e('0x17')&&_0x201dd1[_0x133e('0x18')]&&_0x201dd1[_0x133e('0x14')]&&_0x25084e[_0x201dd1['variableName']]){_0x873705[_0x201dd1['idField']]=_0x25084e[_0x201dd1[_0x133e('0x18')]]['toString']();}else if(_0x201dd1[_0x133e('0x13')]==='customVariable'&&_0x201dd1[_0x133e('0x19')]&&_0x201dd1['Variable']['name']&&_0x201dd1['idField']&&_0x25084e[_0x201dd1[_0x133e('0x19')][_0x133e('0x1a')][_0x133e('0x1b')]()]){_0x873705[_0x201dd1['idField']]=_0x25084e[_0x201dd1[_0x133e('0x19')][_0x133e('0x1a')][_0x133e('0x1b')]()][_0x133e('0x16')]();}});}return _0x873705;}function getName(_0x3c0eec){if(_0x3c0eec[_0x133e('0x1c')]('\x20')>0x0){var _0x1642f1=_0x3c0eec['split'](/ (.+)/);if(_0x1642f1[0x1]){return _0x1642f1;}}return[_0x3c0eec,_0x3c0eec];}var accountsTokens={};function getAccessToken(_0x16073d){return new Promise(function(_0xf4d9f9,_0x418e34){if(!_[_0x133e('0x1d')](accountsTokens[_0x16073d['id']])&&!_[_0x133e('0x1d')](accountsTokens[_0x16073d['id']][_0x133e('0x1e')])){if(moment()['isBefore'](accountsTokens[_0x16073d['id']][_0x133e('0x1f')])){_0xf4d9f9(accountsTokens[_0x16073d['id']][_0x133e('0x1e')]);}}var _0x24b39b;switch(_0x16073d[_0x133e('0x20')]){case'US':_0x24b39b='https://accounts.zoho.com';break;case'AU':_0x24b39b=_0x133e('0x21');break;case'EU':_0x24b39b=_0x133e('0x22');break;case'IN':_0x24b39b='https://accounts.zoho.in';break;case'CN':_0x24b39b=_0x133e('0x23');break;default:_0x24b39b=_0x133e('0x22');break;}var _0x3271b8={'method':_0x133e('0x24'),'uri':_0x24b39b+_0x133e('0x25'),'qs':{'refresh_token':_0x16073d[_0x133e('0x26')],'client_id':_0x16073d[_0x133e('0x27')],'client_secret':_0x16073d['clientSecret'],'grant_type':_0x133e('0x28')},'json':!![]};return rp(_0x3271b8)[_0x133e('0x29')](function(_0x7b5d55){accountsTokens[_0x16073d['id']]={'access_token':_0x7b5d55['access_token'],'expires_in':moment()[_0x133e('0x2a')](_0x7b5d55[_0x133e('0x1f')],_0x133e('0x2b'))};_0xf4d9f9(_0x7b5d55[_0x133e('0x1e')]);})[_0x133e('0x2c')](function(_0x2ceac5){logger[_0x133e('0x2d')](_0x133e('0x2e'),_0x2ceac5[_0x133e('0x2f')]);_0x418e34(_0x2ceac5);});});}function getUser(_0x279970,_0x440777,_0x448940,_0x2e9173){logger[_0x133e('0x30')](_0x133e('0x31'));return request({'method':'GET','uri':util['format'](_0x133e('0x32'),_0x440777),'qs':{'type':_0x133e('0x33')},'headers':{'Authorization':_0x133e('0x34')+_0x279970},'json':!![]})[_0x133e('0x29')](function(_0x1d90ac){if(_0x1d90ac[_0x133e('0x35')]){var _0x3d7eba=-0x1;if(_[_0x133e('0x36')](_0x1d90ac['users'])){if(!_[_0x133e('0x1d')](_0x2e9173)){_0x3d7eba=_['findIndex'](_0x1d90ac[_0x133e('0x35')],function(_0x5f2ee1){return _0x5f2ee1[_0x133e('0x37')]===_0x2e9173;});}if(_0x3d7eba>=0x0){logger['info'](_0x133e('0x38'));}else{logger[_0x133e('0x30')](_0x133e('0x39'));_0x3d7eba=_[_0x133e('0x3a')](_0x1d90ac['users'],function(_0x5b8d73){return _0x5b8d73[_0x133e('0x3b')]['name']==='Administrator';});}return _0x1d90ac[_0x133e('0x35')][_0x3d7eba];}else{if(_0x1d90ac[_0x133e('0x3c')][_0x133e('0x3b')][_0x133e('0x1a')]==='Administrator'){logger[_0x133e('0x30')](_0x133e('0x39'));user=_0x1d90ac[_0x133e('0x3c')];return user;}else{logger[_0x133e('0x2d')](_0x133e('0x3d'),JSON[_0x133e('0x3e')](_0x1d90ac));throw new Error(_0x133e('0x3f')+JSON[_0x133e('0x3e')](_0x1d90ac));}}}else{logger['error'](_0x133e('0x3d'),JSON[_0x133e('0x3e')](_0x1d90ac));throw new Error(_0x133e('0x3f')+JSON[_0x133e('0x3e')](_0x1d90ac));}})['catch'](function(_0x5058cb){console[_0x133e('0x2d')](_0x5058cb);});}function getZohoUser(_0x3b14db,_0x39179b){return new BPromise(function(_0x2ca945,_0x249221){request(_0x3b14db)[_0x133e('0x29')](function(_0x1a4dc3){var _0x5f7fd7=null;if(_0x1a4dc3){_0x5f7fd7=_0x1a4dc3[_0x133e('0x40')][0x0];_0x5f7fd7[_0x133e('0x41')]=_0x39179b;}_0x2ca945(_0x5f7fd7);})[_0x133e('0x2c')](function(_0x1e9c3c){_0x249221(_0x1e9c3c);});});}function createEndUser(_0x188279,_0xe9711e,_0x1e28e9,_0x27b0c8,_0x13ac8d,_0xd6ae84){var _0x1e28e9=getName(_0x1e28e9);return request({'method':_0x133e('0x24'),'uri':_0x133e('0x42')+_0xe9711e+'/crm/v2/'+_['startCase'](_0xd6ae84[_0x133e('0x43')])+'s','body':{'data':[{'Last_Name':_0x1e28e9[0x1],'First_Name':_0x1e28e9[0x0],'Phone':_0x27b0c8,'Owner':{'name':!_[_0x133e('0x1d')](_0x13ac8d[_0x133e('0x44')]['name'])?_0x13ac8d[_0x133e('0x44')][_0x133e('0x1a')]:!_[_0x133e('0x1d')](_0x13ac8d[_0x133e('0x45')])?_0x13ac8d[_0x133e('0x45')]+'\x20'+_0x13ac8d[_0x133e('0x46')]:_0x13ac8d['last_name'],'id':_0x13ac8d['id']}}]},'headers':{'Authorization':_0x133e('0x34')+_0x188279},'json':!![]})[_0x133e('0x29')](function(_0x473715){if(_0x473715&&_0x473715[_0x133e('0x40')][0x0][_0x133e('0x47')]===_0x133e('0x48')){var _0x291be1=_0x473715[_0x133e('0x40')][0x0][_0x133e('0x49')];_0x291be1[_0x133e('0x41')]=_[_0x133e('0x4a')](_0xd6ae84[_0x133e('0x43')])+'s';return _0x291be1;}logger[_0x133e('0x2d')](_0x133e('0x3d'),JSON[_0x133e('0x3e')](data));throw new Error(_0x133e('0x4b')+JSON[_0x133e('0x3e')](data));})[_0x133e('0x2c')](function(_0x142592){console[_0x133e('0x4c')](_0x133e('0x4d'),_0x142592);});}function getEndUser(_0x18eb71,_0x372778,_0x138a37,_0x274275,_0xb4a77e,_0x54b279,_0x2ff945){var _0x439320={'method':_0x133e('0x4e'),'uri':'','headers':{'Authorization':_0x133e('0x34')+_0x18eb71},'json':!![]};switch(_0x2ff945[_0x133e('0x4f')]){case'contact_lead':_0x439320[_0x133e('0x50')]=_0x133e('0x42')+_0x372778+'/crm/v2/Contacts/search?criteria=((Phone:equals:'+_0xb4a77e+'))';return getZohoUser(_0x439320,_0x133e('0x51'))[_0x133e('0x29')](function(_0x5991b8){if(_0x5991b8)return _0x5991b8;_0x439320[_0x133e('0x50')]=_0x133e('0x42')+_0x372778+_0x133e('0x52')+_0xb4a77e+'))';return getZohoUser(_0x439320,_0x133e('0x53'))['then'](function(_0x3d091f){if(_0x3d091f)return _0x3d091f;if(_0x2ff945['moduleCreate']!=_0x133e('0x54')){return createEndUser(_0x18eb71,_0x372778,_0x274275,_0xb4a77e,_0x54b279,_0x2ff945);}else{return{};}});});break;case'contact':_0x439320[_0x133e('0x50')]='https://www.zohoapis.'+_0x372778+_0x133e('0x55')+_0xb4a77e+'))';return getZohoUser(_0x439320,_0x133e('0x51'))['then'](function(_0x147cc2){if(_0x147cc2)return _0x147cc2;if(_0x2ff945['moduleCreate']!=_0x133e('0x54')){return createEndUser(_0x18eb71,_0x372778,_0x274275,_0xb4a77e,_0x54b279,_0x2ff945);}else{return{};}});break;case _0x133e('0x56'):_0x439320[_0x133e('0x50')]=_0x133e('0x42')+_0x372778+_0x133e('0x52')+_0xb4a77e+'))';return getZohoUser(_0x439320,_0x133e('0x53'))[_0x133e('0x29')](function(_0x92278f){if(_0x92278f)return _0x92278f;if(_0x2ff945[_0x133e('0x43')]!=_0x133e('0x54')){return createEndUser(_0x18eb71,_0x372778,_0x274275,_0xb4a77e,_0x54b279,_0x2ff945);}else{return{};}});break;}}function getCall(_0x425d12,_0x2ec4ee,_0xa1608e,_0x1b0ecd,_0x180e0a,_0x37335e,_0x404de4,_0x3bf134){logger[_0x133e('0x30')](_0x133e('0x57'));var _0x11333c={};_0x11333c['Owner']={'name':!_[_0x133e('0x1d')](_0x1b0ecd[_0x133e('0x44')][_0x133e('0x1a')])&&!_[_0x133e('0x1d')](_0x1b0ecd[_0x133e('0x3b')]['name'])&&_0x1b0ecd['profile']['name']===_0x133e('0x58')?_0x1b0ecd[_0x133e('0x44')][_0x133e('0x1a')]:!_['isNil'](_0x1b0ecd['first_name'])?_0x1b0ecd['first_name']+'\x20'+_0x1b0ecd[_0x133e('0x46')]:_0x1b0ecd['last_name'],'id':_0x1b0ecd['id']};_0x11333c[_0x133e('0x59')]=intUtil['getString'](_0x37335e[_0x133e('0x5a')],_0x404de4,'\x20');_0x11333c[_0x133e('0x5b')]=intUtil[_0x133e('0x5c')](_0x37335e[_0x133e('0x5d')],_0x404de4,'\x0a');if(_0x180e0a[_0x133e('0x41')]==='Contacts'){_0x11333c[_0x133e('0x5e')]={'name':!_['isNil'](_0x180e0a[_0x133e('0x5f')])?_0x180e0a[_0x133e('0x5f')]:!_[_0x133e('0x1d')](_0x180e0a[_0x133e('0x60')])?_0x180e0a['First_Name']+'\x20'+_0x180e0a[_0x133e('0x61')]:_0x180e0a[_0x133e('0x61')],'id':_0x180e0a['id']};}if(_0x180e0a[_0x133e('0x41')]===_0x133e('0x53')){_0x11333c[_0x133e('0x62')]={'name':!_[_0x133e('0x1d')](_0x180e0a['Full_Name'])?_0x180e0a[_0x133e('0x5f')]:!_[_0x133e('0x1d')](_0x180e0a[_0x133e('0x60')])?_0x180e0a[_0x133e('0x60')]+'\x20'+_0x180e0a[_0x133e('0x61')]:_0x180e0a[_0x133e('0x61')],'id':_0x180e0a['id']};_0x11333c[_0x133e('0x63')]=_[_0x133e('0x4a')](_0x180e0a[_0x133e('0x41')]);}if(_0x404de4['talktime']){_0x11333c[_0x133e('0x64')]=moment['utc'](parseInt(_0x404de4[_0x133e('0x65')])*0x3e8)[_0x133e('0x66')](_0x133e('0x67'));}else if(_0x404de4[_0x133e('0x68')]&&_0x404de4[_0x133e('0x69')]){_0x11333c[_0x133e('0x64')]=moment[_0x133e('0x6a')](moment(_0x404de4[_0x133e('0x69')],_0x133e('0x6b'))[_0x133e('0x6c')](moment(_0x404de4[_0x133e('0x6d')],'YYYY-MM-DDTHH:mm:ss')))[_0x133e('0x66')](_0x133e('0x67'));}switch(_0x404de4[_0x133e('0x6e')]){case _0x133e('0x6f'):_0x11333c['Call_Result']=_0x133e('0x70');break;case _0x133e('0x71'):case _0x133e('0x72'):_0x11333c[_0x133e('0x73')]=_0x133e('0x74');break;case _0x133e('0x75'):_0x11333c[_0x133e('0x73')]=_0x133e('0x76');break;case'abandoned':_0x11333c[_0x133e('0x73')]=_0x133e('0x77');break;case'timeout':_0x11333c[_0x133e('0x73')]=_0x133e('0x78');default:}_0x11333c[_0x133e('0x79')]=(_0x3bf134===_0x133e('0x7a')?moment(_0x404de4[_0x133e('0x6d')])[_0x133e('0x66')](_0x133e('0x6b')):moment(_0x404de4['agentcalledAt'])['format'](_0x133e('0x6b')))||moment()[_0x133e('0x66')]('YYYY-MM-DDTHH:mm:ss');_0x11333c[_0x133e('0x7b')]=_0x3bf134||_0x133e('0x7c');_0x11333c=_[_0x133e('0x7d')](_0x11333c,getCustomFields(_0x37335e['Fields'],_0x404de4));return request({'method':_0x133e('0x24'),'uri':_0x133e('0x42')+_0x2ec4ee+_0x133e('0x7e'),'headers':{'Authorization':_0x133e('0x34')+_0x425d12},'body':{'data':[_0x11333c]},'json':!![]})[_0x133e('0x29')](function(_0x1dd6c0){if(_0x1dd6c0&&_0x1dd6c0[_0x133e('0x40')][0x0][_0x133e('0x47')]==='SUCCESS'){logger['info'](_0x133e('0x7f'));return{'id':_0x1dd6c0[_0x133e('0x40')][0x0]['details']['id']};}})[_0x133e('0x2c')](function(_0x229761){logger[_0x133e('0x30')](_0x133e('0x80'),_0x229761[_0x133e('0x2f')]);console[_0x133e('0x4c')](_0x133e('0x80'),_0x229761);});}exports[_0x133e('0x81')]=function(_0x3b468e,_0x89fe47,_0x3c2b9d,_0x30add7,_0xebf90f,_0x4cc7c7){var _0x4fdbc5,_0x56c830,_0x32c2dd;_0x4cc7c7[_0x133e('0x82')]=intUtil['stripTrailingSlash'](_0x4cc7c7[_0x133e('0x82')]);_0x4cc7c7['serverUrl']=intUtil[_0x133e('0x83')](_0x4cc7c7[_0x133e('0x84')]);if(_0xebf90f&&_0xebf90f[_0x133e('0x85')]){logger[_0x133e('0x30')](_0x133e('0x86'),'Recording\x20is\x20enabled!');_0x89fe47['recordingURL']=_0x4cc7c7[_0x133e('0x84')]+'/api/voice/recordings/'+_0x89fe47[_0x133e('0x87')]+_0x133e('0x88')+md5(_0x89fe47[_0x133e('0x87')]);}else{_0x89fe47[_0x133e('0x89')]='';}var _0x5e0374=_0x4cc7c7['host']===_0x133e('0x8a')?'eu':_0x133e('0x8b');return getAccessToken(_0x4cc7c7)[_0x133e('0x29')](function(_0x870114){_0x32c2dd=_0x870114;return getUser(_0x32c2dd,_0x5e0374,_0x4cc7c7,_0x30add7[_0x133e('0x37')]);})['then'](function(_0xf41fb2){_0x4fdbc5=_0xf41fb2;logger[_0x133e('0x30')]('The\x20User\x20ID\x20is:',_0x4fdbc5['id']);return getEndUser(_0x32c2dd,_0x5e0374,_0x4cc7c7,_0x89fe47['calleridname'],_0x89fe47[_0x133e('0x8c')],_0x4fdbc5,_0x3c2b9d);})[_0x133e('0x29')](function(_0x3082d6){_0x56c830=_0x3082d6;return getCall(_0x32c2dd,_0x5e0374,_0x4cc7c7,_0x4fdbc5,_0x56c830,_0x3c2b9d,_0x89fe47,_0x133e('0x7c'));})['then'](function(_0x1c7ed0){if(_0x1c7ed0){logger[_0x133e('0x30')]('The\x20Call\x20ID\x20is:',_0x1c7ed0['id']);logger['info'](_0x133e('0x86'),_0x133e('0x8d'));emit(util[_0x133e('0x66')]('user:%s',_0x30add7[_0x133e('0x1a')]),_0x133e('0x8e'),{'uri':_0x133e('0x8f')+_0x4cc7c7[_0x133e('0x82')]+'/crm/EntityInfo.do?module=Calls&id='+_0x1c7ed0['id']});}})[_0x133e('0x2c')](function(_0x1b19f9){logger['error'](_0x133e('0x86'),JSON[_0x133e('0x3e')](_0x1b19f9));});};exports[_0x133e('0x7a')]=function(_0x161e89,_0xaa18f,_0x4b8ac0,_0x102057,_0x3a7a2a,_0x14a5fe,_0x44ffaa){var _0x1bac0d,_0x4cf7ec,_0x3827a0;_0x14a5fe[_0x133e('0x82')]=intUtil[_0x133e('0x83')](_0x14a5fe[_0x133e('0x82')]);_0x14a5fe[_0x133e('0x84')]=intUtil[_0x133e('0x83')](_0x14a5fe[_0x133e('0x84')]);if(_0x44ffaa&&_0x44ffaa[_0x133e('0x90')]&&_0x44ffaa[_0x133e('0x90')]!==_0x133e('0x91')){logger['info']('[OUTBOUND]',_0x133e('0x92'));_0xaa18f[_0x133e('0x89')]=_0x14a5fe[_0x133e('0x84')]+_0x133e('0x93')+_0xaa18f[_0x133e('0x87')]+_0x133e('0x88')+md5(_0xaa18f[_0x133e('0x87')]);}var _0x4eaaed=_0x14a5fe['host']==='zoho.eu'?'eu':_0x133e('0x8b');return getAccessToken(_0x14a5fe)['then'](function(_0x23f45a){_0x3827a0=_0x23f45a;return getUser(_0x3827a0,_0x4eaaed,_0x14a5fe,_0x102057[_0x133e('0x37')]);})[_0x133e('0x29')](function(_0x414104){_0x1bac0d=_0x414104;logger[_0x133e('0x30')](_0x133e('0x94'),_0x1bac0d['id']);return getEndUser(_0x3827a0,_0x4eaaed,_0x14a5fe,_0xaa18f['destcalleridname'],_0xaa18f[_0x133e('0x95')],_0x1bac0d,_0x4b8ac0);})['then'](function(_0x5c14f0){_0x4cf7ec=_0x5c14f0;return getCall(_0x3827a0,_0x4eaaed,_0x14a5fe,_0x1bac0d,_0x4cf7ec,_0x4b8ac0,_0xaa18f,'Outbound');})[_0x133e('0x29')](function(_0x132da9){if(_0x132da9){logger['info'](_0x133e('0x96'),_0x132da9['id']);logger[_0x133e('0x30')]('[OUTBOUND]',_0x133e('0x8d'));emit(util[_0x133e('0x66')]('user:%s',_0x102057[_0x133e('0x1a')]),'trigger:browser:url',{'uri':_0x133e('0x8f')+_0x14a5fe[_0x133e('0x82')]+_0x133e('0x97')+_0x132da9['id']});}})[_0x133e('0x2c')](function(_0x139214){logger[_0x133e('0x2d')]('[OUTBOUND]',JSON['stringify'](_0x139214));});};exports['unmanaged']=function(_0x1f680a,_0x4c8825,_0x150a8c,_0x45ddf5,_0x1185b,_0x2fb378){var _0x2f5e61,_0x27c657,_0x2c72e0;_0x2fb378[_0x133e('0x82')]=intUtil[_0x133e('0x83')](_0x2fb378[_0x133e('0x82')]);_0x2fb378[_0x133e('0x84')]=intUtil['stripTrailingSlash'](_0x2fb378[_0x133e('0x84')]);if(_0x1185b&&_0x1185b[_0x133e('0x85')]){logger[_0x133e('0x30')]('['+_0x4c8825['lastevent'][_0x133e('0x98')]()+']',_0x133e('0x92'));_0x4c8825[_0x133e('0x89')]=_0x2fb378['serverUrl']+_0x133e('0x93')+_0x4c8825['uniqueid']+'/downloads?type=uniqueid&token='+md5(_0x4c8825[_0x133e('0x87')]);}else{_0x4c8825[_0x133e('0x89')]='';}var _0x492806=_0x2fb378['host']===_0x133e('0x8a')?'eu':'com';return getAccessToken(_0x2fb378)['then'](function(_0x126ea){_0x2c72e0=_0x126ea;return getUser(_0x2c72e0,_0x492806,_0x2fb378);})['then'](function(_0x3c5fb3){_0x2f5e61=_0x3c5fb3;logger[_0x133e('0x30')](_0x133e('0x94'),_0x2f5e61['id']);return getEndUser(_0x2c72e0,_0x492806,_0x2fb378,_0x4c8825[_0x133e('0x99')],_0x4c8825['calleridnum'],_0x2f5e61,_0x150a8c);})['then'](function(_0x3096e0){_0x27c657=_0x3096e0;return getCall(_0x2c72e0,_0x492806,_0x2fb378,_0x2f5e61,_0x27c657,_0x150a8c,_0x4c8825,_0x133e('0x7c'));})[_0x133e('0x29')](function(_0x4826d9){if(_0x4826d9){logger[_0x133e('0x30')](_0x133e('0x96'),_0x4826d9['id']);}})[_0x133e('0x2c')](function(_0xa56ed9){logger['error']('['+_0x4c8825[_0x133e('0x6e')][_0x133e('0x98')]()+']',JSON[_0x133e('0x3e')](_0xa56ed9));});};