Built motion from commit (unavailable).|2.5.22
[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 _0xa1b4=['type','variable','variableName','customVariable','Variable','name','toLowerCase','isNil','access_token','isBefore','expires_in','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.eu','https://accounts.zoho.in','https://accounts.zoho.com.cn','POST','/oauth/v2/token','refreshToken','clientId','clientSecret','refresh_token','then','add','seconds','catch','error','Failing\x20creating\x20the\x20access_token','stack','info','Search\x20user','GET','https://www.zohoapis.%s/crm/v2/users','Zoho-oauthtoken\x20','users','findIndex','email','Agent\x20found!','Using\x20the\x20admin\x20account!','profile','Administrator','user','The\x20failing\x20result\x20is','data','startCase','moduleCreate','role','first_name','last_name','SUCCESS','details','enduserType','Error:\x20','CREATE\x20ERROR','moduleSearch','contact_lead','uri','https://www.zohoapis.','Leads','nothing','contact','/crm/v2/Contacts/search?criteria=((Phone:equals:','Contacts','lead','Owner','administrator','Subject','Subjects','Description','Descriptions','Who_Id','Full_Name','First_Name','Last_Name','talktime','Call_Duration','utc','format','mm:ss','answertime','endtime','diff','starttime','YYYY-MM-DDTHH:mm:ss','lastevent','called','Called','connect','Answered','rejected','Call_Result','Rejected','abandoned','Abandoned','timeout','Timeout','outbound','agentcalledAt','Call_Type','merge','Fields','/crm/v2/Calls','code','err','host','stripTrailingSlash','serverUrl','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','/api/voice/recordings/','/downloads?type=uniqueid&token=','uniqueid','zoho.eu','calleridname','calleridnum','Inbound','The\x20Call\x20ID\x20is:','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','trigger:browser:url','https://crm.','/crm/EntityInfo.do?module=Calls&id=','recordingFormat','none','com','The\x20User\x20ID\x20is:','destcalleridnum','Outbound','[OUTBOUND]','toUpperCase','lodash','request-promise','md5','util','./util','moment','../../../../config/environment','../../../../config/logger','zoho','redis','defaults','localhost','socket.io-emitter','emit','stringify','length','string','idField','content','toString'];(function(_0x2112d4,_0x3c863c){var _0x434972=function(_0x477020){while(--_0x477020){_0x2112d4['push'](_0x2112d4['shift']());}};_0x434972(++_0x3c863c);}(_0xa1b4,0x83));var _0x4a1b=function(_0x35a140,_0x3aeac6){_0x35a140=_0x35a140-0x0;var _0x30ab82=_0xa1b4[_0x35a140];return _0x30ab82;};'use strict';var _=require(_0x4a1b('0x0'));var rp=require(_0x4a1b('0x1'));var md5=require(_0x4a1b('0x2'));var util=require(_0x4a1b('0x3'));var intUtil=require(_0x4a1b('0x4'));var moment=require(_0x4a1b('0x5'));var Redis=require('ioredis');var BPromise=require('bluebird');var config=require(_0x4a1b('0x6'));var logger=require(_0x4a1b('0x7'))(_0x4a1b('0x8'));config[_0x4a1b('0x9')]=_[_0x4a1b('0xa')](config['redis'],{'host':_0x4a1b('0xb'),'port':0x18eb});var io=require(_0x4a1b('0xc'))(new Redis(config['redis']));function emit(_0x44e31f,_0x13cae9,_0x4d6f2b){io['to'](_0x44e31f)[_0x4a1b('0xd')](_0x13cae9,_0x4d6f2b);}function request(_0x20ad70){logger['debug']('[HTTP]',JSON[_0x4a1b('0xe')](_0x20ad70));return rp(_0x20ad70);}function getCustomFields(_0x28f694,_0x168d8c){var _0x4e05bd={};if(_0x28f694[_0x4a1b('0xf')]>0x0){_['forEach'](_0x28f694,function(_0x5b5b0d){if(_0x5b5b0d['type']===_0x4a1b('0x10')&&_0x5b5b0d[_0x4a1b('0x11')]){_0x4e05bd[_0x5b5b0d['idField']]=_0x5b5b0d[_0x4a1b('0x12')][_0x4a1b('0x13')]();}else if(_0x5b5b0d[_0x4a1b('0x14')]===_0x4a1b('0x15')&&_0x5b5b0d[_0x4a1b('0x16')]&&_0x5b5b0d[_0x4a1b('0x11')]&&_0x168d8c[_0x5b5b0d[_0x4a1b('0x16')]]){_0x4e05bd[_0x5b5b0d['idField']]=_0x168d8c[_0x5b5b0d[_0x4a1b('0x16')]][_0x4a1b('0x13')]();}else if(_0x5b5b0d[_0x4a1b('0x14')]===_0x4a1b('0x17')&&_0x5b5b0d[_0x4a1b('0x18')]&&_0x5b5b0d[_0x4a1b('0x18')][_0x4a1b('0x19')]&&_0x5b5b0d['idField']&&_0x168d8c[_0x5b5b0d[_0x4a1b('0x18')]['name'][_0x4a1b('0x1a')]()]){_0x4e05bd[_0x5b5b0d[_0x4a1b('0x11')]]=_0x168d8c[_0x5b5b0d[_0x4a1b('0x18')][_0x4a1b('0x19')]['toLowerCase']()][_0x4a1b('0x13')]();}});}return _0x4e05bd;}function getName(_0x2ca4d3){if(_0x2ca4d3['indexOf']('\x20')>0x0){var _0x309155=_0x2ca4d3['split'](/ (.+)/);if(_0x309155[0x1]){return _0x309155;}}return[_0x2ca4d3,_0x2ca4d3];}var accountsTokens={};function getAccessToken(_0x38ef1b){return new Promise(function(_0x47551e,_0x135ca1){if(!_[_0x4a1b('0x1b')](accountsTokens[_0x38ef1b['id']])&&!_[_0x4a1b('0x1b')](accountsTokens[_0x38ef1b['id']][_0x4a1b('0x1c')])){if(moment()[_0x4a1b('0x1d')](accountsTokens[_0x38ef1b['id']][_0x4a1b('0x1e')])){_0x47551e(accountsTokens[_0x38ef1b['id']][_0x4a1b('0x1c')]);}}var _0x465ad0;switch(_0x38ef1b['zone']){case'US':_0x465ad0=_0x4a1b('0x1f');break;case'AU':_0x465ad0=_0x4a1b('0x20');break;case'EU':_0x465ad0=_0x4a1b('0x21');break;case'IN':_0x465ad0=_0x4a1b('0x22');break;case'CN':_0x465ad0=_0x4a1b('0x23');break;default:_0x465ad0=_0x4a1b('0x21');break;}var _0x2ab2e3={'method':_0x4a1b('0x24'),'uri':_0x465ad0+_0x4a1b('0x25'),'qs':{'refresh_token':_0x38ef1b[_0x4a1b('0x26')],'client_id':_0x38ef1b[_0x4a1b('0x27')],'client_secret':_0x38ef1b[_0x4a1b('0x28')],'grant_type':_0x4a1b('0x29')},'json':!![]};return rp(_0x2ab2e3)[_0x4a1b('0x2a')](function(_0x59bc18){accountsTokens[_0x38ef1b['id']]={'access_token':_0x59bc18[_0x4a1b('0x1c')],'expires_in':moment()[_0x4a1b('0x2b')](_0x59bc18[_0x4a1b('0x1e')],_0x4a1b('0x2c'))};_0x47551e(_0x59bc18['access_token']);})[_0x4a1b('0x2d')](function(_0x51d07f){logger[_0x4a1b('0x2e')](_0x4a1b('0x2f'),_0x51d07f[_0x4a1b('0x30')]);_0x135ca1(_0x51d07f);});});}function getUser(_0x68a8fc,_0x3e1071,_0xfa3c58,_0x26d080){logger[_0x4a1b('0x31')](_0x4a1b('0x32'));return request({'method':_0x4a1b('0x33'),'uri':util['format'](_0x4a1b('0x34'),_0x3e1071),'qs':{'type':'ActiveUsers'},'headers':{'Authorization':_0x4a1b('0x35')+_0x68a8fc},'json':!![]})[_0x4a1b('0x2a')](function(_0x2fa17c){if(_0x2fa17c[_0x4a1b('0x36')]){var _0x4d6532=-0x1;if(_['isArrayLikeObject'](_0x2fa17c[_0x4a1b('0x36')])){if(!_[_0x4a1b('0x1b')](_0x26d080)){_0x4d6532=_[_0x4a1b('0x37')](_0x2fa17c['users'],function(_0x520791){return _0x520791[_0x4a1b('0x38')]===_0x26d080;});}if(_0x4d6532>=0x0){logger[_0x4a1b('0x31')](_0x4a1b('0x39'));}else{logger[_0x4a1b('0x31')](_0x4a1b('0x3a'));_0x4d6532=_['findIndex'](_0x2fa17c['users'],function(_0x5176f3){return _0x5176f3[_0x4a1b('0x3b')]['name']===_0x4a1b('0x3c');});}return _0x2fa17c[_0x4a1b('0x36')][_0x4d6532];}else{if(_0x2fa17c[_0x4a1b('0x3d')][_0x4a1b('0x3b')][_0x4a1b('0x19')]==='Administrator'){logger[_0x4a1b('0x31')](_0x4a1b('0x3a'));user=_0x2fa17c['user'];return user;}else{logger['error'](_0x4a1b('0x3e'),JSON[_0x4a1b('0xe')](_0x2fa17c));throw new Error('Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20'+JSON[_0x4a1b('0xe')](_0x2fa17c));}}}else{logger[_0x4a1b('0x2e')]('The\x20failing\x20result\x20is',JSON[_0x4a1b('0xe')](_0x2fa17c));throw new Error('Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20'+JSON[_0x4a1b('0xe')](_0x2fa17c));}})[_0x4a1b('0x2d')](function(_0x3d252a){console[_0x4a1b('0x2e')](_0x3d252a);});}function getZohoUser(_0x1b13fe,_0x214640){return new BPromise(function(_0x1c9ede,_0x2961e0){request(_0x1b13fe)[_0x4a1b('0x2a')](function(_0x461590){var _0x41c6fa=null;if(_0x461590){_0x41c6fa=_0x461590[_0x4a1b('0x3f')][0x0];_0x41c6fa['enduserType']=_0x214640;}_0x1c9ede(_0x41c6fa);})[_0x4a1b('0x2d')](function(_0x660866){_0x2961e0(_0x660866);});});}function createEndUser(_0x152995,_0x4acfd3,_0xb5c834,_0x362c50,_0x50c4c3,_0x23793b){var _0xb5c834=getName(_0xb5c834);return request({'method':_0x4a1b('0x24'),'uri':'https://www.zohoapis.'+_0x4acfd3+'/crm/v2/'+_[_0x4a1b('0x40')](_0x23793b[_0x4a1b('0x41')])+'s','body':{'data':[{'Last_Name':_0xb5c834[0x1],'First_Name':_0xb5c834[0x0],'Phone':_0x362c50,'Owner':{'name':!_['isNil'](_0x50c4c3[_0x4a1b('0x42')][_0x4a1b('0x19')])?_0x50c4c3[_0x4a1b('0x42')][_0x4a1b('0x19')]:!_[_0x4a1b('0x1b')](_0x50c4c3[_0x4a1b('0x43')])?_0x50c4c3[_0x4a1b('0x43')]+'\x20'+_0x50c4c3['last_name']:_0x50c4c3[_0x4a1b('0x44')],'id':_0x50c4c3['id']}}]},'headers':{'Authorization':_0x4a1b('0x35')+_0x152995},'json':!![]})[_0x4a1b('0x2a')](function(_0x4139bc){if(_0x4139bc&&_0x4139bc[_0x4a1b('0x3f')][0x0]['code']===_0x4a1b('0x45')){var _0x5de8fe=_0x4139bc[_0x4a1b('0x3f')][0x0][_0x4a1b('0x46')];_0x5de8fe[_0x4a1b('0x47')]=_['startCase'](_0x23793b[_0x4a1b('0x41')])+'s';return _0x5de8fe;}logger[_0x4a1b('0x2e')](_0x4a1b('0x3e'),JSON[_0x4a1b('0xe')](data));throw new Error(_0x4a1b('0x48')+JSON['stringify'](data));})[_0x4a1b('0x2d')](function(_0x158ddb){console['log'](_0x4a1b('0x49'),_0x158ddb);});}function getEndUser(_0x4f0739,_0x3f94d0,_0x3d49e4,_0x1c845d,_0x5c4397,_0xcfb4e5,_0x463a03){var _0x1bf034={'method':_0x4a1b('0x33'),'uri':'','headers':{'Authorization':_0x4a1b('0x35')+_0x4f0739},'json':!![]};switch(_0x463a03[_0x4a1b('0x4a')]){case _0x4a1b('0x4b'):_0x1bf034[_0x4a1b('0x4c')]=_0x4a1b('0x4d')+_0x3f94d0+'/crm/v2/Contacts/search?criteria=((Phone:equals:'+_0x5c4397+'))';return getZohoUser(_0x1bf034,'Contacts')[_0x4a1b('0x2a')](function(_0x16c07d){if(_0x16c07d)return _0x16c07d;_0x1bf034[_0x4a1b('0x4c')]=_0x4a1b('0x4d')+_0x3f94d0+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x5c4397+'))';return getZohoUser(_0x1bf034,_0x4a1b('0x4e'))[_0x4a1b('0x2a')](function(_0x1982e8){if(_0x1982e8)return _0x1982e8;if(_0x463a03[_0x4a1b('0x41')]!=_0x4a1b('0x4f')){return createEndUser(_0x4f0739,_0x3f94d0,_0x1c845d,_0x5c4397,_0xcfb4e5,_0x463a03);}else{return{};}});});break;case _0x4a1b('0x50'):_0x1bf034[_0x4a1b('0x4c')]=_0x4a1b('0x4d')+_0x3f94d0+_0x4a1b('0x51')+_0x5c4397+'))';return getZohoUser(_0x1bf034,_0x4a1b('0x52'))[_0x4a1b('0x2a')](function(_0x923709){if(_0x923709)return _0x923709;if(_0x463a03[_0x4a1b('0x41')]!=_0x4a1b('0x4f')){return createEndUser(_0x4f0739,_0x3f94d0,_0x1c845d,_0x5c4397,_0xcfb4e5,_0x463a03);}else{return{};}});break;case _0x4a1b('0x53'):_0x1bf034[_0x4a1b('0x4c')]=_0x4a1b('0x4d')+_0x3f94d0+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x5c4397+'))';return getZohoUser(_0x1bf034,_0x4a1b('0x4e'))[_0x4a1b('0x2a')](function(_0x41b8da){if(_0x41b8da)return _0x41b8da;if(_0x463a03[_0x4a1b('0x41')]!='nothing'){return createEndUser(_0x4f0739,_0x3f94d0,_0x1c845d,_0x5c4397,_0xcfb4e5,_0x463a03);}else{return{};}});break;}}function getCall(_0x554462,_0x23748d,_0x569401,_0x1e44f9,_0x4c2e8f,_0x14a92e,_0x5c4b1d,_0x3ffb7f){logger[_0x4a1b('0x31')]('Creating\x20new\x20call...');var _0x44dbdf={};_0x44dbdf[_0x4a1b('0x54')]={'name':!_[_0x4a1b('0x1b')](_0x1e44f9['role'][_0x4a1b('0x19')])&&!_[_0x4a1b('0x1b')](_0x1e44f9[_0x4a1b('0x3b')]['name'])&&_0x1e44f9[_0x4a1b('0x3b')]['name']===_0x4a1b('0x55')?_0x1e44f9[_0x4a1b('0x42')][_0x4a1b('0x19')]:!_[_0x4a1b('0x1b')](_0x1e44f9[_0x4a1b('0x43')])?_0x1e44f9[_0x4a1b('0x43')]+'\x20'+_0x1e44f9[_0x4a1b('0x44')]:_0x1e44f9[_0x4a1b('0x44')],'id':_0x1e44f9['id']};_0x44dbdf[_0x4a1b('0x56')]=intUtil['getString'](_0x14a92e[_0x4a1b('0x57')],_0x5c4b1d,'\x20');_0x44dbdf[_0x4a1b('0x58')]=intUtil['getString'](_0x14a92e[_0x4a1b('0x59')],_0x5c4b1d,'\x0a');if(_0x4c2e8f[_0x4a1b('0x47')]==='Contacts'){_0x44dbdf[_0x4a1b('0x5a')]={'name':!_[_0x4a1b('0x1b')](_0x4c2e8f[_0x4a1b('0x5b')])?_0x4c2e8f[_0x4a1b('0x5b')]:!_[_0x4a1b('0x1b')](_0x4c2e8f['First_Name'])?_0x4c2e8f[_0x4a1b('0x5c')]+'\x20'+_0x4c2e8f[_0x4a1b('0x5d')]:_0x4c2e8f['Last_Name'],'id':_0x4c2e8f['id']};}if(_0x4c2e8f[_0x4a1b('0x47')]===_0x4a1b('0x4e')){_0x44dbdf['What_Id']={'name':!_[_0x4a1b('0x1b')](_0x4c2e8f[_0x4a1b('0x5b')])?_0x4c2e8f[_0x4a1b('0x5b')]:!_[_0x4a1b('0x1b')](_0x4c2e8f[_0x4a1b('0x5c')])?_0x4c2e8f['First_Name']+'\x20'+_0x4c2e8f['Last_Name']:_0x4c2e8f[_0x4a1b('0x5d')],'id':_0x4c2e8f['id']};_0x44dbdf['$se_module']=_[_0x4a1b('0x40')](_0x4c2e8f[_0x4a1b('0x47')]);}if(_0x5c4b1d[_0x4a1b('0x5e')]){_0x44dbdf[_0x4a1b('0x5f')]=moment[_0x4a1b('0x60')](parseInt(_0x5c4b1d[_0x4a1b('0x5e')])*0x3e8)[_0x4a1b('0x61')](_0x4a1b('0x62'));}else if(_0x5c4b1d[_0x4a1b('0x63')]&&_0x5c4b1d[_0x4a1b('0x64')]){_0x44dbdf['Call_Duration']=moment['utc'](moment(_0x5c4b1d[_0x4a1b('0x64')],'YYYY-MM-DDTHH:mm:ss')[_0x4a1b('0x65')](moment(_0x5c4b1d[_0x4a1b('0x66')],_0x4a1b('0x67'))))[_0x4a1b('0x61')](_0x4a1b('0x62'));}switch(_0x5c4b1d[_0x4a1b('0x68')]){case _0x4a1b('0x69'):_0x44dbdf['Call_Result']=_0x4a1b('0x6a');break;case'complete':case _0x4a1b('0x6b'):_0x44dbdf['Call_Result']=_0x4a1b('0x6c');break;case _0x4a1b('0x6d'):_0x44dbdf[_0x4a1b('0x6e')]=_0x4a1b('0x6f');break;case _0x4a1b('0x70'):_0x44dbdf['Call_Result']=_0x4a1b('0x71');break;case _0x4a1b('0x72'):_0x44dbdf[_0x4a1b('0x6e')]=_0x4a1b('0x73');default:}_0x44dbdf['Call_Start_Time']=(_0x3ffb7f===_0x4a1b('0x74')?moment(_0x5c4b1d[_0x4a1b('0x66')])['format'](_0x4a1b('0x67')):moment(_0x5c4b1d[_0x4a1b('0x75')])['format'](_0x4a1b('0x67')))||moment()['format'](_0x4a1b('0x67'));_0x44dbdf[_0x4a1b('0x76')]=_0x3ffb7f||'Inbound';_0x44dbdf=_[_0x4a1b('0x77')](_0x44dbdf,getCustomFields(_0x14a92e[_0x4a1b('0x78')],_0x5c4b1d));return request({'method':_0x4a1b('0x24'),'uri':_0x4a1b('0x4d')+_0x23748d+_0x4a1b('0x79'),'headers':{'Authorization':_0x4a1b('0x35')+_0x554462},'body':{'data':[_0x44dbdf]},'json':!![]})[_0x4a1b('0x2a')](function(_0x107e93){if(_0x107e93&&_0x107e93[_0x4a1b('0x3f')][0x0][_0x4a1b('0x7a')]===_0x4a1b('0x45')){logger[_0x4a1b('0x31')]('Call\x20created!');return{'id':_0x107e93[_0x4a1b('0x3f')][0x0][_0x4a1b('0x46')]['id']};}})[_0x4a1b('0x2d')](function(_0x31dfee){logger[_0x4a1b('0x31')](_0x4a1b('0x7b'),_0x31dfee[_0x4a1b('0x30')]);console['log'](_0x4a1b('0x7b'),_0x31dfee);});}exports['queue']=function(_0x1d6b5a,_0x2c505d,_0x122ce6,_0xb4f2c7,_0x56e7b6,_0x222578){var _0x49012a,_0x2a084c,_0x5265e8;_0x222578[_0x4a1b('0x7c')]=intUtil[_0x4a1b('0x7d')](_0x222578[_0x4a1b('0x7c')]);_0x222578['serverUrl']=intUtil['stripTrailingSlash'](_0x222578[_0x4a1b('0x7e')]);if(_0x56e7b6&&_0x56e7b6[_0x4a1b('0x7f')]){logger[_0x4a1b('0x31')](_0x4a1b('0x80'),_0x4a1b('0x81'));_0x2c505d[_0x4a1b('0x82')]=_0x222578[_0x4a1b('0x7e')]+_0x4a1b('0x83')+_0x2c505d['uniqueid']+_0x4a1b('0x84')+md5(_0x2c505d[_0x4a1b('0x85')]);}else{_0x2c505d[_0x4a1b('0x82')]='';}var _0x209caa=_0x222578[_0x4a1b('0x7c')]===_0x4a1b('0x86')?'eu':'com';return getAccessToken(_0x222578)[_0x4a1b('0x2a')](function(_0x1bf38f){_0x5265e8=_0x1bf38f;return getUser(_0x5265e8,_0x209caa,_0x222578,_0xb4f2c7['email']);})[_0x4a1b('0x2a')](function(_0x50b57a){_0x49012a=_0x50b57a;logger[_0x4a1b('0x31')]('The\x20User\x20ID\x20is:',_0x49012a['id']);return getEndUser(_0x5265e8,_0x209caa,_0x222578,_0x2c505d[_0x4a1b('0x87')],_0x2c505d[_0x4a1b('0x88')],_0x49012a,_0x122ce6);})[_0x4a1b('0x2a')](function(_0x16f2f2){_0x2a084c=_0x16f2f2;return getCall(_0x5265e8,_0x209caa,_0x222578,_0x49012a,_0x2a084c,_0x122ce6,_0x2c505d,_0x4a1b('0x89'));})['then'](function(_0x9864a7){if(_0x9864a7){logger['info'](_0x4a1b('0x8a'),_0x9864a7['id']);logger['info'](_0x4a1b('0x80'),_0x4a1b('0x8b'));emit(util['format']('user:%s',_0xb4f2c7['name']),_0x4a1b('0x8c'),{'uri':_0x4a1b('0x8d')+_0x222578[_0x4a1b('0x7c')]+_0x4a1b('0x8e')+_0x9864a7['id']});}})[_0x4a1b('0x2d')](function(_0x4817d5){logger[_0x4a1b('0x2e')](_0x4a1b('0x80'),JSON['stringify'](_0x4817d5));});};exports[_0x4a1b('0x74')]=function(_0x222fd5,_0x43a572,_0x279bed,_0x1ac836,_0x308006,_0x49b4fb,_0x478bbc){var _0x3af9f9,_0x2743c4,_0x448587;_0x49b4fb[_0x4a1b('0x7c')]=intUtil['stripTrailingSlash'](_0x49b4fb[_0x4a1b('0x7c')]);_0x49b4fb[_0x4a1b('0x7e')]=intUtil['stripTrailingSlash'](_0x49b4fb[_0x4a1b('0x7e')]);if(_0x478bbc&&_0x478bbc['recordingFormat']&&_0x478bbc[_0x4a1b('0x8f')]!==_0x4a1b('0x90')){logger[_0x4a1b('0x31')]('[OUTBOUND]',_0x4a1b('0x81'));_0x43a572[_0x4a1b('0x82')]=_0x49b4fb[_0x4a1b('0x7e')]+_0x4a1b('0x83')+_0x43a572[_0x4a1b('0x85')]+_0x4a1b('0x84')+md5(_0x43a572[_0x4a1b('0x85')]);}var _0x38cb75=_0x49b4fb[_0x4a1b('0x7c')]==='zoho.eu'?'eu':_0x4a1b('0x91');return getAccessToken(_0x49b4fb)['then'](function(_0x1209d4){_0x448587=_0x1209d4;return getUser(_0x448587,_0x38cb75,_0x49b4fb,_0x1ac836[_0x4a1b('0x38')]);})[_0x4a1b('0x2a')](function(_0x56f77b){_0x3af9f9=_0x56f77b;logger['info'](_0x4a1b('0x92'),_0x3af9f9['id']);return getEndUser(_0x448587,_0x38cb75,_0x49b4fb,_0x43a572['destcalleridname'],_0x43a572[_0x4a1b('0x93')],_0x3af9f9,_0x279bed);})[_0x4a1b('0x2a')](function(_0x1e868f){_0x2743c4=_0x1e868f;return getCall(_0x448587,_0x38cb75,_0x49b4fb,_0x3af9f9,_0x2743c4,_0x279bed,_0x43a572,_0x4a1b('0x94'));})[_0x4a1b('0x2a')](function(_0x4344bb){if(_0x4344bb){logger[_0x4a1b('0x31')]('The\x20Call\x20ID\x20is:',_0x4344bb['id']);logger['info'](_0x4a1b('0x95'),_0x4a1b('0x8b'));emit(util[_0x4a1b('0x61')]('user:%s',_0x1ac836[_0x4a1b('0x19')]),_0x4a1b('0x8c'),{'uri':'https://crm.'+_0x49b4fb['host']+_0x4a1b('0x8e')+_0x4344bb['id']});}})[_0x4a1b('0x2d')](function(_0x1c021a){logger[_0x4a1b('0x2e')]('[OUTBOUND]',JSON['stringify'](_0x1c021a));});};exports['unmanaged']=function(_0x1ac323,_0x54d4f1,_0x5112e7,_0x567aea,_0x14b334,_0x52f400){var _0x56dc68,_0x2d7cad,_0x520e2a;_0x52f400['host']=intUtil[_0x4a1b('0x7d')](_0x52f400[_0x4a1b('0x7c')]);_0x52f400[_0x4a1b('0x7e')]=intUtil[_0x4a1b('0x7d')](_0x52f400[_0x4a1b('0x7e')]);if(_0x14b334&&_0x14b334[_0x4a1b('0x7f')]){logger['info']('['+_0x54d4f1['lastevent'][_0x4a1b('0x96')]()+']',_0x4a1b('0x81'));_0x54d4f1[_0x4a1b('0x82')]=_0x52f400['serverUrl']+'/api/voice/recordings/'+_0x54d4f1[_0x4a1b('0x85')]+'/downloads?type=uniqueid&token='+md5(_0x54d4f1[_0x4a1b('0x85')]);}else{_0x54d4f1['recordingURL']='';}var _0x52883e=_0x52f400[_0x4a1b('0x7c')]==='zoho.eu'?'eu':_0x4a1b('0x91');return getAccessToken(_0x52f400)[_0x4a1b('0x2a')](function(_0x3125ce){_0x520e2a=_0x3125ce;return getUser(_0x520e2a,_0x52883e,_0x52f400);})[_0x4a1b('0x2a')](function(_0x3ec2d3){_0x56dc68=_0x3ec2d3;logger['info']('The\x20User\x20ID\x20is:',_0x56dc68['id']);return getEndUser(_0x520e2a,_0x52883e,_0x52f400,_0x54d4f1[_0x4a1b('0x87')],_0x54d4f1[_0x4a1b('0x88')],_0x56dc68,_0x5112e7);})[_0x4a1b('0x2a')](function(_0x48db10){_0x2d7cad=_0x48db10;return getCall(_0x520e2a,_0x52883e,_0x52f400,_0x56dc68,_0x2d7cad,_0x5112e7,_0x54d4f1,_0x4a1b('0x89'));})[_0x4a1b('0x2a')](function(_0x336c61){if(_0x336c61){logger[_0x4a1b('0x31')](_0x4a1b('0x8a'),_0x336c61['id']);}})[_0x4a1b('0x2d')](function(_0x2cce6d){logger['error']('['+_0x54d4f1['lastevent'][_0x4a1b('0x96')]()+']',JSON[_0x4a1b('0xe')](_0x2cce6d));});};