Built motion from commit (unavailable).|2.4.18
[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 _0xea5b=['starttime','agentcalledAt','Call_Type','Inbound','Fields','Call\x20created!','err','log','queue','host','stripTrailingSlash','serverUrl','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','/api/voice/recordings/','/downloads?type=uniqueid&token=','uniqueid','zoho.eu','calleridname','calleridnum','The\x20Call\x20ID\x20is:','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','https://crm.','recordingFormat','none','[OUTBOUND]','com','The\x20User\x20ID\x20is:','destcalleridname','destcalleridnum','Outbound','/crm/EntityInfo.do?module=Calls&id=','[ABANDONED]','The\x20Enduser\x20ID\x20is:','lodash','request-promise','md5','moment','ioredis','../../../../config/environment','../../../../config/logger','redis','localhost','socket.io-emitter','emit','debug','[HTTP]','stringify','length','forEach','type','string','idField','content','toString','variableName','customVariable','Variable','name','toLowerCase','indexOf','isNil','access_token','isBefore','expires_in','zone','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','add','seconds','catch','error','Failing\x20creating\x20the\x20access_token','stack','info','Search\x20user','GET','format','https://www.zohoapis.%s/crm/v2/users','ActiveUsers','Zoho-oauthtoken\x20','then','users','isArrayLikeObject','findIndex','email','Agent\x20found!','Using\x20the\x20admin\x20account!','profile','Administrator','user','The\x20failing\x20result\x20is','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','Search\x20end\x20user','https://www.zohoapis.','data','Contacts','End\x20user\x20found\x20(Contact)','Leads','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','/crm/v2/','moduleCreate','first_name','code','SUCCESS','details','enduserType','Error\x20on\x20Lead\x20retrieve:\x20','Creating\x20new\x20call...','Owner','administrator','role','last_name','Subject','getString','Subjects','Descriptions','Full_Name','First_Name','Last_Name','What_Id','$se_module','talktime','Call_Duration','utc','mm:ss','answertime','endtime','YYYY-MM-DDTHH:mm:ss','lastevent','called','Call_Result','Answered','Rejected','abandoned','Abandoned','Call_Start_Time','outbound'];(function(_0x211209,_0xbb9c64){var _0x218ba0=function(_0x368c6f){while(--_0x368c6f){_0x211209['push'](_0x211209['shift']());}};_0x218ba0(++_0xbb9c64);}(_0xea5b,0x152));var _0xbea5=function(_0x2235bf,_0x3a06a7){_0x2235bf=_0x2235bf-0x0;var _0x4c3a64=_0xea5b[_0x2235bf];return _0x4c3a64;};'use strict';var _=require(_0xbea5('0x0'));var rp=require(_0xbea5('0x1'));var md5=require(_0xbea5('0x2'));var util=require('util');var intUtil=require('./util');var moment=require(_0xbea5('0x3'));var Redis=require(_0xbea5('0x4'));var config=require(_0xbea5('0x5'));var logger=require(_0xbea5('0x6'))('zoho');config[_0xbea5('0x7')]=_['defaults'](config[_0xbea5('0x7')],{'host':_0xbea5('0x8'),'port':0x18eb});var io=require(_0xbea5('0x9'))(new Redis(config[_0xbea5('0x7')]));function emit(_0x19e362,_0x126aae,_0x36692a){io['to'](_0x19e362)[_0xbea5('0xa')](_0x126aae,_0x36692a);}function request(_0x41cb99){logger[_0xbea5('0xb')](_0xbea5('0xc'),JSON[_0xbea5('0xd')](_0x41cb99));return rp(_0x41cb99);}function getCustomFields(_0x58253c,_0x5a9b2a){var _0x201686={};if(_0x58253c[_0xbea5('0xe')]>0x0){_[_0xbea5('0xf')](_0x58253c,function(_0x4c2c85){if(_0x4c2c85[_0xbea5('0x10')]===_0xbea5('0x11')&&_0x4c2c85['idField']){_0x201686[_0x4c2c85[_0xbea5('0x12')]]=_0x4c2c85[_0xbea5('0x13')][_0xbea5('0x14')]();}else if(_0x4c2c85[_0xbea5('0x10')]==='variable'&&_0x4c2c85['variableName']&&_0x4c2c85[_0xbea5('0x12')]&&_0x5a9b2a[_0x4c2c85['variableName']]){_0x201686[_0x4c2c85['idField']]=_0x5a9b2a[_0x4c2c85[_0xbea5('0x15')]][_0xbea5('0x14')]();}else if(_0x4c2c85['type']===_0xbea5('0x16')&&_0x4c2c85[_0xbea5('0x17')]&&_0x4c2c85[_0xbea5('0x17')][_0xbea5('0x18')]&&_0x4c2c85[_0xbea5('0x12')]&&_0x5a9b2a[_0x4c2c85[_0xbea5('0x17')]['name'][_0xbea5('0x19')]()]){_0x201686[_0x4c2c85[_0xbea5('0x12')]]=_0x5a9b2a[_0x4c2c85[_0xbea5('0x17')]['name'][_0xbea5('0x19')]()][_0xbea5('0x14')]();}});}return _0x201686;}function getName(_0x35b709){if(_0x35b709[_0xbea5('0x1a')]('\x20')>0x0){var _0x2955cd=_0x35b709['split'](/ (.+)/);if(_0x2955cd[0x1]){return _0x2955cd;}}return[_0x35b709,_0x35b709];}var accountsTokens={};function getAccessToken(_0x76d83e){return new Promise(function(_0x3555c2,_0x56c43f){if(!_[_0xbea5('0x1b')](accountsTokens[_0x76d83e['id']])&&!_[_0xbea5('0x1b')](accountsTokens[_0x76d83e['id']][_0xbea5('0x1c')])){if(moment()[_0xbea5('0x1d')](accountsTokens[_0x76d83e['id']][_0xbea5('0x1e')])){_0x3555c2(accountsTokens[_0x76d83e['id']][_0xbea5('0x1c')]);}}var _0x33a68e;switch(_0x76d83e[_0xbea5('0x1f')]){case'US':_0x33a68e='https://accounts.zoho.com';break;case'AU':_0x33a68e=_0xbea5('0x20');break;case'EU':_0x33a68e=_0xbea5('0x21');break;case'IN':_0x33a68e=_0xbea5('0x22');break;case'CN':_0x33a68e=_0xbea5('0x23');break;default:_0x33a68e=_0xbea5('0x21');break;}var _0x6fb47f={'method':_0xbea5('0x24'),'uri':_0x33a68e+_0xbea5('0x25'),'qs':{'refresh_token':_0x76d83e[_0xbea5('0x26')],'client_id':_0x76d83e[_0xbea5('0x27')],'client_secret':_0x76d83e[_0xbea5('0x28')],'grant_type':_0xbea5('0x29')},'json':!![]};return rp(_0x6fb47f)['then'](function(_0x5aa682){accountsTokens[_0x76d83e['id']]={'access_token':_0x5aa682[_0xbea5('0x1c')],'expires_in':moment()[_0xbea5('0x2a')](_0x5aa682[_0xbea5('0x1e')],_0xbea5('0x2b'))};_0x3555c2(_0x5aa682[_0xbea5('0x1c')]);})[_0xbea5('0x2c')](function(_0x4476eb){logger[_0xbea5('0x2d')](_0xbea5('0x2e'),_0x4476eb[_0xbea5('0x2f')]);_0x56c43f(_0x4476eb);});});}function getUser(_0x1f1918,_0x60bfd6,_0x48b122,_0x368e22){logger[_0xbea5('0x30')](_0xbea5('0x31'));return request({'method':_0xbea5('0x32'),'uri':util[_0xbea5('0x33')](_0xbea5('0x34'),_0x60bfd6),'qs':{'type':_0xbea5('0x35')},'headers':{'Authorization':_0xbea5('0x36')+_0x1f1918},'json':!![]})[_0xbea5('0x37')](function(_0x28c1){if(_0x28c1[_0xbea5('0x38')]){var _0x1e5b30=-0x1;if(_[_0xbea5('0x39')](_0x28c1[_0xbea5('0x38')])){if(!_['isNil'](_0x368e22)){_0x1e5b30=_[_0xbea5('0x3a')](_0x28c1[_0xbea5('0x38')],function(_0x4da3be){return _0x4da3be[_0xbea5('0x3b')]===_0x368e22;});}if(_0x1e5b30>=0x0){logger['info'](_0xbea5('0x3c'));}else{logger[_0xbea5('0x30')](_0xbea5('0x3d'));_0x1e5b30=_[_0xbea5('0x3a')](_0x28c1['users'],function(_0x11a1d4){return _0x11a1d4[_0xbea5('0x3e')]['name']===_0xbea5('0x3f');});}return _0x28c1['users'][_0x1e5b30];}else{if(_0x28c1[_0xbea5('0x40')][_0xbea5('0x3e')][_0xbea5('0x18')]===_0xbea5('0x3f')){logger[_0xbea5('0x30')](_0xbea5('0x3d'));user=_0x28c1[_0xbea5('0x40')];return user;}else{logger[_0xbea5('0x2d')](_0xbea5('0x41'),JSON[_0xbea5('0xd')](_0x28c1));throw new Error(_0xbea5('0x42')+JSON[_0xbea5('0xd')](_0x28c1));}}}else{logger[_0xbea5('0x2d')](_0xbea5('0x41'),JSON[_0xbea5('0xd')](_0x28c1));throw new Error(_0xbea5('0x42')+JSON[_0xbea5('0xd')](_0x28c1));}})[_0xbea5('0x2c')](function(_0x41b8e7){console[_0xbea5('0x2d')](_0x41b8e7);});}function getEndUser(_0x512459,_0x532867,_0x5e62b7,_0x374ccd,_0x3c5e0d,_0xb15099,_0x22d3a6){logger[_0xbea5('0x30')](_0xbea5('0x43'));return request({'method':'GET','uri':_0xbea5('0x44')+_0x532867+'/crm/v2/Contacts/search?criteria=((Phone:equals:'+_0x3c5e0d+'))','headers':{'Authorization':_0xbea5('0x36')+_0x512459},'json':!![]})[_0xbea5('0x37')](function(_0x238a62){if(_0x238a62){var _0x2c0efe=_0x238a62[_0xbea5('0x45')][0x0];_0x2c0efe['enduserType']=_0xbea5('0x46');logger['info'](_0xbea5('0x47'));return _0x2c0efe;}else{return request({'method':'GET','uri':'https://www.zohoapis.'+_0x532867+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x3c5e0d+'))','headers':{'Authorization':_0xbea5('0x36')+_0x512459},'json':!![]})[_0xbea5('0x37')](function(_0x2b66c4){if(_0x2b66c4){var _0x1d430c=_0x2b66c4[_0xbea5('0x45')][0x0];_0x1d430c['enduserType']=_0xbea5('0x48');logger[_0xbea5('0x30')]('End\x20user\x20found\x20(Lead)');return _0x1d430c;}else{logger[_0xbea5('0x30')](_0xbea5('0x49'));_0x374ccd=getName(_0x374ccd);return request({'method':_0xbea5('0x24'),'uri':'https://www.zohoapis.'+_0x532867+_0xbea5('0x4a')+_0x22d3a6[_0xbea5('0x4b')],'body':{'data':[{'Last_Name':_0x374ccd[0x1],'First_Name':_0x374ccd[0x0],'Phone':_0x3c5e0d,'Owner':{'name':!_[_0xbea5('0x1b')](_0xb15099['role'][_0xbea5('0x18')])?_0xb15099['role']['name']:!_[_0xbea5('0x1b')](_0xb15099[_0xbea5('0x4c')])?_0xb15099[_0xbea5('0x4c')]+'\x20'+_0xb15099['last_name']:_0xb15099['last_name'],'id':_0xb15099['id']}}]},'headers':{'Authorization':_0xbea5('0x36')+_0x512459},'json':!![]})[_0xbea5('0x37')](function(_0x59dda1){if(_0x59dda1&&_0x59dda1[_0xbea5('0x45')][0x0][_0xbea5('0x4d')]===_0xbea5('0x4e')){var _0x47f9e5=_0x59dda1[_0xbea5('0x45')][0x0][_0xbea5('0x4f')];_0x47f9e5[_0xbea5('0x50')]=_0x22d3a6[_0xbea5('0x4b')];return _0x47f9e5;}logger[_0xbea5('0x2d')](_0xbea5('0x41'),JSON[_0xbea5('0xd')](_0x59dda1));throw new Error(_0xbea5('0x51')+JSON[_0xbea5('0xd')](_0x59dda1));});}});}});}function getCall(_0x2806f5,_0x286a3b,_0x4ca3ef,_0x5d7d54,_0x35c106,_0x44f3b7,_0x752b66,_0x5ec809){logger[_0xbea5('0x30')](_0xbea5('0x52'));var _0x333065={};_0x333065[_0xbea5('0x53')]={'name':!_[_0xbea5('0x1b')](_0x5d7d54['role'][_0xbea5('0x18')])&&!_[_0xbea5('0x1b')](_0x5d7d54[_0xbea5('0x3e')]['name'])&&_0x5d7d54[_0xbea5('0x3e')][_0xbea5('0x18')]===_0xbea5('0x54')?_0x5d7d54[_0xbea5('0x55')]['name']:!_[_0xbea5('0x1b')](_0x5d7d54[_0xbea5('0x4c')])?_0x5d7d54[_0xbea5('0x4c')]+'\x20'+_0x5d7d54['last_name']:_0x5d7d54[_0xbea5('0x56')],'id':_0x5d7d54['id']};_0x333065[_0xbea5('0x57')]=intUtil[_0xbea5('0x58')](_0x44f3b7[_0xbea5('0x59')],_0x752b66,'\x20');_0x333065['Description']=intUtil[_0xbea5('0x58')](_0x44f3b7[_0xbea5('0x5a')],_0x752b66,'\x0a');if(_0x35c106[_0xbea5('0x50')]===_0xbea5('0x46')){_0x333065['Who_Id']={'name':!_[_0xbea5('0x1b')](_0x35c106[_0xbea5('0x5b')])?_0x35c106[_0xbea5('0x5b')]:!_[_0xbea5('0x1b')](_0x35c106[_0xbea5('0x5c')])?_0x35c106['First_Name']+'\x20'+_0x35c106[_0xbea5('0x5d')]:_0x35c106['Last_Name'],'id':_0x35c106['id']};}if(_0x35c106['enduserType']===_0xbea5('0x48')){_0x333065[_0xbea5('0x5e')]={'name':!_[_0xbea5('0x1b')](_0x35c106['Full_Name'])?_0x35c106[_0xbea5('0x5b')]:!_[_0xbea5('0x1b')](_0x35c106['First_Name'])?_0x35c106[_0xbea5('0x5c')]+'\x20'+_0x35c106[_0xbea5('0x5d')]:_0x35c106['Last_Name'],'id':_0x35c106['id']};_0x333065[_0xbea5('0x5f')]=_0x35c106[_0xbea5('0x50')];}if(_0x752b66[_0xbea5('0x60')]){_0x333065[_0xbea5('0x61')]=moment[_0xbea5('0x62')](parseInt(_0x752b66['talktime'])*0x3e8)[_0xbea5('0x33')](_0xbea5('0x63'));}else if(_0x752b66[_0xbea5('0x64')]&&_0x752b66[_0xbea5('0x65')]){_0x333065['Call_Duration']=moment['utc'](moment(_0x752b66['endtime'],_0xbea5('0x66'))['diff'](moment(_0x752b66['starttime'],'YYYY-MM-DDTHH:mm:ss')))[_0xbea5('0x33')](_0xbea5('0x63'));}switch(_0x752b66[_0xbea5('0x67')]){case _0xbea5('0x68'):_0x333065[_0xbea5('0x69')]='Called';break;case'complete':case'connect':_0x333065[_0xbea5('0x69')]=_0xbea5('0x6a');break;case'rejected':_0x333065[_0xbea5('0x69')]=_0xbea5('0x6b');break;case _0xbea5('0x6c'):_0x333065[_0xbea5('0x69')]=_0xbea5('0x6d');break;default:}_0x333065[_0xbea5('0x6e')]=(_0x5ec809===_0xbea5('0x6f')?moment(_0x752b66[_0xbea5('0x70')])[_0xbea5('0x33')](_0xbea5('0x66')):moment(_0x752b66[_0xbea5('0x71')])[_0xbea5('0x33')](_0xbea5('0x66')))||moment()[_0xbea5('0x33')]('YYYY-MM-DDTHH:mm:ss');_0x333065[_0xbea5('0x72')]=_0x5ec809||_0xbea5('0x73');_0x333065=_['merge'](_0x333065,getCustomFields(_0x44f3b7[_0xbea5('0x74')],_0x752b66));return request({'method':'POST','uri':'https://www.zohoapis.'+_0x286a3b+'/crm/v2/Calls','headers':{'Authorization':_0xbea5('0x36')+_0x2806f5},'body':{'data':[_0x333065]},'json':!![]})[_0xbea5('0x37')](function(_0x59b7ea){if(_0x59b7ea&&_0x59b7ea['data'][0x0][_0xbea5('0x4d')]===_0xbea5('0x4e')){logger['info'](_0xbea5('0x75'));return{'id':_0x59b7ea[_0xbea5('0x45')][0x0][_0xbea5('0x4f')]['id']};}})[_0xbea5('0x2c')](function(_0x39949b){logger[_0xbea5('0x30')](_0xbea5('0x76'),_0x39949b[_0xbea5('0x2f')]);console[_0xbea5('0x77')]('err',_0x39949b);});}exports[_0xbea5('0x78')]=function(_0x5b0a96,_0x489a71,_0x4d9440,_0x10e78c,_0x393328,_0x5ac891){var _0x457f65,_0xef6596,_0x3b444c;_0x5ac891[_0xbea5('0x79')]=intUtil[_0xbea5('0x7a')](_0x5ac891[_0xbea5('0x79')]);_0x5ac891[_0xbea5('0x7b')]=intUtil[_0xbea5('0x7a')](_0x5ac891[_0xbea5('0x7b')]);if(_0x393328&&_0x393328[_0xbea5('0x7c')]){logger[_0xbea5('0x30')](_0xbea5('0x7d'),_0xbea5('0x7e'));_0x489a71[_0xbea5('0x7f')]=_0x5ac891[_0xbea5('0x7b')]+_0xbea5('0x80')+_0x489a71['uniqueid']+_0xbea5('0x81')+md5(_0x489a71[_0xbea5('0x82')]);}else{_0x489a71[_0xbea5('0x7f')]='';}var _0x509280=_0x5ac891['host']===_0xbea5('0x83')?'eu':'com';return getAccessToken(_0x5ac891)[_0xbea5('0x37')](function(_0x7b697){_0x3b444c=_0x7b697;return getUser(_0x3b444c,_0x509280,_0x5ac891,_0x10e78c[_0xbea5('0x3b')]);})[_0xbea5('0x37')](function(_0x273fb8){_0x457f65=_0x273fb8;logger[_0xbea5('0x30')]('The\x20User\x20ID\x20is:',_0x457f65['id']);return getEndUser(_0x3b444c,_0x509280,_0x5ac891,_0x489a71[_0xbea5('0x84')],_0x489a71[_0xbea5('0x85')],_0x457f65,_0x4d9440);})[_0xbea5('0x37')](function(_0x506550){_0xef6596=_0x506550;logger[_0xbea5('0x30')]('The\x20Enduser\x20ID\x20is:',_0xef6596['id']);return getCall(_0x3b444c,_0x509280,_0x5ac891,_0x457f65,_0xef6596,_0x4d9440,_0x489a71,_0xbea5('0x73'));})['then'](function(_0x7e9d87){if(_0x7e9d87){logger['info'](_0xbea5('0x86'),_0x7e9d87['id']);logger[_0xbea5('0x30')](_0xbea5('0x7d'),_0xbea5('0x87'));emit(util[_0xbea5('0x33')](_0xbea5('0x88'),_0x10e78c[_0xbea5('0x18')]),_0xbea5('0x89'),{'uri':_0xbea5('0x8a')+_0x5ac891[_0xbea5('0x79')]+'/crm/EntityInfo.do?module=Calls&id='+_0x7e9d87['id']});}})[_0xbea5('0x2c')](function(_0x54e4f8){logger[_0xbea5('0x2d')](_0xbea5('0x7d'),JSON[_0xbea5('0xd')](_0x54e4f8));});};exports[_0xbea5('0x6f')]=function(_0x2edd98,_0x320819,_0x51b211,_0x90c5f3,_0x2d3a14,_0x3bce21,_0x1b5a12){var _0x54dfc4,_0x44cf19,_0x116817;_0x3bce21[_0xbea5('0x79')]=intUtil['stripTrailingSlash'](_0x3bce21['host']);_0x3bce21[_0xbea5('0x7b')]=intUtil[_0xbea5('0x7a')](_0x3bce21['serverUrl']);if(_0x1b5a12&&_0x1b5a12[_0xbea5('0x8b')]&&_0x1b5a12[_0xbea5('0x8b')]!==_0xbea5('0x8c')){logger['info'](_0xbea5('0x8d'),_0xbea5('0x7e'));_0x320819['recordingURL']=_0x3bce21[_0xbea5('0x7b')]+_0xbea5('0x80')+_0x320819[_0xbea5('0x82')]+_0xbea5('0x81')+md5(_0x320819[_0xbea5('0x82')]);}var _0xe362bd=_0x3bce21[_0xbea5('0x79')]===_0xbea5('0x83')?'eu':_0xbea5('0x8e');return getAccessToken(_0x3bce21)['then'](function(_0x4fb2d9){_0x116817=_0x4fb2d9;return getUser(_0x116817,_0xe362bd,_0x3bce21,_0x90c5f3[_0xbea5('0x3b')]);})[_0xbea5('0x37')](function(_0x2a6713){_0x54dfc4=_0x2a6713;logger[_0xbea5('0x30')](_0xbea5('0x8f'),_0x54dfc4['id']);return getEndUser(_0x116817,_0xe362bd,_0x3bce21,_0x320819[_0xbea5('0x90')],_0x320819[_0xbea5('0x91')],_0x54dfc4,_0x51b211);})[_0xbea5('0x37')](function(_0x2e45cc){_0x44cf19=_0x2e45cc;logger['info']('The\x20Enduser\x20ID\x20is:',_0x44cf19['id']);return getCall(_0x116817,_0xe362bd,_0x3bce21,_0x54dfc4,_0x44cf19,_0x51b211,_0x320819,_0xbea5('0x92'));})[_0xbea5('0x37')](function(_0x34b8ff){if(_0x34b8ff){logger[_0xbea5('0x30')](_0xbea5('0x86'),_0x34b8ff['id']);logger[_0xbea5('0x30')]('[OUTBOUND]',_0xbea5('0x87'));emit(util['format'](_0xbea5('0x88'),_0x90c5f3[_0xbea5('0x18')]),_0xbea5('0x89'),{'uri':'https://crm.'+_0x3bce21['host']+_0xbea5('0x93')+_0x34b8ff['id']});}})[_0xbea5('0x2c')](function(_0x4b71a2){logger['error'](_0xbea5('0x8d'),JSON['stringify'](_0x4b71a2));});};exports['abandoned']=function(_0x36c2c0,_0x470e2c,_0x565ab5,_0x2e0718,_0xb2407c,_0x7fe28f){var _0x49cab3,_0xa7e444,_0x528b69;_0x7fe28f[_0xbea5('0x79')]=intUtil[_0xbea5('0x7a')](_0x7fe28f[_0xbea5('0x79')]);_0x7fe28f[_0xbea5('0x7b')]=intUtil['stripTrailingSlash'](_0x7fe28f['serverUrl']);if(_0xb2407c&&_0xb2407c[_0xbea5('0x7c')]){logger[_0xbea5('0x30')](_0xbea5('0x94'),_0xbea5('0x7e'));_0x470e2c[_0xbea5('0x7f')]=_0x7fe28f[_0xbea5('0x7b')]+'/api/voice/recordings/'+_0x470e2c[_0xbea5('0x82')]+_0xbea5('0x81')+md5(_0x470e2c[_0xbea5('0x82')]);}else{_0x470e2c[_0xbea5('0x7f')]='';}var _0x5b16e8=_0x7fe28f[_0xbea5('0x79')]===_0xbea5('0x83')?'eu':'com';return getAccessToken(_0x7fe28f)[_0xbea5('0x37')](function(_0x1c7a1b){_0x528b69=_0x1c7a1b;return getUser(_0x528b69,_0x5b16e8,_0x7fe28f);})[_0xbea5('0x37')](function(_0x33b982){_0x49cab3=_0x33b982;logger[_0xbea5('0x30')](_0xbea5('0x8f'),_0x49cab3['id']);return getEndUser(_0x528b69,_0x5b16e8,_0x7fe28f,_0x470e2c[_0xbea5('0x84')],_0x470e2c[_0xbea5('0x85')],_0x49cab3,_0x565ab5);})[_0xbea5('0x37')](function(_0x50aaa5){_0xa7e444=_0x50aaa5;logger[_0xbea5('0x30')](_0xbea5('0x95'),_0xa7e444['id']);return getCall(_0x528b69,_0x5b16e8,_0x7fe28f,_0x49cab3,_0xa7e444,_0x565ab5,_0x470e2c,_0xbea5('0x73'));})[_0xbea5('0x37')](function(_0x4e4b1f){if(_0x4e4b1f){logger['info'](_0xbea5('0x86'),_0x4e4b1f['id']);}})[_0xbea5('0x2c')](function(_0x3afe26){logger['error'](_0xbea5('0x94'),JSON[_0xbea5('0xd')](_0x3afe26));});};