Built motion from commit 598073ad.|2.5.44
[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 _0x4574=['Called','complete','Answered','abandoned','Abandoned','timeout','Timeout','Call_Start_Time','outbound','agentcalledAt','Inbound','/crm/v2/Calls','SUCCESS','Call\x20created!','err','queue','host','stripTrailingSlash','serverUrl','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','/api/voice/recordings/','uniqueid','com','The\x20User\x20ID\x20is:','The\x20Call\x20ID\x20is:','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','https://crm.','recordingFormat','none','[OUTBOUND]','/downloads?type=uniqueid&token=','zoho.eu','destcalleridnum','Outbound','unmanaged','monitor_format','lastevent','toUpperCase','calleridnum','lodash','md5','util','moment','ioredis','../../../../config/environment','../../../../config/logger','redis','defaults','localhost','socket.io-emitter','emit','[HTTP]','stringify','length','forEach','string','picklist','type','idField','toString','variableName','customVariable','Variable','name','toLowerCase','indexOf','isNil','access_token','isBefore','expires_in','zone','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','refresh_token','then','add','stack','info','GET','format','https://www.zohoapis.%s/crm/v2/users','ActiveUsers','Zoho-oauthtoken\x20','users','isArrayLikeObject','findIndex','Using\x20the\x20admin\x20account!','Administrator','user','profile','error','The\x20failing\x20result\x20is','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','catch','data','/crm/v2/','startCase','role','first_name','last_name','code','details','enduserType','moduleCreate','Error:\x20','log','CREATE\x20ERROR','uri','https://www.zohoapis.','Contacts','/crm/v2/Leads/search?criteria=((Phone:equals:','Leads','nothing','contact','Creating\x20new\x20call...','Owner','administrator','getString','Description','Full_Name','First_Name','Last_Name','What_Id','$se_module','talktime','Call_Duration','utc','mm:ss','answertime','endtime','diff','starttime','YYYY-MM-DDTHH:mm:ss','Call_Result'];(function(_0x5268f5,_0x4f9f1a){var _0xd24737=function(_0x1d4399){while(--_0x1d4399){_0x5268f5['push'](_0x5268f5['shift']());}};_0xd24737(++_0x4f9f1a);}(_0x4574,0xbc));var _0x4457=function(_0x13354a,_0x43e182){_0x13354a=_0x13354a-0x0;var _0x5e2a23=_0x4574[_0x13354a];return _0x5e2a23;};'use strict';var _=require(_0x4457('0x0'));var rp=require('request-promise');var md5=require(_0x4457('0x1'));var util=require(_0x4457('0x2'));var intUtil=require('./util');var moment=require(_0x4457('0x3'));var Redis=require(_0x4457('0x4'));var BPromise=require('bluebird');var config=require(_0x4457('0x5'));var logger=require(_0x4457('0x6'))('zoho');config[_0x4457('0x7')]=_[_0x4457('0x8')](config[_0x4457('0x7')],{'host':_0x4457('0x9'),'port':0x18eb});var io=require(_0x4457('0xa'))(new Redis(config['redis']));function emit(_0x4f16b9,_0x59cfb3,_0x3811da){io['to'](_0x4f16b9)[_0x4457('0xb')](_0x59cfb3,_0x3811da);}function request(_0x163acd){logger['debug'](_0x4457('0xc'),JSON[_0x4457('0xd')](_0x163acd));return rp(_0x163acd);}function getCustomFields(_0x360ea5,_0x17950d){var _0x20ed0f={};if(_0x360ea5[_0x4457('0xe')]>0x0){_[_0x4457('0xf')](_0x360ea5,function(_0x449d22){if(_['includes']([_0x4457('0x10'),_0x4457('0x11')],_0x449d22[_0x4457('0x12')])&&_0x449d22['idField']){_0x20ed0f[_0x449d22[_0x4457('0x13')]]=_0x449d22['content'][_0x4457('0x14')]();}else if(_0x449d22['type']==='variable'&&_0x449d22[_0x4457('0x15')]&&_0x449d22[_0x4457('0x13')]&&_0x17950d[_0x449d22['variableName']]){_0x20ed0f[_0x449d22[_0x4457('0x13')]]=_0x17950d[_0x449d22['variableName']][_0x4457('0x14')]();}else if(_0x449d22['type']===_0x4457('0x16')&&_0x449d22[_0x4457('0x17')]&&_0x449d22[_0x4457('0x17')][_0x4457('0x18')]&&_0x449d22['idField']&&_0x17950d[_0x449d22[_0x4457('0x17')][_0x4457('0x18')][_0x4457('0x19')]()]){_0x20ed0f[_0x449d22[_0x4457('0x13')]]=_0x17950d[_0x449d22['Variable'][_0x4457('0x18')][_0x4457('0x19')]()][_0x4457('0x14')]();}});}return _0x20ed0f;}function getName(_0x4c95ab){if(_0x4c95ab[_0x4457('0x1a')]('\x20')>0x0){var _0x5d33ec=_0x4c95ab['split'](/ (.+)/);if(_0x5d33ec[0x1]){return _0x5d33ec;}}return[_0x4c95ab,_0x4c95ab];}var accountsTokens={};function getAccessToken(_0x5a9f86){return new Promise(function(_0x43251c,_0x23bcbe){if(!_[_0x4457('0x1b')](accountsTokens[_0x5a9f86['id']])&&!_['isNil'](accountsTokens[_0x5a9f86['id']][_0x4457('0x1c')])){if(moment()[_0x4457('0x1d')](accountsTokens[_0x5a9f86['id']][_0x4457('0x1e')])){_0x43251c(accountsTokens[_0x5a9f86['id']][_0x4457('0x1c')]);}}var _0xd89732;switch(_0x5a9f86[_0x4457('0x1f')]){case'US':_0xd89732=_0x4457('0x20');break;case'AU':_0xd89732=_0x4457('0x21');break;case'EU':_0xd89732=_0x4457('0x22');break;case'IN':_0xd89732=_0x4457('0x23');break;case'CN':_0xd89732=_0x4457('0x24');break;default:_0xd89732=_0x4457('0x22');break;}var _0x4c1574={'method':_0x4457('0x25'),'uri':_0xd89732+_0x4457('0x26'),'qs':{'refresh_token':_0x5a9f86[_0x4457('0x27')],'client_id':_0x5a9f86[_0x4457('0x28')],'client_secret':_0x5a9f86['clientSecret'],'grant_type':_0x4457('0x29')},'json':!![]};return rp(_0x4c1574)[_0x4457('0x2a')](function(_0x4bc5bf){accountsTokens[_0x5a9f86['id']]={'access_token':_0x4bc5bf[_0x4457('0x1c')],'expires_in':moment()[_0x4457('0x2b')](_0x4bc5bf[_0x4457('0x1e')],'seconds')};_0x43251c(_0x4bc5bf['access_token']);})['catch'](function(_0xe1b25a){logger['error']('Failing\x20creating\x20the\x20access_token',_0xe1b25a[_0x4457('0x2c')]);_0x23bcbe(_0xe1b25a);});});}function getUser(_0x3bb812,_0x3bd6cf,_0x13b2b1,_0x3d82bf){logger[_0x4457('0x2d')]('Search\x20user');return request({'method':_0x4457('0x2e'),'uri':util[_0x4457('0x2f')](_0x4457('0x30'),_0x3bd6cf),'qs':{'type':_0x4457('0x31')},'headers':{'Authorization':_0x4457('0x32')+_0x3bb812},'json':!![]})[_0x4457('0x2a')](function(_0x433798){if(_0x433798[_0x4457('0x33')]){var _0x4e60b8=-0x1;if(_[_0x4457('0x34')](_0x433798['users'])){if(!_['isNil'](_0x3d82bf)){_0x4e60b8=_[_0x4457('0x35')](_0x433798[_0x4457('0x33')],function(_0x162356){return _0x162356['email']===_0x3d82bf;});}if(_0x4e60b8>=0x0){logger['info']('Agent\x20found!');}else{logger[_0x4457('0x2d')](_0x4457('0x36'));_0x4e60b8=_['findIndex'](_0x433798[_0x4457('0x33')],function(_0x5697a3){return _0x5697a3['profile']['name']===_0x4457('0x37');});}return _0x433798['users'][_0x4e60b8];}else{if(_0x433798[_0x4457('0x38')][_0x4457('0x39')][_0x4457('0x18')]==='Administrator'){logger['info']('Using\x20the\x20admin\x20account!');user=_0x433798[_0x4457('0x38')];return user;}else{logger[_0x4457('0x3a')](_0x4457('0x3b'),JSON[_0x4457('0xd')](_0x433798));throw new Error(_0x4457('0x3c')+JSON[_0x4457('0xd')](_0x433798));}}}else{logger[_0x4457('0x3a')](_0x4457('0x3b'),JSON[_0x4457('0xd')](_0x433798));throw new Error(_0x4457('0x3c')+JSON[_0x4457('0xd')](_0x433798));}})[_0x4457('0x3d')](function(_0x4b2e13){console[_0x4457('0x3a')](_0x4b2e13);});}function getZohoUser(_0x108242,_0x4c12b4){return new BPromise(function(_0x12767e,_0x2e9e55){request(_0x108242)[_0x4457('0x2a')](function(_0x4f0088){var _0x3287b7=null;if(_0x4f0088){_0x3287b7=_0x4f0088[_0x4457('0x3e')][0x0];_0x3287b7['enduserType']=_0x4c12b4;}_0x12767e(_0x3287b7);})[_0x4457('0x3d')](function(_0x63e78e){_0x2e9e55(_0x63e78e);});});}function createEndUser(_0x5306a3,_0x366c28,_0x5e572b,_0x18269b,_0x5f31ca,_0x57af2f){var _0x5e572b=getName(_0x5e572b);return request({'method':_0x4457('0x25'),'uri':'https://www.zohoapis.'+_0x366c28+_0x4457('0x3f')+_[_0x4457('0x40')](_0x57af2f['moduleCreate'])+'s','body':{'data':[{'Last_Name':_0x5e572b[0x1],'First_Name':_0x5e572b[0x0],'Phone':_0x18269b,'Owner':{'name':!_[_0x4457('0x1b')](_0x5f31ca[_0x4457('0x41')][_0x4457('0x18')])?_0x5f31ca['role'][_0x4457('0x18')]:!_[_0x4457('0x1b')](_0x5f31ca[_0x4457('0x42')])?_0x5f31ca[_0x4457('0x42')]+'\x20'+_0x5f31ca[_0x4457('0x43')]:_0x5f31ca[_0x4457('0x43')],'id':_0x5f31ca['id']}}]},'headers':{'Authorization':_0x4457('0x32')+_0x5306a3},'json':!![]})[_0x4457('0x2a')](function(_0x112c7f){if(_0x112c7f&&_0x112c7f[_0x4457('0x3e')][0x0][_0x4457('0x44')]==='SUCCESS'){var _0x5b013f=_0x112c7f[_0x4457('0x3e')][0x0][_0x4457('0x45')];_0x5b013f[_0x4457('0x46')]=_[_0x4457('0x40')](_0x57af2f[_0x4457('0x47')])+'s';return _0x5b013f;}logger[_0x4457('0x3a')](_0x4457('0x3b'),JSON[_0x4457('0xd')](data));throw new Error(_0x4457('0x48')+JSON['stringify'](data));})[_0x4457('0x3d')](function(_0x5179b6){console[_0x4457('0x49')](_0x4457('0x4a'),_0x5179b6);});}function getEndUser(_0x4920f9,_0x6dc2e0,_0x9d6b1c,_0x5f2c04,_0x4c6976,_0x770520,_0x2e62b8){var _0xf03758={'method':_0x4457('0x2e'),'uri':'','headers':{'Authorization':_0x4457('0x32')+_0x4920f9},'json':!![]};switch(_0x2e62b8['moduleSearch']){case'contact_lead':_0xf03758[_0x4457('0x4b')]=_0x4457('0x4c')+_0x6dc2e0+'/crm/v2/Contacts/search?criteria=((Phone:equals:'+_0x4c6976+'))';return getZohoUser(_0xf03758,_0x4457('0x4d'))[_0x4457('0x2a')](function(_0x44513e){if(_0x44513e)return _0x44513e;_0xf03758[_0x4457('0x4b')]='https://www.zohoapis.'+_0x6dc2e0+_0x4457('0x4e')+_0x4c6976+'))';return getZohoUser(_0xf03758,_0x4457('0x4f'))[_0x4457('0x2a')](function(_0x515768){if(_0x515768)return _0x515768;if(_0x2e62b8[_0x4457('0x47')]!=_0x4457('0x50')){return createEndUser(_0x4920f9,_0x6dc2e0,_0x5f2c04,_0x4c6976,_0x770520,_0x2e62b8);}else{return{};}});});break;case _0x4457('0x51'):_0xf03758['uri']=_0x4457('0x4c')+_0x6dc2e0+'/crm/v2/Contacts/search?criteria=((Phone:equals:'+_0x4c6976+'))';return getZohoUser(_0xf03758,'Contacts')[_0x4457('0x2a')](function(_0x3ac09a){if(_0x3ac09a)return _0x3ac09a;if(_0x2e62b8[_0x4457('0x47')]!=_0x4457('0x50')){return createEndUser(_0x4920f9,_0x6dc2e0,_0x5f2c04,_0x4c6976,_0x770520,_0x2e62b8);}else{return{};}});break;case'lead':_0xf03758['uri']=_0x4457('0x4c')+_0x6dc2e0+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x4c6976+'))';return getZohoUser(_0xf03758,_0x4457('0x4f'))[_0x4457('0x2a')](function(_0x8444f1){if(_0x8444f1)return _0x8444f1;if(_0x2e62b8['moduleCreate']!=_0x4457('0x50')){return createEndUser(_0x4920f9,_0x6dc2e0,_0x5f2c04,_0x4c6976,_0x770520,_0x2e62b8);}else{return{};}});break;}}function getCall(_0x1ee158,_0x135c8a,_0x5be477,_0x579a64,_0x351a9e,_0x1af603,_0x180f4d,_0x4226c5){logger[_0x4457('0x2d')](_0x4457('0x52'));var _0x4e0668={};_0x4e0668[_0x4457('0x53')]={'name':!_[_0x4457('0x1b')](_0x579a64[_0x4457('0x41')]['name'])&&!_[_0x4457('0x1b')](_0x579a64[_0x4457('0x39')]['name'])&&_0x579a64[_0x4457('0x39')][_0x4457('0x18')]===_0x4457('0x54')?_0x579a64[_0x4457('0x41')][_0x4457('0x18')]:!_[_0x4457('0x1b')](_0x579a64[_0x4457('0x42')])?_0x579a64[_0x4457('0x42')]+'\x20'+_0x579a64[_0x4457('0x43')]:_0x579a64[_0x4457('0x43')],'id':_0x579a64['id']};_0x4e0668['Subject']=intUtil[_0x4457('0x55')](_0x1af603['Subjects'],_0x180f4d,'\x20');_0x4e0668[_0x4457('0x56')]=intUtil[_0x4457('0x55')](_0x1af603['Descriptions'],_0x180f4d,'\x0a');if(_0x351a9e[_0x4457('0x46')]===_0x4457('0x4d')){_0x4e0668['Who_Id']={'name':!_[_0x4457('0x1b')](_0x351a9e[_0x4457('0x57')])?_0x351a9e['Full_Name']:!_[_0x4457('0x1b')](_0x351a9e[_0x4457('0x58')])?_0x351a9e[_0x4457('0x58')]+'\x20'+_0x351a9e[_0x4457('0x59')]:_0x351a9e[_0x4457('0x59')],'id':_0x351a9e['id']};}if(_0x351a9e[_0x4457('0x46')]===_0x4457('0x4f')){_0x4e0668[_0x4457('0x5a')]={'name':!_[_0x4457('0x1b')](_0x351a9e[_0x4457('0x57')])?_0x351a9e[_0x4457('0x57')]:!_[_0x4457('0x1b')](_0x351a9e[_0x4457('0x58')])?_0x351a9e[_0x4457('0x58')]+'\x20'+_0x351a9e[_0x4457('0x59')]:_0x351a9e[_0x4457('0x59')],'id':_0x351a9e['id']};_0x4e0668[_0x4457('0x5b')]=_[_0x4457('0x40')](_0x351a9e[_0x4457('0x46')]);}if(_0x180f4d[_0x4457('0x5c')]){_0x4e0668[_0x4457('0x5d')]=moment[_0x4457('0x5e')](parseInt(_0x180f4d[_0x4457('0x5c')])*0x3e8)['format'](_0x4457('0x5f'));}else if(_0x180f4d[_0x4457('0x60')]&&_0x180f4d[_0x4457('0x61')]){_0x4e0668[_0x4457('0x5d')]=moment['utc'](moment(_0x180f4d['endtime'],'YYYY-MM-DDTHH:mm:ss')[_0x4457('0x62')](moment(_0x180f4d[_0x4457('0x63')],_0x4457('0x64'))))['format'](_0x4457('0x5f'));}switch(_0x180f4d['lastevent']){case'called':_0x4e0668[_0x4457('0x65')]=_0x4457('0x66');break;case _0x4457('0x67'):case'connect':_0x4e0668[_0x4457('0x65')]=_0x4457('0x68');break;case'rejected':_0x4e0668[_0x4457('0x65')]='Rejected';break;case _0x4457('0x69'):_0x4e0668[_0x4457('0x65')]=_0x4457('0x6a');break;case _0x4457('0x6b'):_0x4e0668['Call_Result']=_0x4457('0x6c');default:}_0x4e0668[_0x4457('0x6d')]=(_0x4226c5===_0x4457('0x6e')?moment(_0x180f4d[_0x4457('0x63')])['format'](_0x4457('0x64')):moment(_0x180f4d[_0x4457('0x6f')])[_0x4457('0x2f')](_0x4457('0x64')))||moment()['format'](_0x4457('0x64'));_0x4e0668['Call_Type']=_0x4226c5||_0x4457('0x70');_0x4e0668=_['merge'](_0x4e0668,getCustomFields(_0x1af603['Fields'],_0x180f4d));return request({'method':_0x4457('0x25'),'uri':_0x4457('0x4c')+_0x135c8a+_0x4457('0x71'),'headers':{'Authorization':_0x4457('0x32')+_0x1ee158},'body':{'data':[_0x4e0668]},'json':!![]})[_0x4457('0x2a')](function(_0x368ef2){if(_0x368ef2&&_0x368ef2[_0x4457('0x3e')][0x0][_0x4457('0x44')]===_0x4457('0x72')){logger[_0x4457('0x2d')](_0x4457('0x73'));return{'id':_0x368ef2[_0x4457('0x3e')][0x0][_0x4457('0x45')]['id']};}})[_0x4457('0x3d')](function(_0x2a31ad){logger[_0x4457('0x2d')](_0x4457('0x74'),_0x2a31ad[_0x4457('0x2c')]);console[_0x4457('0x49')](_0x4457('0x74'),_0x2a31ad);});}exports[_0x4457('0x75')]=function(_0x541622,_0x2d156a,_0x430c7b,_0x41ce67,_0x22406d,_0x44a7a9){var _0x4b7364,_0x43e790,_0x19a163;_0x44a7a9[_0x4457('0x76')]=intUtil[_0x4457('0x77')](_0x44a7a9['host']);_0x44a7a9[_0x4457('0x78')]=intUtil[_0x4457('0x77')](_0x44a7a9[_0x4457('0x78')]);if(_0x22406d&&_0x22406d['monitor_format']){logger[_0x4457('0x2d')](_0x4457('0x79'),_0x4457('0x7a'));_0x2d156a[_0x4457('0x7b')]=_0x44a7a9['serverUrl']+_0x4457('0x7c')+_0x2d156a[_0x4457('0x7d')]+'/downloads?type=uniqueid&token='+md5(_0x2d156a[_0x4457('0x7d')]);}else{_0x2d156a[_0x4457('0x7b')]='';}var _0x2bb1bf=_0x44a7a9[_0x4457('0x76')]==='zoho.eu'?'eu':_0x4457('0x7e');return getAccessToken(_0x44a7a9)[_0x4457('0x2a')](function(_0x4f66c4){_0x19a163=_0x4f66c4;return getUser(_0x19a163,_0x2bb1bf,_0x44a7a9,_0x41ce67['email']);})[_0x4457('0x2a')](function(_0x123bbc){_0x4b7364=_0x123bbc;logger[_0x4457('0x2d')](_0x4457('0x7f'),_0x4b7364['id']);return getEndUser(_0x19a163,_0x2bb1bf,_0x44a7a9,_0x2d156a['calleridname'],_0x2d156a['calleridnum'],_0x4b7364,_0x430c7b);})['then'](function(_0x3bf9b8){_0x43e790=_0x3bf9b8;return getCall(_0x19a163,_0x2bb1bf,_0x44a7a9,_0x4b7364,_0x43e790,_0x430c7b,_0x2d156a,_0x4457('0x70'));})[_0x4457('0x2a')](function(_0x1f7e93){if(_0x1f7e93){logger['info'](_0x4457('0x80'),_0x1f7e93['id']);logger[_0x4457('0x2d')](_0x4457('0x79'),_0x4457('0x81'));emit(util[_0x4457('0x2f')](_0x4457('0x82'),_0x41ce67[_0x4457('0x18')]),_0x4457('0x83'),{'uri':_0x4457('0x84')+_0x44a7a9[_0x4457('0x76')]+'/crm/EntityInfo.do?module=Calls&id='+_0x1f7e93['id']});}})[_0x4457('0x3d')](function(_0xeda7dd){logger['error'](_0x4457('0x79'),JSON[_0x4457('0xd')](_0xeda7dd));});};exports[_0x4457('0x6e')]=function(_0xcb9961,_0x5aef0b,_0x12d6d7,_0x59f0d5,_0x100a61,_0x2850a3,_0x754f89){var _0x40185a,_0x202d71,_0xc19add;_0x2850a3[_0x4457('0x76')]=intUtil[_0x4457('0x77')](_0x2850a3[_0x4457('0x76')]);_0x2850a3[_0x4457('0x78')]=intUtil[_0x4457('0x77')](_0x2850a3['serverUrl']);if(_0x754f89&&_0x754f89[_0x4457('0x85')]&&_0x754f89['recordingFormat']!==_0x4457('0x86')){logger[_0x4457('0x2d')](_0x4457('0x87'),_0x4457('0x7a'));_0x5aef0b['recordingURL']=_0x2850a3['serverUrl']+_0x4457('0x7c')+_0x5aef0b[_0x4457('0x7d')]+_0x4457('0x88')+md5(_0x5aef0b['uniqueid']);}var _0xf68754=_0x2850a3[_0x4457('0x76')]===_0x4457('0x89')?'eu':_0x4457('0x7e');return getAccessToken(_0x2850a3)[_0x4457('0x2a')](function(_0x1f4d6d){_0xc19add=_0x1f4d6d;return getUser(_0xc19add,_0xf68754,_0x2850a3,_0x59f0d5['email']);})[_0x4457('0x2a')](function(_0x2c4374){_0x40185a=_0x2c4374;logger[_0x4457('0x2d')]('The\x20User\x20ID\x20is:',_0x40185a['id']);return getEndUser(_0xc19add,_0xf68754,_0x2850a3,_0x5aef0b['destcalleridname'],_0x5aef0b[_0x4457('0x8a')],_0x40185a,_0x12d6d7);})['then'](function(_0x1fd204){_0x202d71=_0x1fd204;return getCall(_0xc19add,_0xf68754,_0x2850a3,_0x40185a,_0x202d71,_0x12d6d7,_0x5aef0b,_0x4457('0x8b'));})[_0x4457('0x2a')](function(_0x314ab9){if(_0x314ab9){logger[_0x4457('0x2d')](_0x4457('0x80'),_0x314ab9['id']);logger[_0x4457('0x2d')](_0x4457('0x87'),_0x4457('0x81'));emit(util[_0x4457('0x2f')]('user:%s',_0x59f0d5['name']),_0x4457('0x83'),{'uri':_0x4457('0x84')+_0x2850a3[_0x4457('0x76')]+'/crm/EntityInfo.do?module=Calls&id='+_0x314ab9['id']});}})['catch'](function(_0x36cf8b){logger[_0x4457('0x3a')](_0x4457('0x87'),JSON[_0x4457('0xd')](_0x36cf8b));});};exports[_0x4457('0x8c')]=function(_0x1f701f,_0x92d344,_0x5ad208,_0x2a1ede,_0x7ad718,_0x19f42f){var _0x449f26,_0x273c85,_0x241e21;_0x19f42f[_0x4457('0x76')]=intUtil[_0x4457('0x77')](_0x19f42f[_0x4457('0x76')]);_0x19f42f[_0x4457('0x78')]=intUtil[_0x4457('0x77')](_0x19f42f[_0x4457('0x78')]);if(_0x7ad718&&_0x7ad718[_0x4457('0x8d')]){logger['info']('['+_0x92d344[_0x4457('0x8e')][_0x4457('0x8f')]()+']',_0x4457('0x7a'));_0x92d344['recordingURL']=_0x19f42f[_0x4457('0x78')]+'/api/voice/recordings/'+_0x92d344[_0x4457('0x7d')]+'/downloads?type=uniqueid&token='+md5(_0x92d344[_0x4457('0x7d')]);}else{_0x92d344[_0x4457('0x7b')]='';}var _0x84e2f4=_0x19f42f[_0x4457('0x76')]==='zoho.eu'?'eu':_0x4457('0x7e');return getAccessToken(_0x19f42f)[_0x4457('0x2a')](function(_0x2834ea){_0x241e21=_0x2834ea;return getUser(_0x241e21,_0x84e2f4,_0x19f42f);})[_0x4457('0x2a')](function(_0x440e05){_0x449f26=_0x440e05;logger['info'](_0x4457('0x7f'),_0x449f26['id']);return getEndUser(_0x241e21,_0x84e2f4,_0x19f42f,_0x92d344['calleridname'],_0x92d344[_0x4457('0x90')],_0x449f26,_0x5ad208);})['then'](function(_0x20a165){_0x273c85=_0x20a165;return getCall(_0x241e21,_0x84e2f4,_0x19f42f,_0x449f26,_0x273c85,_0x5ad208,_0x92d344,'Inbound');})[_0x4457('0x2a')](function(_0x7d647e){if(_0x7d647e){logger[_0x4457('0x2d')](_0x4457('0x80'),_0x7d647e['id']);}})[_0x4457('0x3d')](function(_0x3e6396){logger['error']('['+_0x92d344[_0x4457('0x8e')]['toUpperCase']()+']',JSON[_0x4457('0xd')](_0x3e6396));});};