Built motion from commit 87cd5f02.|2.5.48
[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 _0x9f98=['trigger:browser:url','/crm/EntityInfo.do?module=Calls&id=','[QUEUE]','recordingFormat','none','[OUTBOUND]','/api/voice/recordings/','destcalleridname','destcalleridnum','Outbound','The\x20Call\x20ID\x20is:','unmanaged','lastevent','toUpperCase','lodash','request-promise','md5','util','moment','ioredis','../../../../config/environment','../../../../config/logger','redis','defaults','localhost','socket.io-emitter','emit','[HTTP]','stringify','forEach','includes','string','picklist','type','idField','content','toString','variableName','customVariable','Variable','name','toLowerCase','split','isNil','access_token','isBefore','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.com.cn','https://accounts.zoho.eu','/oauth/v2/token','refreshToken','clientId','then','add','expires_in','seconds','catch','error','Failing\x20creating\x20the\x20access_token','stack','Search\x20user','https://www.zohoapis.%s/crm/v2/users','ActiveUsers','Zoho-oauthtoken\x20','isArrayLikeObject','users','findIndex','email','Agent\x20found!','info','Using\x20the\x20admin\x20account!','profile','Administrator','user','The\x20failing\x20result\x20is','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','data','enduserType','POST','https://www.zohoapis.','/crm/v2/','startCase','moduleCreate','role','first_name','last_name','code','SUCCESS','details','Error:\x20','log','CREATE\x20ERROR','GET','moduleSearch','uri','/crm/v2/Contacts/search?criteria=((Phone:equals:','Contacts','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','contact','nothing','lead','Creating\x20new\x20call...','Owner','administrator','Subject','Subjects','Description','getString','Descriptions','Who_Id','Last_Name','What_Id','Full_Name','First_Name','Call_Duration','utc','mm:ss','answertime','endtime','diff','YYYY-MM-DDTHH:mm:ss','format','Called','Call_Result','Answered','rejected','Rejected','abandoned','Abandoned','timeout','Call_Start_Time','outbound','starttime','Call_Type','Inbound','Fields','/crm/v2/Calls','Call\x20created!','err','queue','host','stripTrailingSlash','serverUrl','monitor_format','Recording\x20is\x20enabled!','recordingURL','uniqueid','/downloads?type=uniqueid&token=','zoho.eu','com','The\x20User\x20ID\x20is:','calleridname','calleridnum','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s'];(function(_0x3a55a3,_0x693c0){var _0x332b5e=function(_0x1827c5){while(--_0x1827c5){_0x3a55a3['push'](_0x3a55a3['shift']());}};_0x332b5e(++_0x693c0);}(_0x9f98,0xac));var _0x89f9=function(_0x2641f9,_0x26715f){_0x2641f9=_0x2641f9-0x0;var _0x585741=_0x9f98[_0x2641f9];return _0x585741;};'use strict';var _=require(_0x89f9('0x0'));var rp=require(_0x89f9('0x1'));var md5=require(_0x89f9('0x2'));var util=require(_0x89f9('0x3'));var intUtil=require('./util');var moment=require(_0x89f9('0x4'));var Redis=require(_0x89f9('0x5'));var BPromise=require('bluebird');var config=require(_0x89f9('0x6'));var logger=require(_0x89f9('0x7'))('zoho');config[_0x89f9('0x8')]=_[_0x89f9('0x9')](config[_0x89f9('0x8')],{'host':_0x89f9('0xa'),'port':0x18eb});var io=require(_0x89f9('0xb'))(new Redis(config[_0x89f9('0x8')]));function emit(_0x401975,_0x57cab8,_0x4aba2f){io['to'](_0x401975)[_0x89f9('0xc')](_0x57cab8,_0x4aba2f);}function request(_0xac5126){logger['debug'](_0x89f9('0xd'),JSON[_0x89f9('0xe')](_0xac5126));return rp(_0xac5126);}function getCustomFields(_0x3b4ec3,_0x16d0da){var _0x1b009b={};if(_0x3b4ec3['length']>0x0){_[_0x89f9('0xf')](_0x3b4ec3,function(_0x2b02ec){if(_[_0x89f9('0x10')]([_0x89f9('0x11'),_0x89f9('0x12')],_0x2b02ec[_0x89f9('0x13')])&&_0x2b02ec[_0x89f9('0x14')]){_0x1b009b[_0x2b02ec[_0x89f9('0x14')]]=_0x2b02ec[_0x89f9('0x15')][_0x89f9('0x16')]();}else if(_0x2b02ec[_0x89f9('0x13')]==='variable'&&_0x2b02ec[_0x89f9('0x17')]&&_0x2b02ec[_0x89f9('0x14')]&&_0x16d0da[_0x2b02ec[_0x89f9('0x17')]]){_0x1b009b[_0x2b02ec[_0x89f9('0x14')]]=_0x16d0da[_0x2b02ec[_0x89f9('0x17')]][_0x89f9('0x16')]();}else if(_0x2b02ec[_0x89f9('0x13')]===_0x89f9('0x18')&&_0x2b02ec[_0x89f9('0x19')]&&_0x2b02ec[_0x89f9('0x19')][_0x89f9('0x1a')]&&_0x2b02ec[_0x89f9('0x14')]&&_0x16d0da[_0x2b02ec[_0x89f9('0x19')][_0x89f9('0x1a')][_0x89f9('0x1b')]()]){_0x1b009b[_0x2b02ec['idField']]=_0x16d0da[_0x2b02ec[_0x89f9('0x19')][_0x89f9('0x1a')][_0x89f9('0x1b')]()]['toString']();}});}return _0x1b009b;}function getName(_0x23746a){if(_0x23746a['indexOf']('\x20')>0x0){var _0x534d3e=_0x23746a[_0x89f9('0x1c')](/ (.+)/);if(_0x534d3e[0x1]){return _0x534d3e;}}return[_0x23746a,_0x23746a];}var accountsTokens={};function getAccessToken(_0x59fa08){return new Promise(function(_0xb6335b,_0x3a467d){if(!_[_0x89f9('0x1d')](accountsTokens[_0x59fa08['id']])&&!_[_0x89f9('0x1d')](accountsTokens[_0x59fa08['id']][_0x89f9('0x1e')])){if(moment()[_0x89f9('0x1f')](accountsTokens[_0x59fa08['id']]['expires_in'])){_0xb6335b(accountsTokens[_0x59fa08['id']][_0x89f9('0x1e')]);}}var _0x4d8bd3;switch(_0x59fa08['zone']){case'US':_0x4d8bd3=_0x89f9('0x20');break;case'AU':_0x4d8bd3=_0x89f9('0x21');break;case'EU':_0x4d8bd3='https://accounts.zoho.eu';break;case'IN':_0x4d8bd3=_0x89f9('0x22');break;case'CN':_0x4d8bd3=_0x89f9('0x23');break;default:_0x4d8bd3=_0x89f9('0x24');break;}var _0x1a7395={'method':'POST','uri':_0x4d8bd3+_0x89f9('0x25'),'qs':{'refresh_token':_0x59fa08[_0x89f9('0x26')],'client_id':_0x59fa08[_0x89f9('0x27')],'client_secret':_0x59fa08['clientSecret'],'grant_type':'refresh_token'},'json':!![]};return rp(_0x1a7395)[_0x89f9('0x28')](function(_0x3346cc){accountsTokens[_0x59fa08['id']]={'access_token':_0x3346cc['access_token'],'expires_in':moment()[_0x89f9('0x29')](_0x3346cc[_0x89f9('0x2a')],_0x89f9('0x2b'))};_0xb6335b(_0x3346cc['access_token']);})[_0x89f9('0x2c')](function(_0x3344de){logger[_0x89f9('0x2d')](_0x89f9('0x2e'),_0x3344de[_0x89f9('0x2f')]);_0x3a467d(_0x3344de);});});}function getUser(_0x271663,_0x6d3168,_0x45c2da,_0x54a31c){logger['info'](_0x89f9('0x30'));return request({'method':'GET','uri':util['format'](_0x89f9('0x31'),_0x6d3168),'qs':{'type':_0x89f9('0x32')},'headers':{'Authorization':_0x89f9('0x33')+_0x271663},'json':!![]})['then'](function(_0x636cb0){if(_0x636cb0['users']){var _0x1304ee=-0x1;if(_[_0x89f9('0x34')](_0x636cb0[_0x89f9('0x35')])){if(!_[_0x89f9('0x1d')](_0x54a31c)){_0x1304ee=_[_0x89f9('0x36')](_0x636cb0[_0x89f9('0x35')],function(_0x4e5653){return _0x4e5653[_0x89f9('0x37')]===_0x54a31c;});}if(_0x1304ee>=0x0){logger['info'](_0x89f9('0x38'));}else{logger[_0x89f9('0x39')](_0x89f9('0x3a'));_0x1304ee=_[_0x89f9('0x36')](_0x636cb0['users'],function(_0x1e52f3){return _0x1e52f3[_0x89f9('0x3b')][_0x89f9('0x1a')]===_0x89f9('0x3c');});}return _0x636cb0[_0x89f9('0x35')][_0x1304ee];}else{if(_0x636cb0[_0x89f9('0x3d')][_0x89f9('0x3b')]['name']===_0x89f9('0x3c')){logger['info'](_0x89f9('0x3a'));user=_0x636cb0['user'];return user;}else{logger[_0x89f9('0x2d')](_0x89f9('0x3e'),JSON[_0x89f9('0xe')](_0x636cb0));throw new Error(_0x89f9('0x3f')+JSON[_0x89f9('0xe')](_0x636cb0));}}}else{logger[_0x89f9('0x2d')]('The\x20failing\x20result\x20is',JSON[_0x89f9('0xe')](_0x636cb0));throw new Error(_0x89f9('0x3f')+JSON[_0x89f9('0xe')](_0x636cb0));}})['catch'](function(_0x3bce8f){console[_0x89f9('0x2d')](_0x3bce8f);});}function getZohoUser(_0x28c4dd,_0x325dac){return new BPromise(function(_0x1796a4,_0x1a0411){request(_0x28c4dd)[_0x89f9('0x28')](function(_0x3153d5){var _0x520fa9=null;if(_0x3153d5){_0x520fa9=_0x3153d5[_0x89f9('0x40')][0x0];_0x520fa9[_0x89f9('0x41')]=_0x325dac;}_0x1796a4(_0x520fa9);})[_0x89f9('0x2c')](function(_0x2cdb75){_0x1a0411(_0x2cdb75);});});}function createEndUser(_0x48a26b,_0x3bf9ff,_0x2156fa,_0x4cdbee,_0x392cdb,_0x5b9475){var _0x2156fa=getName(_0x2156fa);return request({'method':_0x89f9('0x42'),'uri':_0x89f9('0x43')+_0x3bf9ff+_0x89f9('0x44')+_[_0x89f9('0x45')](_0x5b9475[_0x89f9('0x46')])+'s','body':{'data':[{'Last_Name':_0x2156fa[0x1],'First_Name':_0x2156fa[0x0],'Phone':_0x4cdbee,'Owner':{'name':!_[_0x89f9('0x1d')](_0x392cdb[_0x89f9('0x47')][_0x89f9('0x1a')])?_0x392cdb['role']['name']:!_[_0x89f9('0x1d')](_0x392cdb[_0x89f9('0x48')])?_0x392cdb['first_name']+'\x20'+_0x392cdb[_0x89f9('0x49')]:_0x392cdb['last_name'],'id':_0x392cdb['id']}}]},'headers':{'Authorization':_0x89f9('0x33')+_0x48a26b},'json':!![]})[_0x89f9('0x28')](function(_0x13370c){if(_0x13370c&&_0x13370c[_0x89f9('0x40')][0x0][_0x89f9('0x4a')]===_0x89f9('0x4b')){var _0x4a3073=_0x13370c[_0x89f9('0x40')][0x0][_0x89f9('0x4c')];_0x4a3073[_0x89f9('0x41')]=_['startCase'](_0x5b9475['moduleCreate'])+'s';return _0x4a3073;}logger['error'](_0x89f9('0x3e'),JSON[_0x89f9('0xe')](data));throw new Error(_0x89f9('0x4d')+JSON[_0x89f9('0xe')](data));})['catch'](function(_0x4836e8){console[_0x89f9('0x4e')](_0x89f9('0x4f'),_0x4836e8);});}function getEndUser(_0x417f67,_0x5a6ef0,_0x14f924,_0x345c72,_0x44ee59,_0x733844,_0x19b460){var _0x57b6eb={'method':_0x89f9('0x50'),'uri':'','headers':{'Authorization':_0x89f9('0x33')+_0x417f67},'json':!![]};switch(_0x19b460[_0x89f9('0x51')]){case'contact_lead':_0x57b6eb[_0x89f9('0x52')]='https://www.zohoapis.'+_0x5a6ef0+_0x89f9('0x53')+_0x44ee59+'))';return getZohoUser(_0x57b6eb,_0x89f9('0x54'))[_0x89f9('0x28')](function(_0x5225a0){if(_0x5225a0)return _0x5225a0;_0x57b6eb[_0x89f9('0x52')]='https://www.zohoapis.'+_0x5a6ef0+_0x89f9('0x55')+_0x44ee59+'))';return getZohoUser(_0x57b6eb,_0x89f9('0x56'))['then'](function(_0x3dd009){if(_0x3dd009)return _0x3dd009;if(_0x19b460[_0x89f9('0x46')]!='nothing'){return createEndUser(_0x417f67,_0x5a6ef0,_0x345c72,_0x44ee59,_0x733844,_0x19b460);}else{return{};}});});break;case _0x89f9('0x57'):_0x57b6eb['uri']=_0x89f9('0x43')+_0x5a6ef0+_0x89f9('0x53')+_0x44ee59+'))';return getZohoUser(_0x57b6eb,'Contacts')[_0x89f9('0x28')](function(_0x11e53a){if(_0x11e53a)return _0x11e53a;if(_0x19b460[_0x89f9('0x46')]!=_0x89f9('0x58')){return createEndUser(_0x417f67,_0x5a6ef0,_0x345c72,_0x44ee59,_0x733844,_0x19b460);}else{return{};}});break;case _0x89f9('0x59'):_0x57b6eb[_0x89f9('0x52')]=_0x89f9('0x43')+_0x5a6ef0+_0x89f9('0x55')+_0x44ee59+'))';return getZohoUser(_0x57b6eb,_0x89f9('0x56'))[_0x89f9('0x28')](function(_0x53c9a1){if(_0x53c9a1)return _0x53c9a1;if(_0x19b460['moduleCreate']!='nothing'){return createEndUser(_0x417f67,_0x5a6ef0,_0x345c72,_0x44ee59,_0x733844,_0x19b460);}else{return{};}});break;}}function getCall(_0x48ad89,_0x315793,_0x42ecdf,_0x32f354,_0x52df43,_0x2de437,_0x1330af,_0x121229){logger['info'](_0x89f9('0x5a'));var _0x54d27f={};_0x54d27f[_0x89f9('0x5b')]={'name':!_['isNil'](_0x32f354[_0x89f9('0x47')]['name'])&&!_[_0x89f9('0x1d')](_0x32f354[_0x89f9('0x3b')][_0x89f9('0x1a')])&&_0x32f354[_0x89f9('0x3b')][_0x89f9('0x1a')]===_0x89f9('0x5c')?_0x32f354[_0x89f9('0x47')][_0x89f9('0x1a')]:!_[_0x89f9('0x1d')](_0x32f354[_0x89f9('0x48')])?_0x32f354[_0x89f9('0x48')]+'\x20'+_0x32f354['last_name']:_0x32f354[_0x89f9('0x49')],'id':_0x32f354['id']};_0x54d27f[_0x89f9('0x5d')]=intUtil['getString'](_0x2de437[_0x89f9('0x5e')],_0x1330af,'\x20');_0x54d27f[_0x89f9('0x5f')]=intUtil[_0x89f9('0x60')](_0x2de437[_0x89f9('0x61')],_0x1330af,'\x0a');if(_0x52df43['enduserType']===_0x89f9('0x54')){_0x54d27f[_0x89f9('0x62')]={'name':!_[_0x89f9('0x1d')](_0x52df43['Full_Name'])?_0x52df43['Full_Name']:!_[_0x89f9('0x1d')](_0x52df43['First_Name'])?_0x52df43['First_Name']+'\x20'+_0x52df43['Last_Name']:_0x52df43[_0x89f9('0x63')],'id':_0x52df43['id']};}if(_0x52df43[_0x89f9('0x41')]===_0x89f9('0x56')){_0x54d27f[_0x89f9('0x64')]={'name':!_[_0x89f9('0x1d')](_0x52df43[_0x89f9('0x65')])?_0x52df43[_0x89f9('0x65')]:!_[_0x89f9('0x1d')](_0x52df43['First_Name'])?_0x52df43[_0x89f9('0x66')]+'\x20'+_0x52df43[_0x89f9('0x63')]:_0x52df43[_0x89f9('0x63')],'id':_0x52df43['id']};_0x54d27f['$se_module']=_[_0x89f9('0x45')](_0x52df43['enduserType']);}if(_0x1330af['talktime']){_0x54d27f[_0x89f9('0x67')]=moment[_0x89f9('0x68')](parseInt(_0x1330af['talktime'])*0x3e8)['format'](_0x89f9('0x69'));}else if(_0x1330af[_0x89f9('0x6a')]&&_0x1330af[_0x89f9('0x6b')]){_0x54d27f['Call_Duration']=moment[_0x89f9('0x68')](moment(_0x1330af[_0x89f9('0x6b')],'YYYY-MM-DDTHH:mm:ss')[_0x89f9('0x6c')](moment(_0x1330af['starttime'],_0x89f9('0x6d'))))[_0x89f9('0x6e')]('mm:ss');}switch(_0x1330af['lastevent']){case'called':_0x54d27f['Call_Result']=_0x89f9('0x6f');break;case'complete':case'connect':_0x54d27f[_0x89f9('0x70')]=_0x89f9('0x71');break;case _0x89f9('0x72'):_0x54d27f[_0x89f9('0x70')]=_0x89f9('0x73');break;case _0x89f9('0x74'):_0x54d27f[_0x89f9('0x70')]=_0x89f9('0x75');break;case _0x89f9('0x76'):_0x54d27f[_0x89f9('0x70')]='Timeout';default:}_0x54d27f[_0x89f9('0x77')]=(_0x121229===_0x89f9('0x78')?moment(_0x1330af[_0x89f9('0x79')])[_0x89f9('0x6e')]('YYYY-MM-DDTHH:mm:ss'):moment(_0x1330af['agentcalledAt'])[_0x89f9('0x6e')](_0x89f9('0x6d')))||moment()['format'](_0x89f9('0x6d'));_0x54d27f[_0x89f9('0x7a')]=_0x121229||_0x89f9('0x7b');_0x54d27f=_['merge'](_0x54d27f,getCustomFields(_0x2de437[_0x89f9('0x7c')],_0x1330af));return request({'method':_0x89f9('0x42'),'uri':_0x89f9('0x43')+_0x315793+_0x89f9('0x7d'),'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x48ad89},'body':{'data':[_0x54d27f]},'json':!![]})[_0x89f9('0x28')](function(_0x2cdfb6){if(_0x2cdfb6&&_0x2cdfb6[_0x89f9('0x40')][0x0][_0x89f9('0x4a')]===_0x89f9('0x4b')){logger[_0x89f9('0x39')](_0x89f9('0x7e'));return{'id':_0x2cdfb6[_0x89f9('0x40')][0x0][_0x89f9('0x4c')]['id']};}})['catch'](function(_0xb000e0){logger[_0x89f9('0x39')](_0x89f9('0x7f'),_0xb000e0[_0x89f9('0x2f')]);console['log'](_0x89f9('0x7f'),_0xb000e0);});}exports[_0x89f9('0x80')]=function(_0xeacdaa,_0x4fcc5b,_0x83e4a0,_0x3d8379,_0x2f0dfd,_0x2a8744){var _0x2ffaaa,_0x3ff261,_0x5a954c;_0x2a8744[_0x89f9('0x81')]=intUtil[_0x89f9('0x82')](_0x2a8744[_0x89f9('0x81')]);_0x2a8744[_0x89f9('0x83')]=intUtil[_0x89f9('0x82')](_0x2a8744['serverUrl']);if(_0x2f0dfd&&_0x2f0dfd[_0x89f9('0x84')]){logger['info']('[QUEUE]',_0x89f9('0x85'));_0x4fcc5b[_0x89f9('0x86')]=_0x2a8744['serverUrl']+'/api/voice/recordings/'+_0x4fcc5b[_0x89f9('0x87')]+_0x89f9('0x88')+md5(_0x4fcc5b['uniqueid']);}else{_0x4fcc5b['recordingURL']='';}var _0x3d4ff4=_0x2a8744[_0x89f9('0x81')]===_0x89f9('0x89')?'eu':_0x89f9('0x8a');return getAccessToken(_0x2a8744)[_0x89f9('0x28')](function(_0x557cab){_0x5a954c=_0x557cab;return getUser(_0x5a954c,_0x3d4ff4,_0x2a8744,_0x3d8379[_0x89f9('0x37')]);})[_0x89f9('0x28')](function(_0x1ba199){_0x2ffaaa=_0x1ba199;logger[_0x89f9('0x39')](_0x89f9('0x8b'),_0x2ffaaa['id']);return getEndUser(_0x5a954c,_0x3d4ff4,_0x2a8744,_0x4fcc5b[_0x89f9('0x8c')],_0x4fcc5b[_0x89f9('0x8d')],_0x2ffaaa,_0x83e4a0);})[_0x89f9('0x28')](function(_0x5a5047){_0x3ff261=_0x5a5047;return getCall(_0x5a954c,_0x3d4ff4,_0x2a8744,_0x2ffaaa,_0x3ff261,_0x83e4a0,_0x4fcc5b,_0x89f9('0x7b'));})[_0x89f9('0x28')](function(_0x44f3a6){if(_0x44f3a6){logger[_0x89f9('0x39')]('The\x20Call\x20ID\x20is:',_0x44f3a6['id']);logger['info']('[QUEUE]',_0x89f9('0x8e'));emit(util[_0x89f9('0x6e')](_0x89f9('0x8f'),_0x3d8379[_0x89f9('0x1a')]),_0x89f9('0x90'),{'uri':'https://crm.'+_0x2a8744[_0x89f9('0x81')]+_0x89f9('0x91')+_0x44f3a6['id']});}})[_0x89f9('0x2c')](function(_0x3f386b){logger['error'](_0x89f9('0x92'),JSON[_0x89f9('0xe')](_0x3f386b));});};exports[_0x89f9('0x78')]=function(_0x2f23e3,_0x5a223d,_0x54d4b8,_0xbeb9d9,_0x4da57a,_0xef5426,_0x418c6f){var _0x90ad95,_0x4c2349,_0x352d86;_0xef5426[_0x89f9('0x81')]=intUtil[_0x89f9('0x82')](_0xef5426[_0x89f9('0x81')]);_0xef5426[_0x89f9('0x83')]=intUtil[_0x89f9('0x82')](_0xef5426[_0x89f9('0x83')]);if(_0x418c6f&&_0x418c6f[_0x89f9('0x93')]&&_0x418c6f[_0x89f9('0x93')]!==_0x89f9('0x94')){logger['info'](_0x89f9('0x95'),_0x89f9('0x85'));_0x5a223d[_0x89f9('0x86')]=_0xef5426[_0x89f9('0x83')]+_0x89f9('0x96')+_0x5a223d[_0x89f9('0x87')]+_0x89f9('0x88')+md5(_0x5a223d[_0x89f9('0x87')]);}var _0x2d3590=_0xef5426[_0x89f9('0x81')]===_0x89f9('0x89')?'eu':'com';return getAccessToken(_0xef5426)[_0x89f9('0x28')](function(_0x486717){_0x352d86=_0x486717;return getUser(_0x352d86,_0x2d3590,_0xef5426,_0xbeb9d9[_0x89f9('0x37')]);})[_0x89f9('0x28')](function(_0xea3e86){_0x90ad95=_0xea3e86;logger['info']('The\x20User\x20ID\x20is:',_0x90ad95['id']);return getEndUser(_0x352d86,_0x2d3590,_0xef5426,_0x5a223d[_0x89f9('0x97')],_0x5a223d[_0x89f9('0x98')],_0x90ad95,_0x54d4b8);})['then'](function(_0x35bb9a){_0x4c2349=_0x35bb9a;return getCall(_0x352d86,_0x2d3590,_0xef5426,_0x90ad95,_0x4c2349,_0x54d4b8,_0x5a223d,_0x89f9('0x99'));})[_0x89f9('0x28')](function(_0x4ceb27){if(_0x4ceb27){logger[_0x89f9('0x39')](_0x89f9('0x9a'),_0x4ceb27['id']);logger['info']('[OUTBOUND]',_0x89f9('0x8e'));emit(util[_0x89f9('0x6e')](_0x89f9('0x8f'),_0xbeb9d9['name']),'trigger:browser:url',{'uri':'https://crm.'+_0xef5426[_0x89f9('0x81')]+'/crm/EntityInfo.do?module=Calls&id='+_0x4ceb27['id']});}})[_0x89f9('0x2c')](function(_0x5193de){logger[_0x89f9('0x2d')](_0x89f9('0x95'),JSON['stringify'](_0x5193de));});};exports[_0x89f9('0x9b')]=function(_0x317809,_0x460d50,_0x533aaa,_0x2ecd56,_0x1fa6fd,_0x819fa3){var _0x575060,_0x480d37,_0x7cbee2;_0x819fa3[_0x89f9('0x81')]=intUtil[_0x89f9('0x82')](_0x819fa3[_0x89f9('0x81')]);_0x819fa3[_0x89f9('0x83')]=intUtil['stripTrailingSlash'](_0x819fa3[_0x89f9('0x83')]);if(_0x1fa6fd&&_0x1fa6fd['monitor_format']){logger['info']('['+_0x460d50[_0x89f9('0x9c')][_0x89f9('0x9d')]()+']','Recording\x20is\x20enabled!');_0x460d50[_0x89f9('0x86')]=_0x819fa3[_0x89f9('0x83')]+_0x89f9('0x96')+_0x460d50[_0x89f9('0x87')]+_0x89f9('0x88')+md5(_0x460d50[_0x89f9('0x87')]);}else{_0x460d50[_0x89f9('0x86')]='';}var _0x2b2b82=_0x819fa3[_0x89f9('0x81')]===_0x89f9('0x89')?'eu':_0x89f9('0x8a');return getAccessToken(_0x819fa3)[_0x89f9('0x28')](function(_0x48b83a){_0x7cbee2=_0x48b83a;return getUser(_0x7cbee2,_0x2b2b82,_0x819fa3);})['then'](function(_0x1983be){_0x575060=_0x1983be;logger[_0x89f9('0x39')](_0x89f9('0x8b'),_0x575060['id']);return getEndUser(_0x7cbee2,_0x2b2b82,_0x819fa3,_0x460d50[_0x89f9('0x8c')],_0x460d50[_0x89f9('0x8d')],_0x575060,_0x533aaa);})[_0x89f9('0x28')](function(_0x2b6ef6){_0x480d37=_0x2b6ef6;return getCall(_0x7cbee2,_0x2b2b82,_0x819fa3,_0x575060,_0x480d37,_0x533aaa,_0x460d50,_0x89f9('0x7b'));})[_0x89f9('0x28')](function(_0x447383){if(_0x447383){logger['info'](_0x89f9('0x9a'),_0x447383['id']);}})[_0x89f9('0x2c')](function(_0x453753){logger[_0x89f9('0x2d')]('['+_0x460d50[_0x89f9('0x9c')]['toUpperCase']()+']',JSON[_0x89f9('0xe')](_0x453753));});};