Built motion from commit (unavailable).|2.5.4
[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 _0x8b26=['Description','Descriptions','Full_Name','First_Name','Last_Name','What_Id','$se_module','talktime','Call_Duration','utc','mm:ss','answertime','YYYY-MM-DDTHH:mm:ss','diff','starttime','lastevent','Call_Result','connect','rejected','abandoned','Abandoned','timeout','Timeout','agentcalledAt','Call_Type','Inbound','Fields','/crm/v2/Calls','Call\x20created!','details','stack','log','err','queue','stripTrailingSlash','host','serverUrl','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','uniqueid','/downloads?type=uniqueid&token=','zoho.eu','com','calleridname','calleridnum','The\x20Call\x20ID\x20is:','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','https://crm.','outbound','recordingFormat','/api/voice/recordings/','The\x20User\x20ID\x20is:','destcalleridname','destcalleridnum','[OUTBOUND]','unmanaged','toUpperCase','lodash','request-promise','md5','./util','moment','ioredis','bluebird','../../../../config/environment','../../../../config/logger','zoho','redis','defaults','socket.io-emitter','emit','[HTTP]','stringify','type','string','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.com.cn','POST','/oauth/v2/token','clientSecret','then','add','seconds','Failing\x20creating\x20the\x20access_token','info','GET','format','ActiveUsers','users','isArrayLikeObject','findIndex','email','Using\x20the\x20admin\x20account!','profile','Administrator','user','error','The\x20failing\x20result\x20is','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','catch','data','enduserType','https://www.zohoapis.','/crm/v2/','startCase','role','first_name','last_name','Zoho-oauthtoken\x20','code','SUCCESS','CREATE\x20ERROR','uri','/crm/v2/Contacts/search?criteria=((Phone:equals:','Contacts','moduleCreate','nothing','contact','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','Creating\x20new\x20call...','administrator','getString','Subjects'];(function(_0x2dafbe,_0x5d04de){var _0x58a45a=function(_0x50ac96){while(--_0x50ac96){_0x2dafbe['push'](_0x2dafbe['shift']());}};_0x58a45a(++_0x5d04de);}(_0x8b26,0x1f3));var _0x68b2=function(_0x28394f,_0x5ebdd2){_0x28394f=_0x28394f-0x0;var _0x2618d2=_0x8b26[_0x28394f];return _0x2618d2;};'use strict';var _=require(_0x68b2('0x0'));var rp=require(_0x68b2('0x1'));var md5=require(_0x68b2('0x2'));var util=require('util');var intUtil=require(_0x68b2('0x3'));var moment=require(_0x68b2('0x4'));var Redis=require(_0x68b2('0x5'));var BPromise=require(_0x68b2('0x6'));var config=require(_0x68b2('0x7'));var logger=require(_0x68b2('0x8'))(_0x68b2('0x9'));config[_0x68b2('0xa')]=_[_0x68b2('0xb')](config[_0x68b2('0xa')],{'host':'localhost','port':0x18eb});var io=require(_0x68b2('0xc'))(new Redis(config[_0x68b2('0xa')]));function emit(_0x2b1740,_0x1a913d,_0x5c3531){io['to'](_0x2b1740)[_0x68b2('0xd')](_0x1a913d,_0x5c3531);}function request(_0x4e0d4e){logger['debug'](_0x68b2('0xe'),JSON[_0x68b2('0xf')](_0x4e0d4e));return rp(_0x4e0d4e);}function getCustomFields(_0x179350,_0x4b31c6){var _0x42616d={};if(_0x179350['length']>0x0){_['forEach'](_0x179350,function(_0x856dfe){if(_0x856dfe[_0x68b2('0x10')]===_0x68b2('0x11')&&_0x856dfe[_0x68b2('0x12')]){_0x42616d[_0x856dfe[_0x68b2('0x12')]]=_0x856dfe[_0x68b2('0x13')][_0x68b2('0x14')]();}else if(_0x856dfe[_0x68b2('0x10')]===_0x68b2('0x15')&&_0x856dfe[_0x68b2('0x16')]&&_0x856dfe[_0x68b2('0x12')]&&_0x4b31c6[_0x856dfe['variableName']]){_0x42616d[_0x856dfe[_0x68b2('0x12')]]=_0x4b31c6[_0x856dfe[_0x68b2('0x16')]][_0x68b2('0x14')]();}else if(_0x856dfe[_0x68b2('0x10')]===_0x68b2('0x17')&&_0x856dfe['Variable']&&_0x856dfe[_0x68b2('0x18')]['name']&&_0x856dfe[_0x68b2('0x12')]&&_0x4b31c6[_0x856dfe[_0x68b2('0x18')][_0x68b2('0x19')]['toLowerCase']()]){_0x42616d[_0x856dfe['idField']]=_0x4b31c6[_0x856dfe[_0x68b2('0x18')][_0x68b2('0x19')][_0x68b2('0x1a')]()]['toString']();}});}return _0x42616d;}function getName(_0x24b21f){if(_0x24b21f[_0x68b2('0x1b')]('\x20')>0x0){var _0x3a969f=_0x24b21f[_0x68b2('0x1c')](/ (.+)/);if(_0x3a969f[0x1]){return _0x3a969f;}}return[_0x24b21f,_0x24b21f];}var accountsTokens={};function getAccessToken(_0x313704){return new Promise(function(_0x240c89,_0x8ddd65){if(!_['isNil'](accountsTokens[_0x313704['id']])&&!_[_0x68b2('0x1d')](accountsTokens[_0x313704['id']][_0x68b2('0x1e')])){if(moment()[_0x68b2('0x1f')](accountsTokens[_0x313704['id']][_0x68b2('0x20')])){_0x240c89(accountsTokens[_0x313704['id']][_0x68b2('0x1e')]);}}var _0x5e0271;switch(_0x313704[_0x68b2('0x21')]){case'US':_0x5e0271=_0x68b2('0x22');break;case'AU':_0x5e0271=_0x68b2('0x23');break;case'EU':_0x5e0271=_0x68b2('0x24');break;case'IN':_0x5e0271='https://accounts.zoho.in';break;case'CN':_0x5e0271=_0x68b2('0x25');break;default:_0x5e0271='https://accounts.zoho.eu';break;}var _0x1ed70d={'method':_0x68b2('0x26'),'uri':_0x5e0271+_0x68b2('0x27'),'qs':{'refresh_token':_0x313704['refreshToken'],'client_id':_0x313704['clientId'],'client_secret':_0x313704[_0x68b2('0x28')],'grant_type':'refresh_token'},'json':!![]};return rp(_0x1ed70d)[_0x68b2('0x29')](function(_0x2d6cb4){accountsTokens[_0x313704['id']]={'access_token':_0x2d6cb4[_0x68b2('0x1e')],'expires_in':moment()[_0x68b2('0x2a')](_0x2d6cb4['expires_in'],_0x68b2('0x2b'))};_0x240c89(_0x2d6cb4[_0x68b2('0x1e')]);})['catch'](function(_0x139d67){logger['error'](_0x68b2('0x2c'),_0x139d67['stack']);_0x8ddd65(_0x139d67);});});}function getUser(_0x360dd2,_0x432822,_0x4248f8,_0x356899){logger[_0x68b2('0x2d')]('Search\x20user');return request({'method':_0x68b2('0x2e'),'uri':util[_0x68b2('0x2f')]('https://www.zohoapis.%s/crm/v2/users',_0x432822),'qs':{'type':_0x68b2('0x30')},'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x360dd2},'json':!![]})[_0x68b2('0x29')](function(_0x34d8d){if(_0x34d8d[_0x68b2('0x31')]){var _0x618a54=-0x1;if(_[_0x68b2('0x32')](_0x34d8d['users'])){if(!_['isNil'](_0x356899)){_0x618a54=_[_0x68b2('0x33')](_0x34d8d[_0x68b2('0x31')],function(_0x26dac1){return _0x26dac1[_0x68b2('0x34')]===_0x356899;});}if(_0x618a54>=0x0){logger[_0x68b2('0x2d')]('Agent\x20found!');}else{logger[_0x68b2('0x2d')](_0x68b2('0x35'));_0x618a54=_[_0x68b2('0x33')](_0x34d8d[_0x68b2('0x31')],function(_0x3d4822){return _0x3d4822[_0x68b2('0x36')]['name']===_0x68b2('0x37');});}return _0x34d8d['users'][_0x618a54];}else{if(_0x34d8d[_0x68b2('0x38')][_0x68b2('0x36')][_0x68b2('0x19')]===_0x68b2('0x37')){logger['info']('Using\x20the\x20admin\x20account!');user=_0x34d8d[_0x68b2('0x38')];return user;}else{logger[_0x68b2('0x39')](_0x68b2('0x3a'),JSON['stringify'](_0x34d8d));throw new Error(_0x68b2('0x3b')+JSON['stringify'](_0x34d8d));}}}else{logger[_0x68b2('0x39')](_0x68b2('0x3a'),JSON[_0x68b2('0xf')](_0x34d8d));throw new Error(_0x68b2('0x3b')+JSON[_0x68b2('0xf')](_0x34d8d));}})[_0x68b2('0x3c')](function(_0xe13eea){console[_0x68b2('0x39')](_0xe13eea);});}function getZohoUser(_0x165829,_0x5c05ee){return new BPromise(function(_0x1f79f3,_0x3975e4){request(_0x165829)[_0x68b2('0x29')](function(_0x378d0e){var _0x275aeb=null;if(_0x378d0e){_0x275aeb=_0x378d0e[_0x68b2('0x3d')][0x0];_0x275aeb[_0x68b2('0x3e')]=_0x5c05ee;}_0x1f79f3(_0x275aeb);})[_0x68b2('0x3c')](function(_0x917cb2){_0x3975e4(_0x917cb2);});});}function createEndUser(_0x251f03,_0x3d99df,_0x1be543,_0x5e664,_0x373171,_0x355c6d){var _0x1be543=getName(_0x1be543);return request({'method':'POST','uri':_0x68b2('0x3f')+_0x3d99df+_0x68b2('0x40')+_[_0x68b2('0x41')](_0x355c6d['moduleCreate'])+'s','body':{'data':[{'Last_Name':_0x1be543[0x1],'First_Name':_0x1be543[0x0],'Phone':_0x5e664,'Owner':{'name':!_[_0x68b2('0x1d')](_0x373171[_0x68b2('0x42')][_0x68b2('0x19')])?_0x373171['role']['name']:!_[_0x68b2('0x1d')](_0x373171[_0x68b2('0x43')])?_0x373171['first_name']+'\x20'+_0x373171[_0x68b2('0x44')]:_0x373171['last_name'],'id':_0x373171['id']}}]},'headers':{'Authorization':_0x68b2('0x45')+_0x251f03},'json':!![]})[_0x68b2('0x29')](function(_0x5c51f4){if(_0x5c51f4&&_0x5c51f4[_0x68b2('0x3d')][0x0][_0x68b2('0x46')]===_0x68b2('0x47')){var _0xe3f8a9=_0x5c51f4[_0x68b2('0x3d')][0x0]['details'];_0xe3f8a9['enduserType']=_[_0x68b2('0x41')](_0x355c6d['moduleCreate'])+'s';return _0xe3f8a9;}logger[_0x68b2('0x39')]('The\x20failing\x20result\x20is',JSON[_0x68b2('0xf')](data));throw new Error('Error:\x20'+JSON[_0x68b2('0xf')](data));})[_0x68b2('0x3c')](function(_0x2610f7){console['log'](_0x68b2('0x48'),_0x2610f7);});}function getEndUser(_0x126b30,_0x1746fe,_0x502c7e,_0x314875,_0x1a7362,_0x36df85,_0x5b7b24){var _0xea5595={'method':_0x68b2('0x2e'),'uri':'','headers':{'Authorization':_0x68b2('0x45')+_0x126b30},'json':!![]};switch(_0x5b7b24['moduleSearch']){case'contact_lead':_0xea5595[_0x68b2('0x49')]=_0x68b2('0x3f')+_0x1746fe+_0x68b2('0x4a')+_0x1a7362+'))';return getZohoUser(_0xea5595,_0x68b2('0x4b'))[_0x68b2('0x29')](function(_0x2ac642){if(_0x2ac642)return _0x2ac642;_0xea5595[_0x68b2('0x49')]=_0x68b2('0x3f')+_0x1746fe+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x1a7362+'))';return getZohoUser(_0xea5595,'Leads')[_0x68b2('0x29')](function(_0x22b237){if(_0x22b237)return _0x22b237;if(_0x5b7b24[_0x68b2('0x4c')]!=_0x68b2('0x4d')){return createEndUser(_0x126b30,_0x1746fe,_0x314875,_0x1a7362,_0x36df85,_0x5b7b24);}else{return{};}});});break;case _0x68b2('0x4e'):_0xea5595[_0x68b2('0x49')]=_0x68b2('0x3f')+_0x1746fe+_0x68b2('0x4a')+_0x1a7362+'))';return getZohoUser(_0xea5595,_0x68b2('0x4b'))['then'](function(_0x38ce34){if(_0x38ce34)return _0x38ce34;if(_0x5b7b24['moduleCreate']!=_0x68b2('0x4d')){return createEndUser(_0x126b30,_0x1746fe,_0x314875,_0x1a7362,_0x36df85,_0x5b7b24);}else{return{};}});break;case'lead':_0xea5595['uri']=_0x68b2('0x3f')+_0x1746fe+_0x68b2('0x4f')+_0x1a7362+'))';return getZohoUser(_0xea5595,_0x68b2('0x50'))[_0x68b2('0x29')](function(_0x3cc948){if(_0x3cc948)return _0x3cc948;if(_0x5b7b24['moduleCreate']!=_0x68b2('0x4d')){return createEndUser(_0x126b30,_0x1746fe,_0x314875,_0x1a7362,_0x36df85,_0x5b7b24);}else{return{};}});break;}}function getCall(_0x426f25,_0x2bb8d,_0x4368b6,_0x156919,_0x5df08a,_0x409e85,_0x18180f,_0x5b6e65){logger['info'](_0x68b2('0x51'));var _0x1aa02e={};_0x1aa02e['Owner']={'name':!_[_0x68b2('0x1d')](_0x156919[_0x68b2('0x42')]['name'])&&!_[_0x68b2('0x1d')](_0x156919['profile'][_0x68b2('0x19')])&&_0x156919[_0x68b2('0x36')]['name']===_0x68b2('0x52')?_0x156919[_0x68b2('0x42')]['name']:!_[_0x68b2('0x1d')](_0x156919['first_name'])?_0x156919[_0x68b2('0x43')]+'\x20'+_0x156919[_0x68b2('0x44')]:_0x156919['last_name'],'id':_0x156919['id']};_0x1aa02e['Subject']=intUtil[_0x68b2('0x53')](_0x409e85[_0x68b2('0x54')],_0x18180f,'\x20');_0x1aa02e[_0x68b2('0x55')]=intUtil[_0x68b2('0x53')](_0x409e85[_0x68b2('0x56')],_0x18180f,'\x0a');if(_0x5df08a[_0x68b2('0x3e')]===_0x68b2('0x4b')){_0x1aa02e['Who_Id']={'name':!_['isNil'](_0x5df08a[_0x68b2('0x57')])?_0x5df08a[_0x68b2('0x57')]:!_[_0x68b2('0x1d')](_0x5df08a[_0x68b2('0x58')])?_0x5df08a['First_Name']+'\x20'+_0x5df08a[_0x68b2('0x59')]:_0x5df08a['Last_Name'],'id':_0x5df08a['id']};}if(_0x5df08a[_0x68b2('0x3e')]===_0x68b2('0x50')){_0x1aa02e[_0x68b2('0x5a')]={'name':!_[_0x68b2('0x1d')](_0x5df08a[_0x68b2('0x57')])?_0x5df08a[_0x68b2('0x57')]:!_[_0x68b2('0x1d')](_0x5df08a['First_Name'])?_0x5df08a['First_Name']+'\x20'+_0x5df08a[_0x68b2('0x59')]:_0x5df08a['Last_Name'],'id':_0x5df08a['id']};_0x1aa02e[_0x68b2('0x5b')]=_['startCase'](_0x5df08a[_0x68b2('0x3e')]);}if(_0x18180f[_0x68b2('0x5c')]){_0x1aa02e[_0x68b2('0x5d')]=moment[_0x68b2('0x5e')](parseInt(_0x18180f[_0x68b2('0x5c')])*0x3e8)[_0x68b2('0x2f')](_0x68b2('0x5f'));}else if(_0x18180f[_0x68b2('0x60')]&&_0x18180f['endtime']){_0x1aa02e[_0x68b2('0x5d')]=moment['utc'](moment(_0x18180f['endtime'],_0x68b2('0x61'))[_0x68b2('0x62')](moment(_0x18180f[_0x68b2('0x63')],_0x68b2('0x61'))))[_0x68b2('0x2f')](_0x68b2('0x5f'));}switch(_0x18180f[_0x68b2('0x64')]){case'called':_0x1aa02e[_0x68b2('0x65')]='Called';break;case'complete':case _0x68b2('0x66'):_0x1aa02e[_0x68b2('0x65')]='Answered';break;case _0x68b2('0x67'):_0x1aa02e['Call_Result']='Rejected';break;case _0x68b2('0x68'):_0x1aa02e['Call_Result']=_0x68b2('0x69');break;case _0x68b2('0x6a'):_0x1aa02e[_0x68b2('0x65')]=_0x68b2('0x6b');default:}_0x1aa02e['Call_Start_Time']=(_0x5b6e65==='outbound'?moment(_0x18180f['starttime'])['format'](_0x68b2('0x61')):moment(_0x18180f[_0x68b2('0x6c')])[_0x68b2('0x2f')](_0x68b2('0x61')))||moment()[_0x68b2('0x2f')](_0x68b2('0x61'));_0x1aa02e[_0x68b2('0x6d')]=_0x5b6e65||_0x68b2('0x6e');_0x1aa02e=_['merge'](_0x1aa02e,getCustomFields(_0x409e85[_0x68b2('0x6f')],_0x18180f));return request({'method':_0x68b2('0x26'),'uri':'https://www.zohoapis.'+_0x2bb8d+_0x68b2('0x70'),'headers':{'Authorization':_0x68b2('0x45')+_0x426f25},'body':{'data':[_0x1aa02e]},'json':!![]})['then'](function(_0x3707e4){if(_0x3707e4&&_0x3707e4[_0x68b2('0x3d')][0x0][_0x68b2('0x46')]===_0x68b2('0x47')){logger[_0x68b2('0x2d')](_0x68b2('0x71'));return{'id':_0x3707e4[_0x68b2('0x3d')][0x0][_0x68b2('0x72')]['id']};}})[_0x68b2('0x3c')](function(_0x5cdfd1){logger[_0x68b2('0x2d')]('err',_0x5cdfd1[_0x68b2('0x73')]);console[_0x68b2('0x74')](_0x68b2('0x75'),_0x5cdfd1);});}exports[_0x68b2('0x76')]=function(_0x43be18,_0x272cd6,_0x59bbc0,_0x3dffaa,_0x17490c,_0x2a8d04){var _0x20d949,_0x2104f7,_0x2cc0a1;_0x2a8d04['host']=intUtil[_0x68b2('0x77')](_0x2a8d04[_0x68b2('0x78')]);_0x2a8d04['serverUrl']=intUtil[_0x68b2('0x77')](_0x2a8d04[_0x68b2('0x79')]);if(_0x17490c&&_0x17490c[_0x68b2('0x7a')]){logger['info'](_0x68b2('0x7b'),_0x68b2('0x7c'));_0x272cd6[_0x68b2('0x7d')]=_0x2a8d04[_0x68b2('0x79')]+'/api/voice/recordings/'+_0x272cd6[_0x68b2('0x7e')]+_0x68b2('0x7f')+md5(_0x272cd6[_0x68b2('0x7e')]);}else{_0x272cd6['recordingURL']='';}var _0x3b1041=_0x2a8d04[_0x68b2('0x78')]===_0x68b2('0x80')?'eu':_0x68b2('0x81');return getAccessToken(_0x2a8d04)['then'](function(_0x308e44){_0x2cc0a1=_0x308e44;return getUser(_0x2cc0a1,_0x3b1041,_0x2a8d04,_0x3dffaa[_0x68b2('0x34')]);})['then'](function(_0xb03297){_0x20d949=_0xb03297;logger[_0x68b2('0x2d')]('The\x20User\x20ID\x20is:',_0x20d949['id']);return getEndUser(_0x2cc0a1,_0x3b1041,_0x2a8d04,_0x272cd6[_0x68b2('0x82')],_0x272cd6[_0x68b2('0x83')],_0x20d949,_0x59bbc0);})[_0x68b2('0x29')](function(_0x3b60e6){_0x2104f7=_0x3b60e6;return getCall(_0x2cc0a1,_0x3b1041,_0x2a8d04,_0x20d949,_0x2104f7,_0x59bbc0,_0x272cd6,_0x68b2('0x6e'));})[_0x68b2('0x29')](function(_0x373d94){if(_0x373d94){logger[_0x68b2('0x2d')](_0x68b2('0x84'),_0x373d94['id']);logger[_0x68b2('0x2d')](_0x68b2('0x7b'),_0x68b2('0x85'));emit(util[_0x68b2('0x2f')](_0x68b2('0x86'),_0x3dffaa[_0x68b2('0x19')]),_0x68b2('0x87'),{'uri':_0x68b2('0x88')+_0x2a8d04[_0x68b2('0x78')]+'/crm/EntityInfo.do?module=Calls&id='+_0x373d94['id']});}})[_0x68b2('0x3c')](function(_0x144a44){logger[_0x68b2('0x39')](_0x68b2('0x7b'),JSON['stringify'](_0x144a44));});};exports[_0x68b2('0x89')]=function(_0x3d18cf,_0x399e90,_0xb1697,_0x3f6f86,_0x3fb4cf,_0x52d7bc,_0x556cf7){var _0x85c581,_0x226303,_0x194e26;_0x52d7bc['host']=intUtil[_0x68b2('0x77')](_0x52d7bc[_0x68b2('0x78')]);_0x52d7bc[_0x68b2('0x79')]=intUtil[_0x68b2('0x77')](_0x52d7bc[_0x68b2('0x79')]);if(_0x556cf7&&_0x556cf7['recordingFormat']&&_0x556cf7[_0x68b2('0x8a')]!=='none'){logger[_0x68b2('0x2d')]('[OUTBOUND]',_0x68b2('0x7c'));_0x399e90[_0x68b2('0x7d')]=_0x52d7bc['serverUrl']+_0x68b2('0x8b')+_0x399e90[_0x68b2('0x7e')]+_0x68b2('0x7f')+md5(_0x399e90['uniqueid']);}var _0x3d4077=_0x52d7bc[_0x68b2('0x78')]===_0x68b2('0x80')?'eu':_0x68b2('0x81');return getAccessToken(_0x52d7bc)[_0x68b2('0x29')](function(_0x2ae924){_0x194e26=_0x2ae924;return getUser(_0x194e26,_0x3d4077,_0x52d7bc,_0x3f6f86['email']);})[_0x68b2('0x29')](function(_0x2218dc){_0x85c581=_0x2218dc;logger[_0x68b2('0x2d')](_0x68b2('0x8c'),_0x85c581['id']);return getEndUser(_0x194e26,_0x3d4077,_0x52d7bc,_0x399e90[_0x68b2('0x8d')],_0x399e90[_0x68b2('0x8e')],_0x85c581,_0xb1697);})[_0x68b2('0x29')](function(_0x4141ae){_0x226303=_0x4141ae;return getCall(_0x194e26,_0x3d4077,_0x52d7bc,_0x85c581,_0x226303,_0xb1697,_0x399e90,'Outbound');})[_0x68b2('0x29')](function(_0x4d455c){if(_0x4d455c){logger['info'](_0x68b2('0x84'),_0x4d455c['id']);logger[_0x68b2('0x2d')]('[OUTBOUND]',_0x68b2('0x85'));emit(util['format'](_0x68b2('0x86'),_0x3f6f86[_0x68b2('0x19')]),_0x68b2('0x87'),{'uri':_0x68b2('0x88')+_0x52d7bc[_0x68b2('0x78')]+'/crm/EntityInfo.do?module=Calls&id='+_0x4d455c['id']});}})['catch'](function(_0x300c1c){logger['error'](_0x68b2('0x8f'),JSON[_0x68b2('0xf')](_0x300c1c));});};exports[_0x68b2('0x90')]=function(_0x31eca7,_0x114bc2,_0x2ad121,_0x2cc86a,_0x4fb433,_0x919f7b){var _0x44a350,_0x458122,_0x2c98bc;_0x919f7b[_0x68b2('0x78')]=intUtil[_0x68b2('0x77')](_0x919f7b[_0x68b2('0x78')]);_0x919f7b[_0x68b2('0x79')]=intUtil[_0x68b2('0x77')](_0x919f7b[_0x68b2('0x79')]);if(_0x4fb433&&_0x4fb433[_0x68b2('0x7a')]){logger[_0x68b2('0x2d')]('['+_0x114bc2[_0x68b2('0x64')][_0x68b2('0x91')]()+']',_0x68b2('0x7c'));_0x114bc2['recordingURL']=_0x919f7b[_0x68b2('0x79')]+_0x68b2('0x8b')+_0x114bc2[_0x68b2('0x7e')]+_0x68b2('0x7f')+md5(_0x114bc2[_0x68b2('0x7e')]);}else{_0x114bc2[_0x68b2('0x7d')]='';}var _0x499020=_0x919f7b['host']==='zoho.eu'?'eu':'com';return getAccessToken(_0x919f7b)[_0x68b2('0x29')](function(_0x495fda){_0x2c98bc=_0x495fda;return getUser(_0x2c98bc,_0x499020,_0x919f7b);})[_0x68b2('0x29')](function(_0x194cb9){_0x44a350=_0x194cb9;logger[_0x68b2('0x2d')]('The\x20User\x20ID\x20is:',_0x44a350['id']);return getEndUser(_0x2c98bc,_0x499020,_0x919f7b,_0x114bc2[_0x68b2('0x82')],_0x114bc2[_0x68b2('0x83')],_0x44a350,_0x2ad121);})[_0x68b2('0x29')](function(_0x49b3a0){_0x458122=_0x49b3a0;return getCall(_0x2c98bc,_0x499020,_0x919f7b,_0x44a350,_0x458122,_0x2ad121,_0x114bc2,'Inbound');})[_0x68b2('0x29')](function(_0x2cae3d){if(_0x2cae3d){logger['info']('The\x20Call\x20ID\x20is:',_0x2cae3d['id']);}})[_0x68b2('0x3c')](function(_0x4317cd){logger[_0x68b2('0x39')]('['+_0x114bc2[_0x68b2('0x64')][_0x68b2('0x91')]()+']',JSON[_0x68b2('0xf')](_0x4317cd));});};