Built motion from commit 4d4d9a88.|2.6.26
[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 _0xf91d=['Call_Type','Fields','/crm/v2/Calls','SUCCESS','err','log','host','stripTrailingSlash','serverUrl','monitor_format','Recording\x20is\x20enabled!','recordingURL','uniqueid','/downloads?type=uniqueid&token=','zoho.eu','com','The\x20User\x20ID\x20is:','calleridname','calleridnum','The\x20Call\x20ID\x20is:','[QUEUE]','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','https://crm.','/crm/EntityInfo.do?module=Calls&id=','recordingFormat','none','[OUTBOUND]','destcalleridname','destcalleridnum','Outbound','trigger:browser:url','/api/voice/recordings/','lodash','request-promise','md5','util','./util','moment','ioredis','bluebird','../../../../config/environment','zoho','redis','defaults','localhost','emit','debug','[HTTP]','stringify','length','forEach','picklist','idField','content','toString','type','variable','customVariable','Variable','name','toLowerCase','indexOf','split','isNil','isBefore','expires_in','access_token','zone','https://accounts.zoho.com','https://accounts.zoho.eu','https://accounts.zoho.in','https://accounts.zoho.com.cn','POST','/oauth/v2/token','refreshToken','clientId','clientSecret','refresh_token','add','error','Failing\x20creating\x20the\x20access_token','stack','info','Search\x20user','GET','https://www.zohoapis.%s/crm/v2/users','ActiveUsers','then','users','findIndex','email','Agent\x20found!','Using\x20the\x20admin\x20account!','Administrator','profile','The\x20failing\x20result\x20is','catch','enduserType','https://www.zohoapis.','/crm/v2/','startCase','role','first_name','last_name','Zoho-oauthtoken\x20','data','code','details','Error:\x20','CREATE\x20ERROR','contact_lead','uri','/crm/v2/Contacts/search?criteria=((Phone:equals:','Contacts','Leads','nothing','contact','moduleCreate','lead','/crm/v2/Leads/search?criteria=((Phone:equals:','Creating\x20new\x20call...','Owner','Subject','getString','Subjects','Description','Who_Id','Last_Name','Full_Name','First_Name','$se_module','talktime','Call_Duration','utc','mm:ss','endtime','YYYY-MM-DDTHH:mm:ss','starttime','format','lastevent','called','Call_Result','Called','complete','Answered','rejected','abandoned','Abandoned','timeout','Timeout','Call_Start_Time','outbound','agentcalledAt'];(function(_0x4b73a2,_0x40b5fe){var _0x383c66=function(_0x3917ae){while(--_0x3917ae){_0x4b73a2['push'](_0x4b73a2['shift']());}};_0x383c66(++_0x40b5fe);}(_0xf91d,0x155));var _0xdf91=function(_0x57b54c,_0x54ce0d){_0x57b54c=_0x57b54c-0x0;var _0x59cc19=_0xf91d[_0x57b54c];return _0x59cc19;};'use strict';var _=require(_0xdf91('0x0'));var rp=require(_0xdf91('0x1'));var md5=require(_0xdf91('0x2'));var util=require(_0xdf91('0x3'));var intUtil=require(_0xdf91('0x4'));var moment=require(_0xdf91('0x5'));var Redis=require(_0xdf91('0x6'));var BPromise=require(_0xdf91('0x7'));var config=require(_0xdf91('0x8'));var logger=require('../../../../config/logger')(_0xdf91('0x9'));config[_0xdf91('0xa')]=_[_0xdf91('0xb')](config['redis'],{'host':_0xdf91('0xc'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));function emit(_0x460774,_0x40d9eb,_0x5d710a){io['to'](_0x460774)[_0xdf91('0xd')](_0x40d9eb,_0x5d710a);}function request(_0x5e2038){logger[_0xdf91('0xe')](_0xdf91('0xf'),JSON[_0xdf91('0x10')](_0x5e2038));return rp(_0x5e2038);}function getCustomFields(_0x528a7f,_0x15ff50){var _0x1473aa={};if(_0x528a7f[_0xdf91('0x11')]>0x0){_[_0xdf91('0x12')](_0x528a7f,function(_0x59868e){if(_['includes'](['string',_0xdf91('0x13')],_0x59868e['type'])&&_0x59868e[_0xdf91('0x14')]){_0x1473aa[_0x59868e[_0xdf91('0x14')]]=_0x59868e[_0xdf91('0x15')][_0xdf91('0x16')]();}else if(_0x59868e[_0xdf91('0x17')]===_0xdf91('0x18')&&_0x59868e['variableName']&&_0x59868e[_0xdf91('0x14')]&&_0x15ff50[_0x59868e['variableName']]){_0x1473aa[_0x59868e[_0xdf91('0x14')]]=_0x15ff50[_0x59868e['variableName']]['toString']();}else if(_0x59868e[_0xdf91('0x17')]===_0xdf91('0x19')&&_0x59868e['Variable']&&_0x59868e[_0xdf91('0x1a')][_0xdf91('0x1b')]&&_0x59868e[_0xdf91('0x14')]&&_0x15ff50[_0x59868e[_0xdf91('0x1a')][_0xdf91('0x1b')][_0xdf91('0x1c')]()]){_0x1473aa[_0x59868e['idField']]=_0x15ff50[_0x59868e[_0xdf91('0x1a')][_0xdf91('0x1b')][_0xdf91('0x1c')]()]['toString']();}});}return _0x1473aa;}function getName(_0x294823){if(_0x294823[_0xdf91('0x1d')]('\x20')>0x0){var _0x427af8=_0x294823[_0xdf91('0x1e')](/ (.+)/);if(_0x427af8[0x1]){return _0x427af8;}}return[_0x294823,_0x294823];}var accountsTokens={};function getAccessToken(_0x2704fa){return new Promise(function(_0x15e91f,_0x2d83b6){if(!_['isNil'](accountsTokens[_0x2704fa['id']])&&!_[_0xdf91('0x1f')](accountsTokens[_0x2704fa['id']]['access_token'])){if(moment()[_0xdf91('0x20')](accountsTokens[_0x2704fa['id']][_0xdf91('0x21')])){_0x15e91f(accountsTokens[_0x2704fa['id']][_0xdf91('0x22')]);}}var _0x52cdc6;switch(_0x2704fa[_0xdf91('0x23')]){case'US':_0x52cdc6=_0xdf91('0x24');break;case'AU':_0x52cdc6='https://accounts.zoho.com.au';break;case'EU':_0x52cdc6=_0xdf91('0x25');break;case'IN':_0x52cdc6=_0xdf91('0x26');break;case'CN':_0x52cdc6=_0xdf91('0x27');break;default:_0x52cdc6=_0xdf91('0x25');break;}var _0x2b4bb8={'method':_0xdf91('0x28'),'uri':_0x52cdc6+_0xdf91('0x29'),'qs':{'refresh_token':_0x2704fa[_0xdf91('0x2a')],'client_id':_0x2704fa[_0xdf91('0x2b')],'client_secret':_0x2704fa[_0xdf91('0x2c')],'grant_type':_0xdf91('0x2d')},'json':!![]};return rp(_0x2b4bb8)['then'](function(_0x3922fe){accountsTokens[_0x2704fa['id']]={'access_token':_0x3922fe[_0xdf91('0x22')],'expires_in':moment()[_0xdf91('0x2e')](_0x3922fe['expires_in'],'seconds')};_0x15e91f(_0x3922fe[_0xdf91('0x22')]);})['catch'](function(_0x9aba18){logger[_0xdf91('0x2f')](_0xdf91('0x30'),_0x9aba18[_0xdf91('0x31')]);_0x2d83b6(_0x9aba18);});});}function getUser(_0x41d8f7,_0x3fd07d,_0xf75af6,_0xe097cc){logger[_0xdf91('0x32')](_0xdf91('0x33'));return request({'method':_0xdf91('0x34'),'uri':util['format'](_0xdf91('0x35'),_0x3fd07d),'qs':{'type':_0xdf91('0x36')},'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x41d8f7},'json':!![]})[_0xdf91('0x37')](function(_0x2552cb){if(_0x2552cb[_0xdf91('0x38')]){var _0x51a9f6=-0x1;if(_['isArrayLikeObject'](_0x2552cb[_0xdf91('0x38')])){if(!_[_0xdf91('0x1f')](_0xe097cc)){_0x51a9f6=_[_0xdf91('0x39')](_0x2552cb[_0xdf91('0x38')],function(_0x1337e3){return _0x1337e3[_0xdf91('0x3a')]===_0xe097cc;});}if(_0x51a9f6>=0x0){logger[_0xdf91('0x32')](_0xdf91('0x3b'));}else{logger[_0xdf91('0x32')](_0xdf91('0x3c'));_0x51a9f6=_['findIndex'](_0x2552cb[_0xdf91('0x38')],function(_0x44bb1f){return _0x44bb1f['profile'][_0xdf91('0x1b')]===_0xdf91('0x3d');});}return _0x2552cb['users'][_0x51a9f6];}else{if(_0x2552cb['user'][_0xdf91('0x3e')][_0xdf91('0x1b')]===_0xdf91('0x3d')){logger[_0xdf91('0x32')]('Using\x20the\x20admin\x20account!');user=_0x2552cb['user'];return user;}else{logger[_0xdf91('0x2f')]('The\x20failing\x20result\x20is',JSON[_0xdf91('0x10')](_0x2552cb));throw new Error('Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20'+JSON['stringify'](_0x2552cb));}}}else{logger[_0xdf91('0x2f')](_0xdf91('0x3f'),JSON[_0xdf91('0x10')](_0x2552cb));throw new Error('Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20'+JSON['stringify'](_0x2552cb));}})[_0xdf91('0x40')](function(_0x2526bb){console[_0xdf91('0x2f')](_0x2526bb);});}function getZohoUser(_0x950043,_0x5d787b){return new BPromise(function(_0xfeb796,_0x52aca0){request(_0x950043)[_0xdf91('0x37')](function(_0x23ea64){var _0x5643c1=null;if(_0x23ea64){_0x5643c1=_0x23ea64['data'][0x0];_0x5643c1[_0xdf91('0x41')]=_0x5d787b;}_0xfeb796(_0x5643c1);})[_0xdf91('0x40')](function(_0xccc709){_0x52aca0(_0xccc709);});});}function createEndUser(_0x9aacbf,_0x30d16f,_0x1deaf7,_0x123a06,_0x25a7eb,_0x49856f){var _0x1deaf7=getName(_0x1deaf7);return request({'method':_0xdf91('0x28'),'uri':_0xdf91('0x42')+_0x30d16f+_0xdf91('0x43')+_[_0xdf91('0x44')](_0x49856f['moduleCreate'])+'s','body':{'data':[{'Last_Name':_0x1deaf7[0x1],'First_Name':_0x1deaf7[0x0],'Phone':_0x123a06,'Owner':{'name':!_['isNil'](_0x25a7eb[_0xdf91('0x45')][_0xdf91('0x1b')])?_0x25a7eb[_0xdf91('0x45')][_0xdf91('0x1b')]:!_[_0xdf91('0x1f')](_0x25a7eb[_0xdf91('0x46')])?_0x25a7eb[_0xdf91('0x46')]+'\x20'+_0x25a7eb[_0xdf91('0x47')]:_0x25a7eb[_0xdf91('0x47')],'id':_0x25a7eb['id']}}]},'headers':{'Authorization':_0xdf91('0x48')+_0x9aacbf},'json':!![]})['then'](function(_0x2ca195){if(_0x2ca195&&_0x2ca195[_0xdf91('0x49')][0x0][_0xdf91('0x4a')]==='SUCCESS'){var _0x14c8f1=_0x2ca195[_0xdf91('0x49')][0x0][_0xdf91('0x4b')];_0x14c8f1[_0xdf91('0x41')]=_[_0xdf91('0x44')](_0x49856f['moduleCreate'])+'s';return _0x14c8f1;}logger[_0xdf91('0x2f')](_0xdf91('0x3f'),JSON[_0xdf91('0x10')](data));throw new Error(_0xdf91('0x4c')+JSON[_0xdf91('0x10')](data));})['catch'](function(_0x524b28){console['log'](_0xdf91('0x4d'),_0x524b28);});}function getEndUser(_0xd7b886,_0x41233e,_0x18772d,_0x328d95,_0x5b1009,_0x3a5b69,_0x4315d8){var _0x22d00b={'method':_0xdf91('0x34'),'uri':'','headers':{'Authorization':_0xdf91('0x48')+_0xd7b886},'json':!![]};switch(_0x4315d8['moduleSearch']){case _0xdf91('0x4e'):_0x22d00b[_0xdf91('0x4f')]=_0xdf91('0x42')+_0x41233e+_0xdf91('0x50')+_0x5b1009+'))';return getZohoUser(_0x22d00b,_0xdf91('0x51'))[_0xdf91('0x37')](function(_0x31a221){if(_0x31a221)return _0x31a221;_0x22d00b[_0xdf91('0x4f')]=_0xdf91('0x42')+_0x41233e+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x5b1009+'))';return getZohoUser(_0x22d00b,_0xdf91('0x52'))[_0xdf91('0x37')](function(_0x4eafde){if(_0x4eafde)return _0x4eafde;if(_0x4315d8['moduleCreate']!=_0xdf91('0x53')){return createEndUser(_0xd7b886,_0x41233e,_0x328d95,_0x5b1009,_0x3a5b69,_0x4315d8);}else{return{};}});});break;case _0xdf91('0x54'):_0x22d00b[_0xdf91('0x4f')]=_0xdf91('0x42')+_0x41233e+_0xdf91('0x50')+_0x5b1009+'))';return getZohoUser(_0x22d00b,_0xdf91('0x51'))[_0xdf91('0x37')](function(_0x1a177b){if(_0x1a177b)return _0x1a177b;if(_0x4315d8[_0xdf91('0x55')]!='nothing'){return createEndUser(_0xd7b886,_0x41233e,_0x328d95,_0x5b1009,_0x3a5b69,_0x4315d8);}else{return{};}});break;case _0xdf91('0x56'):_0x22d00b[_0xdf91('0x4f')]='https://www.zohoapis.'+_0x41233e+_0xdf91('0x57')+_0x5b1009+'))';return getZohoUser(_0x22d00b,'Leads')[_0xdf91('0x37')](function(_0x4969a8){if(_0x4969a8)return _0x4969a8;if(_0x4315d8[_0xdf91('0x55')]!='nothing'){return createEndUser(_0xd7b886,_0x41233e,_0x328d95,_0x5b1009,_0x3a5b69,_0x4315d8);}else{return{};}});break;}}function getCall(_0x4d9aac,_0x3287bd,_0x5817c9,_0xece38f,_0x476b0b,_0x36c8f5,_0x746c8f,_0xc6fc5e){logger[_0xdf91('0x32')](_0xdf91('0x58'));var _0x53f50e={};_0x53f50e[_0xdf91('0x59')]={'name':!_[_0xdf91('0x1f')](_0xece38f['role'][_0xdf91('0x1b')])&&!_[_0xdf91('0x1f')](_0xece38f['profile'][_0xdf91('0x1b')])&&_0xece38f[_0xdf91('0x3e')][_0xdf91('0x1b')]==='administrator'?_0xece38f[_0xdf91('0x45')]['name']:!_[_0xdf91('0x1f')](_0xece38f[_0xdf91('0x46')])?_0xece38f[_0xdf91('0x46')]+'\x20'+_0xece38f[_0xdf91('0x47')]:_0xece38f[_0xdf91('0x47')],'id':_0xece38f['id']};_0x53f50e[_0xdf91('0x5a')]=intUtil[_0xdf91('0x5b')](_0x36c8f5[_0xdf91('0x5c')],_0x746c8f,'\x20');_0x53f50e[_0xdf91('0x5d')]=intUtil[_0xdf91('0x5b')](_0x36c8f5['Descriptions'],_0x746c8f,'\x0a');if(_0x476b0b[_0xdf91('0x41')]==='Contacts'){_0x53f50e[_0xdf91('0x5e')]={'name':!_[_0xdf91('0x1f')](_0x476b0b['Full_Name'])?_0x476b0b['Full_Name']:!_[_0xdf91('0x1f')](_0x476b0b['First_Name'])?_0x476b0b['First_Name']+'\x20'+_0x476b0b[_0xdf91('0x5f')]:_0x476b0b[_0xdf91('0x5f')],'id':_0x476b0b['id']};}if(_0x476b0b[_0xdf91('0x41')]===_0xdf91('0x52')){_0x53f50e['What_Id']={'name':!_[_0xdf91('0x1f')](_0x476b0b[_0xdf91('0x60')])?_0x476b0b[_0xdf91('0x60')]:!_[_0xdf91('0x1f')](_0x476b0b['First_Name'])?_0x476b0b[_0xdf91('0x61')]+'\x20'+_0x476b0b['Last_Name']:_0x476b0b['Last_Name'],'id':_0x476b0b['id']};_0x53f50e[_0xdf91('0x62')]=_[_0xdf91('0x44')](_0x476b0b[_0xdf91('0x41')]);}if(_0x746c8f[_0xdf91('0x63')]){_0x53f50e[_0xdf91('0x64')]=moment[_0xdf91('0x65')](parseInt(_0x746c8f[_0xdf91('0x63')])*0x3e8)['format'](_0xdf91('0x66'));}else if(_0x746c8f['answertime']&&_0x746c8f[_0xdf91('0x67')]){_0x53f50e[_0xdf91('0x64')]=moment['utc'](moment(_0x746c8f[_0xdf91('0x67')],_0xdf91('0x68'))['diff'](moment(_0x746c8f[_0xdf91('0x69')],_0xdf91('0x68'))))[_0xdf91('0x6a')](_0xdf91('0x66'));}switch(_0x746c8f[_0xdf91('0x6b')]){case _0xdf91('0x6c'):_0x53f50e[_0xdf91('0x6d')]=_0xdf91('0x6e');break;case _0xdf91('0x6f'):case'connect':_0x53f50e[_0xdf91('0x6d')]=_0xdf91('0x70');break;case _0xdf91('0x71'):_0x53f50e[_0xdf91('0x6d')]='Rejected';break;case _0xdf91('0x72'):_0x53f50e[_0xdf91('0x6d')]=_0xdf91('0x73');break;case _0xdf91('0x74'):_0x53f50e[_0xdf91('0x6d')]=_0xdf91('0x75');default:}_0x53f50e[_0xdf91('0x76')]=(_0xc6fc5e===_0xdf91('0x77')?moment(_0x746c8f[_0xdf91('0x69')])[_0xdf91('0x6a')](_0xdf91('0x68')):moment(_0x746c8f[_0xdf91('0x78')])['format'](_0xdf91('0x68')))||moment()[_0xdf91('0x6a')](_0xdf91('0x68'));_0x53f50e[_0xdf91('0x79')]=_0xc6fc5e||'Inbound';_0x53f50e=_['merge'](_0x53f50e,getCustomFields(_0x36c8f5[_0xdf91('0x7a')],_0x746c8f));return request({'method':_0xdf91('0x28'),'uri':_0xdf91('0x42')+_0x3287bd+_0xdf91('0x7b'),'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x4d9aac},'body':{'data':[_0x53f50e]},'json':!![]})[_0xdf91('0x37')](function(_0x4daf9b){if(_0x4daf9b&&_0x4daf9b[_0xdf91('0x49')][0x0][_0xdf91('0x4a')]===_0xdf91('0x7c')){logger[_0xdf91('0x32')]('Call\x20created!');return{'id':_0x4daf9b[_0xdf91('0x49')][0x0]['details']['id']};}})[_0xdf91('0x40')](function(_0x2ccfed){logger[_0xdf91('0x32')](_0xdf91('0x7d'),_0x2ccfed[_0xdf91('0x31')]);console[_0xdf91('0x7e')]('err',_0x2ccfed);});}exports['queue']=function(_0x4ab906,_0x50990c,_0x585856,_0x2c79cd,_0x2d2ffa,_0x12b85b){var _0x482251,_0x4aa736,_0x24f7b3;_0x12b85b[_0xdf91('0x7f')]=intUtil[_0xdf91('0x80')](_0x12b85b[_0xdf91('0x7f')]);_0x12b85b[_0xdf91('0x81')]=intUtil['stripTrailingSlash'](_0x12b85b[_0xdf91('0x81')]);if(_0x2d2ffa&&_0x2d2ffa[_0xdf91('0x82')]){logger[_0xdf91('0x32')]('[QUEUE]',_0xdf91('0x83'));_0x50990c[_0xdf91('0x84')]=_0x12b85b['serverUrl']+'/api/voice/recordings/'+_0x50990c[_0xdf91('0x85')]+_0xdf91('0x86')+md5(_0x50990c[_0xdf91('0x85')]);}else{_0x50990c[_0xdf91('0x84')]='';}var _0x21013d=_0x12b85b['host']===_0xdf91('0x87')?'eu':_0xdf91('0x88');return getAccessToken(_0x12b85b)[_0xdf91('0x37')](function(_0x3bcd27){_0x24f7b3=_0x3bcd27;return getUser(_0x24f7b3,_0x21013d,_0x12b85b,_0x2c79cd[_0xdf91('0x3a')]);})[_0xdf91('0x37')](function(_0x4c48e0){_0x482251=_0x4c48e0;logger[_0xdf91('0x32')](_0xdf91('0x89'),_0x482251['id']);return getEndUser(_0x24f7b3,_0x21013d,_0x12b85b,_0x50990c[_0xdf91('0x8a')],_0x50990c[_0xdf91('0x8b')],_0x482251,_0x585856);})[_0xdf91('0x37')](function(_0x237105){_0x4aa736=_0x237105;return getCall(_0x24f7b3,_0x21013d,_0x12b85b,_0x482251,_0x4aa736,_0x585856,_0x50990c,'Inbound');})[_0xdf91('0x37')](function(_0x289d68){if(_0x289d68){logger[_0xdf91('0x32')](_0xdf91('0x8c'),_0x289d68['id']);logger['info'](_0xdf91('0x8d'),_0xdf91('0x8e'));emit(util[_0xdf91('0x6a')](_0xdf91('0x8f'),_0x2c79cd[_0xdf91('0x1b')]),'trigger:browser:url',{'uri':_0xdf91('0x90')+_0x12b85b[_0xdf91('0x7f')]+_0xdf91('0x91')+_0x289d68['id']});}})['catch'](function(_0xe04f38){logger[_0xdf91('0x2f')](_0xdf91('0x8d'),JSON['stringify'](_0xe04f38));});};exports[_0xdf91('0x77')]=function(_0x281579,_0x4342b4,_0x3deb2e,_0x33f910,_0x15e1ee,_0x535572,_0x58e2b1){var _0x35aefa,_0x58b645,_0x5b0cfc;_0x535572['host']=intUtil[_0xdf91('0x80')](_0x535572[_0xdf91('0x7f')]);_0x535572['serverUrl']=intUtil[_0xdf91('0x80')](_0x535572[_0xdf91('0x81')]);if(_0x58e2b1&&_0x58e2b1[_0xdf91('0x92')]&&_0x58e2b1[_0xdf91('0x92')]!==_0xdf91('0x93')){logger[_0xdf91('0x32')](_0xdf91('0x94'),_0xdf91('0x83'));_0x4342b4['recordingURL']=_0x535572[_0xdf91('0x81')]+'/api/voice/recordings/'+_0x4342b4[_0xdf91('0x85')]+_0xdf91('0x86')+md5(_0x4342b4[_0xdf91('0x85')]);}var _0x35359e=_0x535572[_0xdf91('0x7f')]===_0xdf91('0x87')?'eu':_0xdf91('0x88');return getAccessToken(_0x535572)['then'](function(_0x3ec626){_0x5b0cfc=_0x3ec626;return getUser(_0x5b0cfc,_0x35359e,_0x535572,_0x33f910[_0xdf91('0x3a')]);})['then'](function(_0x149986){_0x35aefa=_0x149986;logger['info'](_0xdf91('0x89'),_0x35aefa['id']);return getEndUser(_0x5b0cfc,_0x35359e,_0x535572,_0x4342b4[_0xdf91('0x95')],_0x4342b4[_0xdf91('0x96')],_0x35aefa,_0x3deb2e);})[_0xdf91('0x37')](function(_0x42fcce){_0x58b645=_0x42fcce;return getCall(_0x5b0cfc,_0x35359e,_0x535572,_0x35aefa,_0x58b645,_0x3deb2e,_0x4342b4,_0xdf91('0x97'));})[_0xdf91('0x37')](function(_0x103334){if(_0x103334){logger[_0xdf91('0x32')](_0xdf91('0x8c'),_0x103334['id']);logger[_0xdf91('0x32')](_0xdf91('0x94'),'Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0xdf91('0x6a')](_0xdf91('0x8f'),_0x33f910[_0xdf91('0x1b')]),_0xdf91('0x98'),{'uri':'https://crm.'+_0x535572[_0xdf91('0x7f')]+_0xdf91('0x91')+_0x103334['id']});}})[_0xdf91('0x40')](function(_0x5e7b2f){logger[_0xdf91('0x2f')]('[OUTBOUND]',JSON['stringify'](_0x5e7b2f));});};exports['unmanaged']=function(_0x3d1ff0,_0x4b01fb,_0x233b5c,_0x3e7b36,_0x4e14e8,_0x57c0c0){var _0x4d30f4,_0x51ee9a,_0x4b8d9a;_0x57c0c0[_0xdf91('0x7f')]=intUtil['stripTrailingSlash'](_0x57c0c0[_0xdf91('0x7f')]);_0x57c0c0[_0xdf91('0x81')]=intUtil[_0xdf91('0x80')](_0x57c0c0[_0xdf91('0x81')]);if(_0x4e14e8&&_0x4e14e8['monitor_format']){logger[_0xdf91('0x32')]('['+_0x4b01fb[_0xdf91('0x6b')]['toUpperCase']()+']',_0xdf91('0x83'));_0x4b01fb[_0xdf91('0x84')]=_0x57c0c0[_0xdf91('0x81')]+_0xdf91('0x99')+_0x4b01fb[_0xdf91('0x85')]+_0xdf91('0x86')+md5(_0x4b01fb[_0xdf91('0x85')]);}else{_0x4b01fb[_0xdf91('0x84')]='';}var _0x2ef7d2=_0x57c0c0['host']===_0xdf91('0x87')?'eu':_0xdf91('0x88');return getAccessToken(_0x57c0c0)['then'](function(_0x4c6980){_0x4b8d9a=_0x4c6980;return getUser(_0x4b8d9a,_0x2ef7d2,_0x57c0c0);})['then'](function(_0x470e40){_0x4d30f4=_0x470e40;logger[_0xdf91('0x32')](_0xdf91('0x89'),_0x4d30f4['id']);return getEndUser(_0x4b8d9a,_0x2ef7d2,_0x57c0c0,_0x4b01fb[_0xdf91('0x8a')],_0x4b01fb[_0xdf91('0x8b')],_0x4d30f4,_0x233b5c);})[_0xdf91('0x37')](function(_0x525bc7){_0x51ee9a=_0x525bc7;return getCall(_0x4b8d9a,_0x2ef7d2,_0x57c0c0,_0x4d30f4,_0x51ee9a,_0x233b5c,_0x4b01fb,'Inbound');})['then'](function(_0x508541){if(_0x508541){logger[_0xdf91('0x32')](_0xdf91('0x8c'),_0x508541['id']);}})[_0xdf91('0x40')](function(_0x51a55b){logger['error']('['+_0x4b01fb[_0xdf91('0x6b')]['toUpperCase']()+']',JSON[_0xdf91('0x10')](_0x51a55b));});};