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 _0x9a86=['host','serverUrl','monitor_format','[QUEUE]','/api/voice/recordings/','uniqueid','recordingURL','zoho.eu','com','email','calleridname','calleridnum','Inbound','The\x20Call\x20ID\x20is:','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','https://crm.','/crm/EntityInfo.do?module=Calls&id=','stripTrailingSlash','recordingFormat','Recording\x20is\x20enabled!','/downloads?type=uniqueid&token=','The\x20User\x20ID\x20is:','destcalleridname','destcalleridnum','Outbound','[OUTBOUND]','unmanaged','toUpperCase','lastevent','lodash','request-promise','util','./util','moment','ioredis','bluebird','../../../../config/environment','../../../../config/logger','zoho','redis','defaults','localhost','socket.io-emitter','emit','[HTTP]','stringify','length','forEach','idField','content','toString','type','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','POST','/oauth/v2/token','refreshToken','clientId','clientSecret','refresh_token','then','add','seconds','catch','error','Failing\x20creating\x20the\x20access_token','stack','info','Search\x20user','format','ActiveUsers','Zoho-oauthtoken\x20','users','findIndex','Agent\x20found!','profile','Administrator','user','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','data','enduserType','https://www.zohoapis.','startCase','moduleCreate','role','last_name','SUCCESS','details','log','CREATE\x20ERROR','GET','moduleSearch','contact_lead','uri','Contacts','/crm/v2/Leads/search?criteria=((Phone:equals:','contact','/crm/v2/Contacts/search?criteria=((Phone:equals:','nothing','Leads','Creating\x20new\x20call...','administrator','first_name','Subject','getString','Subjects','Description','Who_Id','Full_Name','First_Name','Last_Name','What_Id','$se_module','talktime','Call_Duration','utc','mm:ss','answertime','endtime','YYYY-MM-DDTHH:mm:ss','diff','starttime','called','Call_Result','Called','complete','connect','Rejected','abandoned','Abandoned','Timeout','Call_Start_Time','Call_Type','merge','Fields','Call\x20created!','err','queue'];(function(_0x27585f,_0x3c0721){var _0x556baa=function(_0x383f84){while(--_0x383f84){_0x27585f['push'](_0x27585f['shift']());}};_0x556baa(++_0x3c0721);}(_0x9a86,0x1ed));var _0x69a8=function(_0x29d623,_0x1a5c9c){_0x29d623=_0x29d623-0x0;var _0x242e59=_0x9a86[_0x29d623];return _0x242e59;};'use strict';var _=require(_0x69a8('0x0'));var rp=require(_0x69a8('0x1'));var md5=require('md5');var util=require(_0x69a8('0x2'));var intUtil=require(_0x69a8('0x3'));var moment=require(_0x69a8('0x4'));var Redis=require(_0x69a8('0x5'));var BPromise=require(_0x69a8('0x6'));var config=require(_0x69a8('0x7'));var logger=require(_0x69a8('0x8'))(_0x69a8('0x9'));config[_0x69a8('0xa')]=_[_0x69a8('0xb')](config[_0x69a8('0xa')],{'host':_0x69a8('0xc'),'port':0x18eb});var io=require(_0x69a8('0xd'))(new Redis(config[_0x69a8('0xa')]));function emit(_0x1909fc,_0x1c826b,_0x54248e){io['to'](_0x1909fc)[_0x69a8('0xe')](_0x1c826b,_0x54248e);}function request(_0xaf3ed6){logger['debug'](_0x69a8('0xf'),JSON[_0x69a8('0x10')](_0xaf3ed6));return rp(_0xaf3ed6);}function getCustomFields(_0x4f512d,_0x55f63c){var _0x43c11e={};if(_0x4f512d[_0x69a8('0x11')]>0x0){_[_0x69a8('0x12')](_0x4f512d,function(_0x3b8f57){if(_0x3b8f57['type']==='string'&&_0x3b8f57[_0x69a8('0x13')]){_0x43c11e[_0x3b8f57['idField']]=_0x3b8f57[_0x69a8('0x14')][_0x69a8('0x15')]();}else if(_0x3b8f57[_0x69a8('0x16')]===_0x69a8('0x17')&&_0x3b8f57[_0x69a8('0x18')]&&_0x3b8f57['idField']&&_0x55f63c[_0x3b8f57[_0x69a8('0x18')]]){_0x43c11e[_0x3b8f57['idField']]=_0x55f63c[_0x3b8f57[_0x69a8('0x18')]][_0x69a8('0x15')]();}else if(_0x3b8f57['type']===_0x69a8('0x19')&&_0x3b8f57[_0x69a8('0x1a')]&&_0x3b8f57[_0x69a8('0x1a')][_0x69a8('0x1b')]&&_0x3b8f57[_0x69a8('0x13')]&&_0x55f63c[_0x3b8f57[_0x69a8('0x1a')][_0x69a8('0x1b')][_0x69a8('0x1c')]()]){_0x43c11e[_0x3b8f57[_0x69a8('0x13')]]=_0x55f63c[_0x3b8f57[_0x69a8('0x1a')][_0x69a8('0x1b')]['toLowerCase']()][_0x69a8('0x15')]();}});}return _0x43c11e;}function getName(_0x18ce82){if(_0x18ce82[_0x69a8('0x1d')]('\x20')>0x0){var _0x4a769a=_0x18ce82[_0x69a8('0x1e')](/ (.+)/);if(_0x4a769a[0x1]){return _0x4a769a;}}return[_0x18ce82,_0x18ce82];}var accountsTokens={};function getAccessToken(_0x50c251){return new Promise(function(_0x31be94,_0x2db796){if(!_[_0x69a8('0x1f')](accountsTokens[_0x50c251['id']])&&!_[_0x69a8('0x1f')](accountsTokens[_0x50c251['id']][_0x69a8('0x20')])){if(moment()[_0x69a8('0x21')](accountsTokens[_0x50c251['id']][_0x69a8('0x22')])){_0x31be94(accountsTokens[_0x50c251['id']][_0x69a8('0x20')]);}}var _0x363fc0;switch(_0x50c251[_0x69a8('0x23')]){case'US':_0x363fc0=_0x69a8('0x24');break;case'AU':_0x363fc0=_0x69a8('0x25');break;case'EU':_0x363fc0=_0x69a8('0x26');break;case'IN':_0x363fc0='https://accounts.zoho.in';break;case'CN':_0x363fc0='https://accounts.zoho.com.cn';break;default:_0x363fc0=_0x69a8('0x26');break;}var _0x55e45a={'method':_0x69a8('0x27'),'uri':_0x363fc0+_0x69a8('0x28'),'qs':{'refresh_token':_0x50c251[_0x69a8('0x29')],'client_id':_0x50c251[_0x69a8('0x2a')],'client_secret':_0x50c251[_0x69a8('0x2b')],'grant_type':_0x69a8('0x2c')},'json':!![]};return rp(_0x55e45a)[_0x69a8('0x2d')](function(_0x6066d1){accountsTokens[_0x50c251['id']]={'access_token':_0x6066d1[_0x69a8('0x20')],'expires_in':moment()[_0x69a8('0x2e')](_0x6066d1[_0x69a8('0x22')],_0x69a8('0x2f'))};_0x31be94(_0x6066d1[_0x69a8('0x20')]);})[_0x69a8('0x30')](function(_0x2244c7){logger[_0x69a8('0x31')](_0x69a8('0x32'),_0x2244c7[_0x69a8('0x33')]);_0x2db796(_0x2244c7);});});}function getUser(_0x3242ef,_0x18f29d,_0x2f8126,_0x5a6673){logger[_0x69a8('0x34')](_0x69a8('0x35'));return request({'method':'GET','uri':util[_0x69a8('0x36')]('https://www.zohoapis.%s/crm/v2/users',_0x18f29d),'qs':{'type':_0x69a8('0x37')},'headers':{'Authorization':_0x69a8('0x38')+_0x3242ef},'json':!![]})['then'](function(_0x51a25e){if(_0x51a25e[_0x69a8('0x39')]){var _0x2dbdb0=-0x1;if(_['isArrayLikeObject'](_0x51a25e[_0x69a8('0x39')])){if(!_['isNil'](_0x5a6673)){_0x2dbdb0=_[_0x69a8('0x3a')](_0x51a25e[_0x69a8('0x39')],function(_0x5b1cbc){return _0x5b1cbc['email']===_0x5a6673;});}if(_0x2dbdb0>=0x0){logger[_0x69a8('0x34')](_0x69a8('0x3b'));}else{logger[_0x69a8('0x34')]('Using\x20the\x20admin\x20account!');_0x2dbdb0=_[_0x69a8('0x3a')](_0x51a25e['users'],function(_0x131fd9){return _0x131fd9[_0x69a8('0x3c')][_0x69a8('0x1b')]===_0x69a8('0x3d');});}return _0x51a25e['users'][_0x2dbdb0];}else{if(_0x51a25e[_0x69a8('0x3e')][_0x69a8('0x3c')][_0x69a8('0x1b')]===_0x69a8('0x3d')){logger[_0x69a8('0x34')]('Using\x20the\x20admin\x20account!');user=_0x51a25e['user'];return user;}else{logger[_0x69a8('0x31')]('The\x20failing\x20result\x20is',JSON['stringify'](_0x51a25e));throw new Error(_0x69a8('0x3f')+JSON['stringify'](_0x51a25e));}}}else{logger[_0x69a8('0x31')]('The\x20failing\x20result\x20is',JSON[_0x69a8('0x10')](_0x51a25e));throw new Error(_0x69a8('0x3f')+JSON[_0x69a8('0x10')](_0x51a25e));}})[_0x69a8('0x30')](function(_0x451310){console[_0x69a8('0x31')](_0x451310);});}function getZohoUser(_0x5b448d,_0x18f657){return new BPromise(function(_0x136225,_0x31bb6b){request(_0x5b448d)[_0x69a8('0x2d')](function(_0x16744d){var _0x46059a=null;if(_0x16744d){_0x46059a=_0x16744d[_0x69a8('0x40')][0x0];_0x46059a[_0x69a8('0x41')]=_0x18f657;}_0x136225(_0x46059a);})[_0x69a8('0x30')](function(_0x12558e){_0x31bb6b(_0x12558e);});});}function createEndUser(_0x5a80a8,_0x2b30e5,_0xb853c0,_0x34c2f5,_0x3d0d64,_0x54204c){var _0xb853c0=getName(_0xb853c0);return request({'method':'POST','uri':_0x69a8('0x42')+_0x2b30e5+'/crm/v2/'+_[_0x69a8('0x43')](_0x54204c[_0x69a8('0x44')])+'s','body':{'data':[{'Last_Name':_0xb853c0[0x1],'First_Name':_0xb853c0[0x0],'Phone':_0x34c2f5,'Owner':{'name':!_[_0x69a8('0x1f')](_0x3d0d64[_0x69a8('0x45')][_0x69a8('0x1b')])?_0x3d0d64[_0x69a8('0x45')][_0x69a8('0x1b')]:!_[_0x69a8('0x1f')](_0x3d0d64['first_name'])?_0x3d0d64['first_name']+'\x20'+_0x3d0d64[_0x69a8('0x46')]:_0x3d0d64[_0x69a8('0x46')],'id':_0x3d0d64['id']}}]},'headers':{'Authorization':_0x69a8('0x38')+_0x5a80a8},'json':!![]})['then'](function(_0x29936b){if(_0x29936b&&_0x29936b[_0x69a8('0x40')][0x0]['code']===_0x69a8('0x47')){var _0x5c3d07=_0x29936b[_0x69a8('0x40')][0x0][_0x69a8('0x48')];_0x5c3d07[_0x69a8('0x41')]=_[_0x69a8('0x43')](_0x54204c[_0x69a8('0x44')])+'s';return _0x5c3d07;}logger[_0x69a8('0x31')]('The\x20failing\x20result\x20is',JSON['stringify'](data));throw new Error('Error:\x20'+JSON['stringify'](data));})[_0x69a8('0x30')](function(_0x1b9b71){console[_0x69a8('0x49')](_0x69a8('0x4a'),_0x1b9b71);});}function getEndUser(_0x55298a,_0x2480ca,_0x5580d2,_0x34c461,_0x3c831e,_0x13e3d3,_0x13741d){var _0x295ccd={'method':_0x69a8('0x4b'),'uri':'','headers':{'Authorization':_0x69a8('0x38')+_0x55298a},'json':!![]};switch(_0x13741d[_0x69a8('0x4c')]){case _0x69a8('0x4d'):_0x295ccd[_0x69a8('0x4e')]=_0x69a8('0x42')+_0x2480ca+'/crm/v2/Contacts/search?criteria=((Phone:equals:'+_0x3c831e+'))';return getZohoUser(_0x295ccd,_0x69a8('0x4f'))[_0x69a8('0x2d')](function(_0x27a5a5){if(_0x27a5a5)return _0x27a5a5;_0x295ccd['uri']=_0x69a8('0x42')+_0x2480ca+_0x69a8('0x50')+_0x3c831e+'))';return getZohoUser(_0x295ccd,'Leads')[_0x69a8('0x2d')](function(_0x331b78){if(_0x331b78)return _0x331b78;if(_0x13741d[_0x69a8('0x44')]!='nothing'){return createEndUser(_0x55298a,_0x2480ca,_0x34c461,_0x3c831e,_0x13e3d3,_0x13741d);}else{return{};}});});break;case _0x69a8('0x51'):_0x295ccd[_0x69a8('0x4e')]=_0x69a8('0x42')+_0x2480ca+_0x69a8('0x52')+_0x3c831e+'))';return getZohoUser(_0x295ccd,'Contacts')['then'](function(_0x231213){if(_0x231213)return _0x231213;if(_0x13741d['moduleCreate']!=_0x69a8('0x53')){return createEndUser(_0x55298a,_0x2480ca,_0x34c461,_0x3c831e,_0x13e3d3,_0x13741d);}else{return{};}});break;case'lead':_0x295ccd['uri']=_0x69a8('0x42')+_0x2480ca+_0x69a8('0x50')+_0x3c831e+'))';return getZohoUser(_0x295ccd,_0x69a8('0x54'))[_0x69a8('0x2d')](function(_0x5a8940){if(_0x5a8940)return _0x5a8940;if(_0x13741d[_0x69a8('0x44')]!=_0x69a8('0x53')){return createEndUser(_0x55298a,_0x2480ca,_0x34c461,_0x3c831e,_0x13e3d3,_0x13741d);}else{return{};}});break;}}function getCall(_0x36dd79,_0x25683d,_0x3a2c82,_0x4fb1f3,_0x270320,_0x419822,_0x813e19,_0x5aed1a){logger[_0x69a8('0x34')](_0x69a8('0x55'));var _0x22a284={};_0x22a284['Owner']={'name':!_[_0x69a8('0x1f')](_0x4fb1f3[_0x69a8('0x45')][_0x69a8('0x1b')])&&!_[_0x69a8('0x1f')](_0x4fb1f3['profile'][_0x69a8('0x1b')])&&_0x4fb1f3[_0x69a8('0x3c')][_0x69a8('0x1b')]===_0x69a8('0x56')?_0x4fb1f3[_0x69a8('0x45')][_0x69a8('0x1b')]:!_[_0x69a8('0x1f')](_0x4fb1f3[_0x69a8('0x57')])?_0x4fb1f3['first_name']+'\x20'+_0x4fb1f3['last_name']:_0x4fb1f3[_0x69a8('0x46')],'id':_0x4fb1f3['id']};_0x22a284[_0x69a8('0x58')]=intUtil[_0x69a8('0x59')](_0x419822[_0x69a8('0x5a')],_0x813e19,'\x20');_0x22a284[_0x69a8('0x5b')]=intUtil['getString'](_0x419822['Descriptions'],_0x813e19,'\x0a');if(_0x270320['enduserType']===_0x69a8('0x4f')){_0x22a284[_0x69a8('0x5c')]={'name':!_[_0x69a8('0x1f')](_0x270320[_0x69a8('0x5d')])?_0x270320[_0x69a8('0x5d')]:!_['isNil'](_0x270320['First_Name'])?_0x270320[_0x69a8('0x5e')]+'\x20'+_0x270320[_0x69a8('0x5f')]:_0x270320[_0x69a8('0x5f')],'id':_0x270320['id']};}if(_0x270320[_0x69a8('0x41')]==='Leads'){_0x22a284[_0x69a8('0x60')]={'name':!_[_0x69a8('0x1f')](_0x270320[_0x69a8('0x5d')])?_0x270320['Full_Name']:!_[_0x69a8('0x1f')](_0x270320[_0x69a8('0x5e')])?_0x270320[_0x69a8('0x5e')]+'\x20'+_0x270320[_0x69a8('0x5f')]:_0x270320[_0x69a8('0x5f')],'id':_0x270320['id']};_0x22a284[_0x69a8('0x61')]=_['startCase'](_0x270320[_0x69a8('0x41')]);}if(_0x813e19[_0x69a8('0x62')]){_0x22a284[_0x69a8('0x63')]=moment[_0x69a8('0x64')](parseInt(_0x813e19[_0x69a8('0x62')])*0x3e8)[_0x69a8('0x36')](_0x69a8('0x65'));}else if(_0x813e19[_0x69a8('0x66')]&&_0x813e19[_0x69a8('0x67')]){_0x22a284[_0x69a8('0x63')]=moment[_0x69a8('0x64')](moment(_0x813e19[_0x69a8('0x67')],_0x69a8('0x68'))[_0x69a8('0x69')](moment(_0x813e19[_0x69a8('0x6a')],_0x69a8('0x68'))))['format'](_0x69a8('0x65'));}switch(_0x813e19['lastevent']){case _0x69a8('0x6b'):_0x22a284[_0x69a8('0x6c')]=_0x69a8('0x6d');break;case _0x69a8('0x6e'):case _0x69a8('0x6f'):_0x22a284[_0x69a8('0x6c')]='Answered';break;case'rejected':_0x22a284['Call_Result']=_0x69a8('0x70');break;case _0x69a8('0x71'):_0x22a284[_0x69a8('0x6c')]=_0x69a8('0x72');break;case'timeout':_0x22a284[_0x69a8('0x6c')]=_0x69a8('0x73');default:}_0x22a284[_0x69a8('0x74')]=(_0x5aed1a==='outbound'?moment(_0x813e19['starttime'])[_0x69a8('0x36')]('YYYY-MM-DDTHH:mm:ss'):moment(_0x813e19['agentcalledAt'])[_0x69a8('0x36')](_0x69a8('0x68')))||moment()[_0x69a8('0x36')](_0x69a8('0x68'));_0x22a284[_0x69a8('0x75')]=_0x5aed1a||'Inbound';_0x22a284=_[_0x69a8('0x76')](_0x22a284,getCustomFields(_0x419822[_0x69a8('0x77')],_0x813e19));return request({'method':_0x69a8('0x27'),'uri':_0x69a8('0x42')+_0x25683d+'/crm/v2/Calls','headers':{'Authorization':_0x69a8('0x38')+_0x36dd79},'body':{'data':[_0x22a284]},'json':!![]})[_0x69a8('0x2d')](function(_0x4862c6){if(_0x4862c6&&_0x4862c6[_0x69a8('0x40')][0x0]['code']===_0x69a8('0x47')){logger[_0x69a8('0x34')](_0x69a8('0x78'));return{'id':_0x4862c6['data'][0x0][_0x69a8('0x48')]['id']};}})[_0x69a8('0x30')](function(_0x44b7f3){logger[_0x69a8('0x34')](_0x69a8('0x79'),_0x44b7f3['stack']);console[_0x69a8('0x49')]('err',_0x44b7f3);});}exports[_0x69a8('0x7a')]=function(_0x46362b,_0x4d1d4f,_0xe5023,_0x237dab,_0x49026e,_0x386baf){var _0x135270,_0x3705ae,_0x28aab;_0x386baf[_0x69a8('0x7b')]=intUtil['stripTrailingSlash'](_0x386baf[_0x69a8('0x7b')]);_0x386baf[_0x69a8('0x7c')]=intUtil['stripTrailingSlash'](_0x386baf[_0x69a8('0x7c')]);if(_0x49026e&&_0x49026e[_0x69a8('0x7d')]){logger[_0x69a8('0x34')](_0x69a8('0x7e'),'Recording\x20is\x20enabled!');_0x4d1d4f['recordingURL']=_0x386baf[_0x69a8('0x7c')]+_0x69a8('0x7f')+_0x4d1d4f['uniqueid']+'/downloads?type=uniqueid&token='+md5(_0x4d1d4f[_0x69a8('0x80')]);}else{_0x4d1d4f[_0x69a8('0x81')]='';}var _0x58088a=_0x386baf['host']===_0x69a8('0x82')?'eu':_0x69a8('0x83');return getAccessToken(_0x386baf)[_0x69a8('0x2d')](function(_0x1e0268){_0x28aab=_0x1e0268;return getUser(_0x28aab,_0x58088a,_0x386baf,_0x237dab[_0x69a8('0x84')]);})['then'](function(_0x378e08){_0x135270=_0x378e08;logger[_0x69a8('0x34')]('The\x20User\x20ID\x20is:',_0x135270['id']);return getEndUser(_0x28aab,_0x58088a,_0x386baf,_0x4d1d4f[_0x69a8('0x85')],_0x4d1d4f[_0x69a8('0x86')],_0x135270,_0xe5023);})[_0x69a8('0x2d')](function(_0x5c6f20){_0x3705ae=_0x5c6f20;return getCall(_0x28aab,_0x58088a,_0x386baf,_0x135270,_0x3705ae,_0xe5023,_0x4d1d4f,_0x69a8('0x87'));})['then'](function(_0x5d8609){if(_0x5d8609){logger[_0x69a8('0x34')](_0x69a8('0x88'),_0x5d8609['id']);logger[_0x69a8('0x34')](_0x69a8('0x7e'),_0x69a8('0x89'));emit(util[_0x69a8('0x36')](_0x69a8('0x8a'),_0x237dab[_0x69a8('0x1b')]),_0x69a8('0x8b'),{'uri':_0x69a8('0x8c')+_0x386baf['host']+_0x69a8('0x8d')+_0x5d8609['id']});}})['catch'](function(_0x45d779){logger[_0x69a8('0x31')](_0x69a8('0x7e'),JSON[_0x69a8('0x10')](_0x45d779));});};exports['outbound']=function(_0x394130,_0x2baf82,_0x47854f,_0x421d24,_0x1fdffe,_0x106d5c,_0x228771){var _0x2b56fe,_0x347d79,_0x111d46;_0x106d5c[_0x69a8('0x7b')]=intUtil[_0x69a8('0x8e')](_0x106d5c[_0x69a8('0x7b')]);_0x106d5c[_0x69a8('0x7c')]=intUtil['stripTrailingSlash'](_0x106d5c[_0x69a8('0x7c')]);if(_0x228771&&_0x228771[_0x69a8('0x8f')]&&_0x228771['recordingFormat']!=='none'){logger[_0x69a8('0x34')]('[OUTBOUND]',_0x69a8('0x90'));_0x2baf82[_0x69a8('0x81')]=_0x106d5c[_0x69a8('0x7c')]+'/api/voice/recordings/'+_0x2baf82[_0x69a8('0x80')]+_0x69a8('0x91')+md5(_0x2baf82[_0x69a8('0x80')]);}var _0x1993c9=_0x106d5c['host']==='zoho.eu'?'eu':_0x69a8('0x83');return getAccessToken(_0x106d5c)['then'](function(_0x936ff6){_0x111d46=_0x936ff6;return getUser(_0x111d46,_0x1993c9,_0x106d5c,_0x421d24[_0x69a8('0x84')]);})['then'](function(_0x255a59){_0x2b56fe=_0x255a59;logger[_0x69a8('0x34')](_0x69a8('0x92'),_0x2b56fe['id']);return getEndUser(_0x111d46,_0x1993c9,_0x106d5c,_0x2baf82[_0x69a8('0x93')],_0x2baf82[_0x69a8('0x94')],_0x2b56fe,_0x47854f);})['then'](function(_0x196a0d){_0x347d79=_0x196a0d;return getCall(_0x111d46,_0x1993c9,_0x106d5c,_0x2b56fe,_0x347d79,_0x47854f,_0x2baf82,_0x69a8('0x95'));})[_0x69a8('0x2d')](function(_0x50e2ac){if(_0x50e2ac){logger[_0x69a8('0x34')](_0x69a8('0x88'),_0x50e2ac['id']);logger[_0x69a8('0x34')](_0x69a8('0x96'),_0x69a8('0x89'));emit(util[_0x69a8('0x36')]('user:%s',_0x421d24[_0x69a8('0x1b')]),_0x69a8('0x8b'),{'uri':_0x69a8('0x8c')+_0x106d5c[_0x69a8('0x7b')]+'/crm/EntityInfo.do?module=Calls&id='+_0x50e2ac['id']});}})['catch'](function(_0x271cfe){logger[_0x69a8('0x31')](_0x69a8('0x96'),JSON[_0x69a8('0x10')](_0x271cfe));});};exports[_0x69a8('0x97')]=function(_0x5888a3,_0x36d5a6,_0x384893,_0x238c82,_0x3d9efc,_0x1507a8){var _0x546a8f,_0x2c9b10,_0x258d51;_0x1507a8[_0x69a8('0x7b')]=intUtil[_0x69a8('0x8e')](_0x1507a8['host']);_0x1507a8['serverUrl']=intUtil[_0x69a8('0x8e')](_0x1507a8[_0x69a8('0x7c')]);if(_0x3d9efc&&_0x3d9efc['monitor_format']){logger[_0x69a8('0x34')]('['+_0x36d5a6['lastevent'][_0x69a8('0x98')]()+']',_0x69a8('0x90'));_0x36d5a6['recordingURL']=_0x1507a8['serverUrl']+_0x69a8('0x7f')+_0x36d5a6[_0x69a8('0x80')]+_0x69a8('0x91')+md5(_0x36d5a6[_0x69a8('0x80')]);}else{_0x36d5a6[_0x69a8('0x81')]='';}var _0x369459=_0x1507a8[_0x69a8('0x7b')]===_0x69a8('0x82')?'eu':_0x69a8('0x83');return getAccessToken(_0x1507a8)[_0x69a8('0x2d')](function(_0x1880fa){_0x258d51=_0x1880fa;return getUser(_0x258d51,_0x369459,_0x1507a8);})[_0x69a8('0x2d')](function(_0x3f4208){_0x546a8f=_0x3f4208;logger[_0x69a8('0x34')]('The\x20User\x20ID\x20is:',_0x546a8f['id']);return getEndUser(_0x258d51,_0x369459,_0x1507a8,_0x36d5a6[_0x69a8('0x85')],_0x36d5a6[_0x69a8('0x86')],_0x546a8f,_0x384893);})[_0x69a8('0x2d')](function(_0x3b0d29){_0x2c9b10=_0x3b0d29;return getCall(_0x258d51,_0x369459,_0x1507a8,_0x546a8f,_0x2c9b10,_0x384893,_0x36d5a6,_0x69a8('0x87'));})[_0x69a8('0x2d')](function(_0x35f82c){if(_0x35f82c){logger[_0x69a8('0x34')]('The\x20Call\x20ID\x20is:',_0x35f82c['id']);}})[_0x69a8('0x30')](function(_0x15d006){logger[_0x69a8('0x31')]('['+_0x36d5a6[_0x69a8('0x99')][_0x69a8('0x98')]()+']',JSON[_0x69a8('0x10')](_0x15d006));});};