f1f56073221a18c1eb4082f89ae27fb3c93f589f
[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 _0x545c=['defaults','socket.io-emitter','emit','debug','stringify','forEach','includes','picklist','type','idField','toString','variableName','customVariable','Variable','toLowerCase','name','split','access_token','isBefore','expires_in','zone','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.com.cn','POST','/oauth/v2/token','refreshToken','clientId','clientSecret','refresh_token','seconds','catch','Failing\x20creating\x20the\x20access_token','stack','info','Search\x20user','GET','Zoho-oauthtoken\x20','users','isArrayLikeObject','isNil','findIndex','email','Using\x20the\x20admin\x20account!','profile','Administrator','user','error','The\x20failing\x20result\x20is','then','enduserType','https://www.zohoapis.','startCase','moduleCreate','role','first_name','last_name','data','details','Error:\x20','log','CREATE\x20ERROR','moduleSearch','contact_lead','/crm/v2/Contacts/search?criteria=((Phone:equals:','Contacts','uri','Leads','nothing','contact','/crm/v2/Leads/search?criteria=((Phone:equals:','Creating\x20new\x20call...','administrator','Subject','getString','Subjects','Descriptions','Who_Id','Full_Name','First_Name','Last_Name','What_Id','$se_module','Call_Duration','utc','talktime','format','mm:ss','answertime','endtime','YYYY-MM-DDTHH:mm:ss','diff','called','Called','complete','connect','Answered','Rejected','abandoned','Call_Result','Timeout','outbound','agentcalledAt','Call_Type','Inbound','merge','/crm/v2/Calls','Call\x20created!','err','queue','host','serverUrl','stripTrailingSlash','monitor_format','Recording\x20is\x20enabled!','recordingURL','/api/voice/recordings/','uniqueid','/downloads?type=uniqueid&token=','zoho.eu','com','The\x20User\x20ID\x20is:','calleridname','calleridnum','The\x20Call\x20ID\x20is:','[QUEUE]','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','/crm/EntityInfo.do?module=Calls&id=','recordingFormat','[OUTBOUND]','destcalleridnum','Outbound','unmanaged','lastevent','toUpperCase','lodash','md5','util','moment','ioredis','bluebird','../../../../config/logger','zoho','redis'];(function(_0x7e2eb0,_0x17cd58){var _0xd92de4=function(_0x5d005b){while(--_0x5d005b){_0x7e2eb0['push'](_0x7e2eb0['shift']());}};_0xd92de4(++_0x17cd58);}(_0x545c,0x89));var _0xc545=function(_0x2c7618,_0x26be9c){_0x2c7618=_0x2c7618-0x0;var _0x5ce3f0=_0x545c[_0x2c7618];return _0x5ce3f0;};'use strict';var _=require(_0xc545('0x0'));var rp=require('request-promise');var md5=require(_0xc545('0x1'));var util=require(_0xc545('0x2'));var intUtil=require('./util');var moment=require(_0xc545('0x3'));var Redis=require(_0xc545('0x4'));var BPromise=require(_0xc545('0x5'));var config=require('../../../../config/environment');var logger=require(_0xc545('0x6'))(_0xc545('0x7'));config[_0xc545('0x8')]=_[_0xc545('0x9')](config['redis'],{'host':'localhost','port':0x18eb});var io=require(_0xc545('0xa'))(new Redis(config['redis']));function emit(_0x2a371a,_0x29419f,_0x34355d){io['to'](_0x2a371a)[_0xc545('0xb')](_0x29419f,_0x34355d);}function request(_0x1e1c2a){logger[_0xc545('0xc')]('[HTTP]',JSON[_0xc545('0xd')](_0x1e1c2a));return rp(_0x1e1c2a);}function getCustomFields(_0x439af6,_0x12d1aa){var _0x61f407={};if(_0x439af6['length']>0x0){_[_0xc545('0xe')](_0x439af6,function(_0x44c1bc){if(_[_0xc545('0xf')](['string',_0xc545('0x10')],_0x44c1bc[_0xc545('0x11')])&&_0x44c1bc[_0xc545('0x12')]){_0x61f407[_0x44c1bc['idField']]=_0x44c1bc['content'][_0xc545('0x13')]();}else if(_0x44c1bc[_0xc545('0x11')]==='variable'&&_0x44c1bc[_0xc545('0x14')]&&_0x44c1bc[_0xc545('0x12')]&&_0x12d1aa[_0x44c1bc[_0xc545('0x14')]]){_0x61f407[_0x44c1bc[_0xc545('0x12')]]=_0x12d1aa[_0x44c1bc[_0xc545('0x14')]][_0xc545('0x13')]();}else if(_0x44c1bc[_0xc545('0x11')]===_0xc545('0x15')&&_0x44c1bc[_0xc545('0x16')]&&_0x44c1bc[_0xc545('0x16')]['name']&&_0x44c1bc[_0xc545('0x12')]&&_0x12d1aa[_0x44c1bc[_0xc545('0x16')]['name'][_0xc545('0x17')]()]){_0x61f407[_0x44c1bc['idField']]=_0x12d1aa[_0x44c1bc[_0xc545('0x16')][_0xc545('0x18')][_0xc545('0x17')]()][_0xc545('0x13')]();}});}return _0x61f407;}function getName(_0x452e9f){if(_0x452e9f['indexOf']('\x20')>0x0){var _0x2932e5=_0x452e9f[_0xc545('0x19')](/ (.+)/);if(_0x2932e5[0x1]){return _0x2932e5;}}return[_0x452e9f,_0x452e9f];}var accountsTokens={};function getAccessToken(_0x8e1102){return new Promise(function(_0x3d5cca,_0x40e56f){if(!_['isNil'](accountsTokens[_0x8e1102['id']])&&!_['isNil'](accountsTokens[_0x8e1102['id']][_0xc545('0x1a')])){if(moment()[_0xc545('0x1b')](accountsTokens[_0x8e1102['id']][_0xc545('0x1c')])){_0x3d5cca(accountsTokens[_0x8e1102['id']][_0xc545('0x1a')]);}}var _0x1925df;switch(_0x8e1102[_0xc545('0x1d')]){case'US':_0x1925df='https://accounts.zoho.com';break;case'AU':_0x1925df=_0xc545('0x1e');break;case'EU':_0x1925df='https://accounts.zoho.eu';break;case'IN':_0x1925df=_0xc545('0x1f');break;case'CN':_0x1925df=_0xc545('0x20');break;default:_0x1925df='https://accounts.zoho.eu';break;}var _0x28ee84={'method':_0xc545('0x21'),'uri':_0x1925df+_0xc545('0x22'),'qs':{'refresh_token':_0x8e1102[_0xc545('0x23')],'client_id':_0x8e1102[_0xc545('0x24')],'client_secret':_0x8e1102[_0xc545('0x25')],'grant_type':_0xc545('0x26')},'json':!![]};return rp(_0x28ee84)['then'](function(_0x5a2daf){accountsTokens[_0x8e1102['id']]={'access_token':_0x5a2daf[_0xc545('0x1a')],'expires_in':moment()['add'](_0x5a2daf[_0xc545('0x1c')],_0xc545('0x27'))};_0x3d5cca(_0x5a2daf[_0xc545('0x1a')]);})[_0xc545('0x28')](function(_0x3d11cc){logger['error'](_0xc545('0x29'),_0x3d11cc[_0xc545('0x2a')]);_0x40e56f(_0x3d11cc);});});}function getUser(_0x446099,_0x211f8b,_0x49eed5,_0xf8ad30){logger[_0xc545('0x2b')](_0xc545('0x2c'));return request({'method':_0xc545('0x2d'),'uri':util['format']('https://www.zohoapis.%s/crm/v2/users',_0x211f8b),'qs':{'type':'ActiveUsers'},'headers':{'Authorization':_0xc545('0x2e')+_0x446099},'json':!![]})['then'](function(_0x30c06d){if(_0x30c06d[_0xc545('0x2f')]){var _0x213663=-0x1;if(_[_0xc545('0x30')](_0x30c06d[_0xc545('0x2f')])){if(!_[_0xc545('0x31')](_0xf8ad30)){_0x213663=_[_0xc545('0x32')](_0x30c06d['users'],function(_0x330aca){return _0x330aca[_0xc545('0x33')]===_0xf8ad30;});}if(_0x213663>=0x0){logger['info']('Agent\x20found!');}else{logger['info'](_0xc545('0x34'));_0x213663=_['findIndex'](_0x30c06d[_0xc545('0x2f')],function(_0x52a96e){return _0x52a96e[_0xc545('0x35')][_0xc545('0x18')]===_0xc545('0x36');});}return _0x30c06d['users'][_0x213663];}else{if(_0x30c06d[_0xc545('0x37')][_0xc545('0x35')]['name']===_0xc545('0x36')){logger['info'](_0xc545('0x34'));user=_0x30c06d['user'];return user;}else{logger[_0xc545('0x38')](_0xc545('0x39'),JSON[_0xc545('0xd')](_0x30c06d));throw new Error('Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20'+JSON['stringify'](_0x30c06d));}}}else{logger[_0xc545('0x38')](_0xc545('0x39'),JSON[_0xc545('0xd')](_0x30c06d));throw new Error('Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20'+JSON[_0xc545('0xd')](_0x30c06d));}})[_0xc545('0x28')](function(_0x3ae698){console['error'](_0x3ae698);});}function getZohoUser(_0x298f4a,_0x35a29d){return new BPromise(function(_0x660aa9,_0x266165){request(_0x298f4a)[_0xc545('0x3a')](function(_0xcc80b7){var _0x3213f6=null;if(_0xcc80b7){_0x3213f6=_0xcc80b7['data'][0x0];_0x3213f6[_0xc545('0x3b')]=_0x35a29d;}_0x660aa9(_0x3213f6);})[_0xc545('0x28')](function(_0x5e1816){_0x266165(_0x5e1816);});});}function createEndUser(_0x19a287,_0x1055f7,_0x33eb38,_0x48baa9,_0x3ef144,_0x5b6865){var _0x33eb38=getName(_0x33eb38);return request({'method':_0xc545('0x21'),'uri':_0xc545('0x3c')+_0x1055f7+'/crm/v2/'+_[_0xc545('0x3d')](_0x5b6865[_0xc545('0x3e')])+'s','body':{'data':[{'Last_Name':_0x33eb38[0x1],'First_Name':_0x33eb38[0x0],'Phone':_0x48baa9,'Owner':{'name':!_['isNil'](_0x3ef144[_0xc545('0x3f')][_0xc545('0x18')])?_0x3ef144[_0xc545('0x3f')]['name']:!_[_0xc545('0x31')](_0x3ef144[_0xc545('0x40')])?_0x3ef144[_0xc545('0x40')]+'\x20'+_0x3ef144[_0xc545('0x41')]:_0x3ef144[_0xc545('0x41')],'id':_0x3ef144['id']}}]},'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x19a287},'json':!![]})[_0xc545('0x3a')](function(_0x4e587d){if(_0x4e587d&&_0x4e587d[_0xc545('0x42')][0x0]['code']==='SUCCESS'){var _0x4e0d8e=_0x4e587d[_0xc545('0x42')][0x0][_0xc545('0x43')];_0x4e0d8e[_0xc545('0x3b')]=_[_0xc545('0x3d')](_0x5b6865[_0xc545('0x3e')])+'s';return _0x4e0d8e;}logger[_0xc545('0x38')](_0xc545('0x39'),JSON['stringify'](data));throw new Error(_0xc545('0x44')+JSON[_0xc545('0xd')](data));})[_0xc545('0x28')](function(_0x12cafd){console[_0xc545('0x45')](_0xc545('0x46'),_0x12cafd);});}function getEndUser(_0xa499bf,_0xbe5cf8,_0x68ac81,_0x1d8fab,_0x37b3ba,_0xc6bba1,_0x175d8f){var _0x55fbb4={'method':_0xc545('0x2d'),'uri':'','headers':{'Authorization':_0xc545('0x2e')+_0xa499bf},'json':!![]};switch(_0x175d8f[_0xc545('0x47')]){case _0xc545('0x48'):_0x55fbb4['uri']=_0xc545('0x3c')+_0xbe5cf8+_0xc545('0x49')+_0x37b3ba+'))';return getZohoUser(_0x55fbb4,_0xc545('0x4a'))['then'](function(_0x40e0fd){if(_0x40e0fd)return _0x40e0fd;_0x55fbb4[_0xc545('0x4b')]=_0xc545('0x3c')+_0xbe5cf8+'/crm/v2/Leads/search?criteria=((Phone:equals:'+_0x37b3ba+'))';return getZohoUser(_0x55fbb4,_0xc545('0x4c'))[_0xc545('0x3a')](function(_0x3df5a1){if(_0x3df5a1)return _0x3df5a1;if(_0x175d8f['moduleCreate']!=_0xc545('0x4d')){return createEndUser(_0xa499bf,_0xbe5cf8,_0x1d8fab,_0x37b3ba,_0xc6bba1,_0x175d8f);}else{return{};}});});break;case _0xc545('0x4e'):_0x55fbb4['uri']=_0xc545('0x3c')+_0xbe5cf8+_0xc545('0x49')+_0x37b3ba+'))';return getZohoUser(_0x55fbb4,_0xc545('0x4a'))[_0xc545('0x3a')](function(_0xd36a95){if(_0xd36a95)return _0xd36a95;if(_0x175d8f['moduleCreate']!=_0xc545('0x4d')){return createEndUser(_0xa499bf,_0xbe5cf8,_0x1d8fab,_0x37b3ba,_0xc6bba1,_0x175d8f);}else{return{};}});break;case'lead':_0x55fbb4[_0xc545('0x4b')]=_0xc545('0x3c')+_0xbe5cf8+_0xc545('0x4f')+_0x37b3ba+'))';return getZohoUser(_0x55fbb4,_0xc545('0x4c'))['then'](function(_0x3b62aa){if(_0x3b62aa)return _0x3b62aa;if(_0x175d8f[_0xc545('0x3e')]!='nothing'){return createEndUser(_0xa499bf,_0xbe5cf8,_0x1d8fab,_0x37b3ba,_0xc6bba1,_0x175d8f);}else{return{};}});break;}}function getCall(_0x2a9a2f,_0x5f0371,_0x399cff,_0x78672d,_0x2cf3e0,_0x1dc43c,_0x10e894,_0x30e398){logger['info'](_0xc545('0x50'));var _0x254296={};_0x254296['Owner']={'name':!_[_0xc545('0x31')](_0x78672d[_0xc545('0x3f')][_0xc545('0x18')])&&!_[_0xc545('0x31')](_0x78672d['profile'][_0xc545('0x18')])&&_0x78672d[_0xc545('0x35')]['name']===_0xc545('0x51')?_0x78672d[_0xc545('0x3f')][_0xc545('0x18')]:!_[_0xc545('0x31')](_0x78672d[_0xc545('0x40')])?_0x78672d['first_name']+'\x20'+_0x78672d['last_name']:_0x78672d[_0xc545('0x41')],'id':_0x78672d['id']};_0x254296[_0xc545('0x52')]=intUtil[_0xc545('0x53')](_0x1dc43c[_0xc545('0x54')],_0x10e894,'\x20');_0x254296['Description']=intUtil[_0xc545('0x53')](_0x1dc43c[_0xc545('0x55')],_0x10e894,'\x0a');if(_0x2cf3e0[_0xc545('0x3b')]===_0xc545('0x4a')){_0x254296[_0xc545('0x56')]={'name':!_[_0xc545('0x31')](_0x2cf3e0['Full_Name'])?_0x2cf3e0[_0xc545('0x57')]:!_['isNil'](_0x2cf3e0[_0xc545('0x58')])?_0x2cf3e0[_0xc545('0x58')]+'\x20'+_0x2cf3e0[_0xc545('0x59')]:_0x2cf3e0['Last_Name'],'id':_0x2cf3e0['id']};}if(_0x2cf3e0[_0xc545('0x3b')]===_0xc545('0x4c')){_0x254296[_0xc545('0x5a')]={'name':!_[_0xc545('0x31')](_0x2cf3e0['Full_Name'])?_0x2cf3e0['Full_Name']:!_[_0xc545('0x31')](_0x2cf3e0[_0xc545('0x58')])?_0x2cf3e0[_0xc545('0x58')]+'\x20'+_0x2cf3e0[_0xc545('0x59')]:_0x2cf3e0['Last_Name'],'id':_0x2cf3e0['id']};_0x254296[_0xc545('0x5b')]=_['startCase'](_0x2cf3e0[_0xc545('0x3b')]);}if(_0x10e894['talktime']){_0x254296[_0xc545('0x5c')]=moment[_0xc545('0x5d')](parseInt(_0x10e894[_0xc545('0x5e')])*0x3e8)[_0xc545('0x5f')](_0xc545('0x60'));}else if(_0x10e894[_0xc545('0x61')]&&_0x10e894['endtime']){_0x254296['Call_Duration']=moment[_0xc545('0x5d')](moment(_0x10e894[_0xc545('0x62')],_0xc545('0x63'))[_0xc545('0x64')](moment(_0x10e894['starttime'],_0xc545('0x63'))))['format'](_0xc545('0x60'));}switch(_0x10e894['lastevent']){case _0xc545('0x65'):_0x254296['Call_Result']=_0xc545('0x66');break;case _0xc545('0x67'):case _0xc545('0x68'):_0x254296['Call_Result']=_0xc545('0x69');break;case'rejected':_0x254296['Call_Result']=_0xc545('0x6a');break;case _0xc545('0x6b'):_0x254296['Call_Result']='Abandoned';break;case'timeout':_0x254296[_0xc545('0x6c')]=_0xc545('0x6d');default:}_0x254296['Call_Start_Time']=(_0x30e398===_0xc545('0x6e')?moment(_0x10e894['starttime'])['format'](_0xc545('0x63')):moment(_0x10e894[_0xc545('0x6f')])[_0xc545('0x5f')](_0xc545('0x63')))||moment()[_0xc545('0x5f')](_0xc545('0x63'));_0x254296[_0xc545('0x70')]=_0x30e398||_0xc545('0x71');_0x254296=_[_0xc545('0x72')](_0x254296,getCustomFields(_0x1dc43c['Fields'],_0x10e894));return request({'method':_0xc545('0x21'),'uri':_0xc545('0x3c')+_0x5f0371+_0xc545('0x73'),'headers':{'Authorization':_0xc545('0x2e')+_0x2a9a2f},'body':{'data':[_0x254296]},'json':!![]})[_0xc545('0x3a')](function(_0x55e079){if(_0x55e079&&_0x55e079[_0xc545('0x42')][0x0]['code']==='SUCCESS'){logger['info'](_0xc545('0x74'));return{'id':_0x55e079[_0xc545('0x42')][0x0][_0xc545('0x43')]['id']};}})['catch'](function(_0x39d01c){logger[_0xc545('0x2b')](_0xc545('0x75'),_0x39d01c[_0xc545('0x2a')]);console[_0xc545('0x45')](_0xc545('0x75'),_0x39d01c);});}exports[_0xc545('0x76')]=function(_0x5130fb,_0x165925,_0x34b4c7,_0x593f4c,_0x124a61,_0x2e09f5){var _0x3b98ca,_0x1f8842,_0xe37af3;_0x2e09f5[_0xc545('0x77')]=intUtil['stripTrailingSlash'](_0x2e09f5['host']);_0x2e09f5[_0xc545('0x78')]=intUtil[_0xc545('0x79')](_0x2e09f5[_0xc545('0x78')]);if(_0x124a61&&_0x124a61[_0xc545('0x7a')]){logger[_0xc545('0x2b')]('[QUEUE]',_0xc545('0x7b'));_0x165925[_0xc545('0x7c')]=_0x2e09f5[_0xc545('0x78')]+_0xc545('0x7d')+_0x165925[_0xc545('0x7e')]+_0xc545('0x7f')+md5(_0x165925[_0xc545('0x7e')]);}else{_0x165925[_0xc545('0x7c')]='';}var _0x88685a=_0x2e09f5['host']===_0xc545('0x80')?'eu':_0xc545('0x81');return getAccessToken(_0x2e09f5)[_0xc545('0x3a')](function(_0x33bdb){_0xe37af3=_0x33bdb;return getUser(_0xe37af3,_0x88685a,_0x2e09f5,_0x593f4c[_0xc545('0x33')]);})[_0xc545('0x3a')](function(_0x3cdaa7){_0x3b98ca=_0x3cdaa7;logger[_0xc545('0x2b')](_0xc545('0x82'),_0x3b98ca['id']);return getEndUser(_0xe37af3,_0x88685a,_0x2e09f5,_0x165925[_0xc545('0x83')],_0x165925[_0xc545('0x84')],_0x3b98ca,_0x34b4c7);})[_0xc545('0x3a')](function(_0x21da91){_0x1f8842=_0x21da91;return getCall(_0xe37af3,_0x88685a,_0x2e09f5,_0x3b98ca,_0x1f8842,_0x34b4c7,_0x165925,_0xc545('0x71'));})[_0xc545('0x3a')](function(_0x3da0df){if(_0x3da0df){logger['info'](_0xc545('0x85'),_0x3da0df['id']);logger[_0xc545('0x2b')](_0xc545('0x86'),_0xc545('0x87'));emit(util[_0xc545('0x5f')](_0xc545('0x88'),_0x593f4c[_0xc545('0x18')]),_0xc545('0x89'),{'uri':'https://crm.'+_0x2e09f5[_0xc545('0x77')]+_0xc545('0x8a')+_0x3da0df['id']});}})['catch'](function(_0x2fc501){logger[_0xc545('0x38')]('[QUEUE]',JSON[_0xc545('0xd')](_0x2fc501));});};exports[_0xc545('0x6e')]=function(_0x19ab46,_0x150d80,_0x9db6eb,_0xc08d73,_0x448f7d,_0x5ef0d9,_0x56665f){var _0x34a7a7,_0x3d506f,_0x12eebe;_0x5ef0d9[_0xc545('0x77')]=intUtil[_0xc545('0x79')](_0x5ef0d9[_0xc545('0x77')]);_0x5ef0d9[_0xc545('0x78')]=intUtil[_0xc545('0x79')](_0x5ef0d9['serverUrl']);if(_0x56665f&&_0x56665f['recordingFormat']&&_0x56665f[_0xc545('0x8b')]!=='none'){logger[_0xc545('0x2b')](_0xc545('0x8c'),_0xc545('0x7b'));_0x150d80['recordingURL']=_0x5ef0d9[_0xc545('0x78')]+_0xc545('0x7d')+_0x150d80[_0xc545('0x7e')]+_0xc545('0x7f')+md5(_0x150d80[_0xc545('0x7e')]);}var _0x3bfc16=_0x5ef0d9['host']===_0xc545('0x80')?'eu':_0xc545('0x81');return getAccessToken(_0x5ef0d9)['then'](function(_0x144da8){_0x12eebe=_0x144da8;return getUser(_0x12eebe,_0x3bfc16,_0x5ef0d9,_0xc08d73[_0xc545('0x33')]);})['then'](function(_0x5a290e){_0x34a7a7=_0x5a290e;logger[_0xc545('0x2b')]('The\x20User\x20ID\x20is:',_0x34a7a7['id']);return getEndUser(_0x12eebe,_0x3bfc16,_0x5ef0d9,_0x150d80['destcalleridname'],_0x150d80[_0xc545('0x8d')],_0x34a7a7,_0x9db6eb);})[_0xc545('0x3a')](function(_0x532a46){_0x3d506f=_0x532a46;return getCall(_0x12eebe,_0x3bfc16,_0x5ef0d9,_0x34a7a7,_0x3d506f,_0x9db6eb,_0x150d80,_0xc545('0x8e'));})[_0xc545('0x3a')](function(_0x1e3c03){if(_0x1e3c03){logger[_0xc545('0x2b')](_0xc545('0x85'),_0x1e3c03['id']);logger['info'](_0xc545('0x8c'),_0xc545('0x87'));emit(util['format'](_0xc545('0x88'),_0xc08d73[_0xc545('0x18')]),'trigger:browser:url',{'uri':'https://crm.'+_0x5ef0d9[_0xc545('0x77')]+_0xc545('0x8a')+_0x1e3c03['id']});}})[_0xc545('0x28')](function(_0x4f2947){logger['error'](_0xc545('0x8c'),JSON['stringify'](_0x4f2947));});};exports[_0xc545('0x8f')]=function(_0x4c1911,_0x2cc0ed,_0x381c77,_0x7d02b1,_0x1a53f8,_0x322542){var _0x44c92f,_0x527406,_0x562ea2;_0x322542['host']=intUtil[_0xc545('0x79')](_0x322542['host']);_0x322542[_0xc545('0x78')]=intUtil[_0xc545('0x79')](_0x322542[_0xc545('0x78')]);if(_0x1a53f8&&_0x1a53f8[_0xc545('0x7a')]){logger['info']('['+_0x2cc0ed[_0xc545('0x90')][_0xc545('0x91')]()+']',_0xc545('0x7b'));_0x2cc0ed[_0xc545('0x7c')]=_0x322542[_0xc545('0x78')]+_0xc545('0x7d')+_0x2cc0ed[_0xc545('0x7e')]+_0xc545('0x7f')+md5(_0x2cc0ed[_0xc545('0x7e')]);}else{_0x2cc0ed[_0xc545('0x7c')]='';}var _0xe5e1a7=_0x322542[_0xc545('0x77')]==='zoho.eu'?'eu':'com';return getAccessToken(_0x322542)['then'](function(_0x1a6c78){_0x562ea2=_0x1a6c78;return getUser(_0x562ea2,_0xe5e1a7,_0x322542);})[_0xc545('0x3a')](function(_0x4d076d){_0x44c92f=_0x4d076d;logger[_0xc545('0x2b')](_0xc545('0x82'),_0x44c92f['id']);return getEndUser(_0x562ea2,_0xe5e1a7,_0x322542,_0x2cc0ed[_0xc545('0x83')],_0x2cc0ed[_0xc545('0x84')],_0x44c92f,_0x381c77);})[_0xc545('0x3a')](function(_0x346d50){_0x527406=_0x346d50;return getCall(_0x562ea2,_0xe5e1a7,_0x322542,_0x44c92f,_0x527406,_0x381c77,_0x2cc0ed,_0xc545('0x71'));})[_0xc545('0x3a')](function(_0x394798){if(_0x394798){logger['info']('The\x20Call\x20ID\x20is:',_0x394798['id']);}})[_0xc545('0x28')](function(_0x159169){logger['error']('['+_0x2cc0ed[_0xc545('0x90')][_0xc545('0x91')]()+']',JSON['stringify'](_0x159169));});};