Built motion from commit (unavailable).|2.2.0
[motion2.git] / server / services / ami / trigger / integration / zoho.js
index 630a6b8..12a0c28 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x24ca=['Agent\x20found!','Using\x20the\x20admin\x20account!','find','error','The\x20failing\x20result\x20is','stringify','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','Searching\x20enduser\x20with\x20phone','https://crm.%s/crm/private/json/Contacts/searchRecords','((Phone:%s))','Enduser\x20found\x20in\x20Contacts!','Contacts','row','length','val','content','Enduser\x20found\x20in\x20Leads!','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','https://crm.%s/crm/private/xml/Leads/insertRecords','<Leads><row\x20no=\x221\x22><FL\x20val=\x22First\x20Name\x22>%s</FL><FL\x20val=\x22Last\x20Name\x22>%s</FL><FL\x20val=\x22Phone\x22>%s</FL></row></Leads>','parse','https://crm.%s/crm/private/json/Leads/getRecordById','Error\x20on\x20Lead\x20creation:\x20','debug','forEach','type','string','idField','toString','variable','variableName','customVariable','name','toLowerCase','Variable','split','queue','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','serverUrl','uniqueid','email','The\x20User\x20ID\x20is:','calleridnum','The\x20Enduser\x20ID\x20is:','Inbound','The\x20Call\x20ID\x20is:','user:%s','https://crm.%s/crm/EntityInfo.do?module=Calls&id=%s','catch','recordingFormat','none','destcalleridname','destcalleridnum','Outbound','[OUTBOUND]','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','trigger:browser:url','[ABANDONED]','calleridname','lodash','md5','util','./util','entities','moment','ioredis','../../../../config/environment','../../../../config/logger','zoho','redis','defaults','localhost','socket.io-emitter','application/json','info','merge','inbound','outbound','agentcalledAt','format','YYYY-MM-DD\x20HH:mm:ss','getString','Subjects','Descriptions','called','Call\x20Result','connect','rejected','Rejected','abandoned','Abandoned','Call\x20Duration','utc','talktime','endtime','starttime','mm:ss','CONTACTID','LEADID','SEMODULE','Leads','<Calls><row\x20no=\x221\x22>','hasOwnProperty','<FL\x20val=\x22%s\x22>%s</FL>','encodeXML','</row></Calls>','POST','https://crm.%s/crm/private/xml/Calls/insertRecords','authToken','crmapi','then','toJson','response','result','recorddetail','Call\x20created!','Error\x20on\x20call\x20creation:\x20','GET','https://crm.%s/crm/private/json/Users/getUsers','host','users','user','Standard'];(function(_0x119629,_0x246787){var _0x49a771=function(_0x23624c){while(--_0x23624c){_0x119629['push'](_0x119629['shift']());}};_0x49a771(++_0x246787);}(_0x24ca,0x1bc));var _0xa24c=function(_0x18f64a,_0x1c8248){_0x18f64a=_0x18f64a-0x0;var _0x44687f=_0x24ca[_0x18f64a];return _0x44687f;};'use strict';var _=require(_0xa24c('0x0'));var rp=require('request-promise');var md5=require(_0xa24c('0x1'));var util=require(_0xa24c('0x2'));var intUtil=require(_0xa24c('0x3'));var parser=require('xml2json');var entities=require(_0xa24c('0x4'));var moment=require(_0xa24c('0x5'));var Redis=require(_0xa24c('0x6'));var config=require(_0xa24c('0x7'));var logger=require(_0xa24c('0x8'))(_0xa24c('0x9'));config[_0xa24c('0xa')]=_[_0xa24c('0xb')](config[_0xa24c('0xa')],{'host':_0xa24c('0xc'),'port':0x18eb});var io=require(_0xa24c('0xd'))(new Redis(config['redis']));function emit(_0x42d89c,_0x3a5727,_0x2d645c){io['to'](_0x42d89c)['emit'](_0x3a5727,_0x2d645c);}var headers={'Content-Type':_0xa24c('0xe'),'Accept':_0xa24c('0xe')};function getCall(_0x288f76,_0x211003,_0x169632,_0x43aa5a,_0x1a71a8,_0xc82af0){logger[_0xa24c('0xf')]('Creating\x20new\x20call...');var _0x43bcd3=_[_0xa24c('0x10')]({'SMOWNERID':_0x211003['id'],'Call Type':_0xc82af0||_0xa24c('0x11'),'Call Start Time':(_0xc82af0===_0xa24c('0x12')?_0x1a71a8['starttime']:_0x1a71a8[_0xa24c('0x13')])||moment()[_0xa24c('0x14')](_0xa24c('0x15')),'Subject':intUtil[_0xa24c('0x16')](_0x43aa5a[_0xa24c('0x17')],_0x1a71a8,'\x20'),'Description':intUtil[_0xa24c('0x16')](_0x43aa5a[_0xa24c('0x18')],_0x1a71a8,'\x0a')},getCustomFields(_0x43aa5a['Fields'],_0x1a71a8));switch(_0x1a71a8['lastevent']){case _0xa24c('0x19'):_0x43bcd3[_0xa24c('0x1a')]='Called';break;case'complete':case _0xa24c('0x1b'):_0x43bcd3[_0xa24c('0x1a')]='Answered';break;case _0xa24c('0x1c'):_0x43bcd3['Call\x20Result']=_0xa24c('0x1d');break;case _0xa24c('0x1e'):_0x43bcd3[_0xa24c('0x1a')]=_0xa24c('0x1f');break;default:}if(_0x1a71a8['talktime']){_0x43bcd3[_0xa24c('0x20')]=moment[_0xa24c('0x21')](parseInt(_0x1a71a8[_0xa24c('0x22')])*0x3e8)['format']('mm:ss');}else if(_0x1a71a8['answertime']&&_0x1a71a8['endtime']){_0x43bcd3[_0xa24c('0x20')]=moment[_0xa24c('0x21')](moment(_0x1a71a8[_0xa24c('0x23')],_0xa24c('0x15'))['diff'](moment(_0x1a71a8[_0xa24c('0x24')],'YYYY-MM-DD\x20HH:mm:ss')))[_0xa24c('0x14')](_0xa24c('0x25'));}if(_0x169632['CONTACTID']){_0x43bcd3[_0xa24c('0x26')]=_0x169632[_0xa24c('0x26')];}else if(_0x169632[_0xa24c('0x27')]){_0x43bcd3[_0xa24c('0x28')]=_0xa24c('0x29');_0x43bcd3['SEID']=_0x169632[_0xa24c('0x27')];}var _0x5cc9cb=_0xa24c('0x2a');for(var _0x3951ae in _0x43bcd3){if(_0x43bcd3[_0xa24c('0x2b')](_0x3951ae)){_0x5cc9cb+=util['format'](_0xa24c('0x2c'),entities[_0xa24c('0x2d')](_0x3951ae),entities[_0xa24c('0x2d')](_0x43bcd3[_0x3951ae]));}}_0x5cc9cb+=_0xa24c('0x2e');return request({'method':_0xa24c('0x2f'),'uri':util[_0xa24c('0x14')](_0xa24c('0x30'),_0x288f76['host']),'qs':{'authtoken':_0x288f76[_0xa24c('0x31')],'scope':_0xa24c('0x32'),'xmlData':_0x5cc9cb},'json':!![]})[_0xa24c('0x33')](function(_0x12dbdc){_0x12dbdc=JSON['parse'](parser[_0xa24c('0x34')](_0x12dbdc));if(_0x12dbdc[_0xa24c('0x35')]){if(_0x12dbdc[_0xa24c('0x35')]['result']&&_0x12dbdc[_0xa24c('0x35')][_0xa24c('0x36')][_0xa24c('0x37')]){logger['info'](_0xa24c('0x38'));return{'id':_0x12dbdc['response'][_0xa24c('0x36')][_0xa24c('0x37')]['FL'][0x0]['$t']};}}throw new Error(_0xa24c('0x39')+JSON['stringify'](_0x12dbdc));});}function getUser(_0x1f52f8,_0x53f90){_0x53f90&&logger[_0xa24c('0xf')]('Getting\x20agent\x20with\x20email',_0x53f90);return request({'method':_0xa24c('0x3a'),'uri':util['format'](_0xa24c('0x3b'),_0x1f52f8[_0xa24c('0x3c')]),'qs':{'type':'AllUsers','authtoken':_0x1f52f8['authToken'],'scope':_0xa24c('0x32')},'json':!![]})[_0xa24c('0x33')](function(_0x182e86){if(_0x182e86[_0xa24c('0x3d')]&&_0x182e86[_0xa24c('0x3d')][_0xa24c('0x3e')]){var _0x4416a4;if(_0x53f90){_0x4416a4=_['find'](_0x182e86[_0xa24c('0x3d')][_0xa24c('0x3e')],{'email':_0x53f90,'profile':_0xa24c('0x3f')});}if(_0x4416a4){logger[_0xa24c('0xf')](_0xa24c('0x40'));}else{logger[_0xa24c('0xf')](_0xa24c('0x41'));_0x4416a4=_[_0xa24c('0x42')](_0x182e86[_0xa24c('0x3d')][_0xa24c('0x3e')],{'profile':'Administrator'});}return _0x4416a4;}else{logger[_0xa24c('0x43')](_0xa24c('0x44'),JSON[_0xa24c('0x45')](_0x182e86));throw new Error(_0xa24c('0x46')+JSON['stringify'](_0x182e86));}});}function getEndUser(_0x56a485,_0x19a65f,_0x56ef4d){logger[_0xa24c('0xf')](_0xa24c('0x47'),_0x56ef4d);return request({'method':_0xa24c('0x3a'),'uri':util[_0xa24c('0x14')](_0xa24c('0x48'),_0x56a485['host']),'qs':{'authtoken':_0x56a485['authToken'],'scope':_0xa24c('0x32'),'criteria':util[_0xa24c('0x14')](_0xa24c('0x49'),_0x56ef4d)},'json':!![]})[_0xa24c('0x33')](function(_0x722488){if(_0x722488[_0xa24c('0x35')]&&_0x722488['response']['result']){logger[_0xa24c('0xf')](_0xa24c('0x4a'));var _0x4037d6={};var _0x2101f8=_0x722488[_0xa24c('0x35')]['result'][_0xa24c('0x4b')][_0xa24c('0x4c')]['no']?_0x722488['response']['result'][_0xa24c('0x4b')][_0xa24c('0x4c')]['FL']:_0x722488[_0xa24c('0x35')]['result']['Contacts'][_0xa24c('0x4c')][0x0]['FL'];for(var _0x32af67=0x0,_0x31048c=_0x2101f8[_0xa24c('0x4d')];_0x32af67<_0x31048c;_0x32af67++){_0x4037d6[_0x2101f8[_0x32af67][_0xa24c('0x4e')]]=_0x2101f8[_0x32af67][_0xa24c('0x4f')];}return _0x4037d6;}else{return request({'method':_0xa24c('0x3a'),'uri':util[_0xa24c('0x14')]('https://crm.%s/crm/private/json/Leads/searchRecords',_0x56a485['host']),'qs':{'authtoken':_0x56a485[_0xa24c('0x31')],'scope':_0xa24c('0x32'),'criteria':util[_0xa24c('0x14')]('((Phone:%s))',_0x56ef4d)},'json':!![]})[_0xa24c('0x33')](function(_0x51df93){if(_0x51df93[_0xa24c('0x35')]&&_0x51df93[_0xa24c('0x35')][_0xa24c('0x36')]){logger[_0xa24c('0xf')](_0xa24c('0x50'));var _0x35ed8a={};var _0x3f52fe=_0x51df93[_0xa24c('0x35')]['result'][_0xa24c('0x29')][_0xa24c('0x4c')]['no']?_0x51df93[_0xa24c('0x35')]['result'][_0xa24c('0x29')][_0xa24c('0x4c')]['FL']:_0x51df93[_0xa24c('0x35')][_0xa24c('0x36')][_0xa24c('0x29')][_0xa24c('0x4c')][0x0]['FL'];for(var _0x1a20bd=0x0,_0x46f725=_0x3f52fe[_0xa24c('0x4d')];_0x1a20bd<_0x46f725;_0x1a20bd++){_0x35ed8a[_0x3f52fe[_0x1a20bd][_0xa24c('0x4e')]]=_0x3f52fe[_0x1a20bd][_0xa24c('0x4f')];}return _0x35ed8a;}else{logger['info'](_0xa24c('0x51'));_0x19a65f=getName(_0x19a65f);return request({'method':_0xa24c('0x2f'),'uri':util[_0xa24c('0x14')](_0xa24c('0x52'),_0x56a485[_0xa24c('0x3c')]),'qs':{'authtoken':_0x56a485[_0xa24c('0x31')],'scope':_0xa24c('0x32'),'xmlData':util[_0xa24c('0x14')](_0xa24c('0x53'),entities['encodeXML'](_0x19a65f[0x0]),entities['encodeXML'](_0x19a65f[0x1]),_0x56ef4d)},'json':!![]})[_0xa24c('0x33')](function(_0x5c14df){_0x5c14df=JSON[_0xa24c('0x54')](parser[_0xa24c('0x34')](_0x5c14df));if(_0x5c14df['response']){if(_0x5c14df[_0xa24c('0x35')][_0xa24c('0x36')]&&_0x5c14df[_0xa24c('0x35')]['result']['recorddetail']){logger[_0xa24c('0xf')]('Enduser\x20created.');return request({'method':_0xa24c('0x3a'),'uri':util[_0xa24c('0x14')](_0xa24c('0x55'),_0x56a485[_0xa24c('0x3c')]),'qs':{'authtoken':_0x56a485[_0xa24c('0x31')],'scope':_0xa24c('0x32'),'id':_0x5c14df[_0xa24c('0x35')][_0xa24c('0x36')][_0xa24c('0x37')]['FL'][0x0]['$t']},'json':!![]});}}throw new Error(_0xa24c('0x56')+JSON['stringify'](_0x5c14df));})[_0xa24c('0x33')](function(_0x2759c1){if(_0x2759c1[_0xa24c('0x35')]){if(_0x2759c1['response']['result']){var _0x487cc9={};for(var _0x2da4f0=0x0,_0x5c2367=_0x2759c1[_0xa24c('0x35')][_0xa24c('0x36')]['Leads'][_0xa24c('0x4c')]['FL'][_0xa24c('0x4d')];_0x2da4f0<_0x5c2367;_0x2da4f0++){_0x487cc9[_0x2759c1[_0xa24c('0x35')][_0xa24c('0x36')][_0xa24c('0x29')][_0xa24c('0x4c')]['FL'][_0x2da4f0][_0xa24c('0x4e')]]=_0x2759c1[_0xa24c('0x35')]['result'][_0xa24c('0x29')]['row']['FL'][_0x2da4f0]['content'];}return _0x487cc9;}}throw new Error('Error\x20on\x20Lead\x20retrieve:\x20'+JSON['stringify'](_0x2759c1));});}});}});}function request(_0x49b0df){logger[_0xa24c('0x57')]('[HTTP]',JSON[_0xa24c('0x45')](_0x49b0df));return rp(_0x49b0df);}function getCustomFields(_0x3fd3f9,_0x5247f9){var _0x1a5f17={};if(_0x3fd3f9[_0xa24c('0x4d')]>0x0){_[_0xa24c('0x58')](_0x3fd3f9,function(_0x6f5aad){if(_0x6f5aad[_0xa24c('0x59')]===_0xa24c('0x5a')&&_0x6f5aad[_0xa24c('0x5b')]){_0x1a5f17[_0x6f5aad[_0xa24c('0x5b')]]=_0x6f5aad[_0xa24c('0x4f')][_0xa24c('0x5c')]();}else if(_0x6f5aad[_0xa24c('0x59')]===_0xa24c('0x5d')&&_0x6f5aad['variableName']&&_0x6f5aad[_0xa24c('0x5b')]&&_0x5247f9[_0x6f5aad[_0xa24c('0x5e')]]){_0x1a5f17[_0x6f5aad['idField']]=_0x5247f9[_0x6f5aad[_0xa24c('0x5e')]][_0xa24c('0x5c')]();}else if(_0x6f5aad[_0xa24c('0x59')]===_0xa24c('0x5f')&&_0x6f5aad['Variable']&&_0x6f5aad['Variable'][_0xa24c('0x60')]&&_0x6f5aad['idField']&&_0x5247f9[_0x6f5aad['Variable'][_0xa24c('0x60')][_0xa24c('0x61')]()]){_0x1a5f17[_0x6f5aad[_0xa24c('0x5b')]]=_0x5247f9[_0x6f5aad[_0xa24c('0x62')]['name']['toLowerCase']()][_0xa24c('0x5c')]();}});}return _0x1a5f17;}function getName(_0x512b6f){if(_0x512b6f['indexOf']('\x20')>0x0){var _0xfcc193=_0x512b6f[_0xa24c('0x63')](/ (.+)/);if(_0xfcc193[0x1]){return _0xfcc193;}}return[_0x512b6f,_0x512b6f];}exports[_0xa24c('0x64')]=function(_0x54528f,_0x2fbc8b,_0x128e5b,_0x5c3285,_0x37d4da,_0x3f306d){var _0x3096bf,_0x4bee5c;if(_0x37d4da&&_0x37d4da[_0xa24c('0x65')]){logger[_0xa24c('0xf')](_0xa24c('0x66'),_0xa24c('0x67'));_0x2fbc8b[_0xa24c('0x68')]=util['format'](_0xa24c('0x69'),_0x3f306d[_0xa24c('0x6a')],_0x2fbc8b[_0xa24c('0x6b')],md5(_0x2fbc8b[_0xa24c('0x6b')]));}else{_0x2fbc8b[_0xa24c('0x68')]='';}return getUser(_0x3f306d,_0x5c3285[_0xa24c('0x6c')])[_0xa24c('0x33')](function(_0x4f4ed9){_0x3096bf=_0x4f4ed9;logger[_0xa24c('0xf')](_0xa24c('0x6d'),_0x3096bf['id']);return getEndUser(_0x3f306d,_0x2fbc8b['calleridname'],_0x2fbc8b[_0xa24c('0x6e')]);})[_0xa24c('0x33')](function(_0x14da5e){_0x4bee5c=_0x14da5e;logger[_0xa24c('0xf')](_0xa24c('0x6f'),_0x4bee5c[_0xa24c('0x26')]||_0x4bee5c[_0xa24c('0x27')]);return getCall(_0x3f306d,_0x3096bf,_0x4bee5c,_0x128e5b,_0x2fbc8b,_0xa24c('0x70'));})[_0xa24c('0x33')](function(_0x32ddc3){if(_0x32ddc3){logger['info'](_0xa24c('0x71'),_0x32ddc3['id']);logger[_0xa24c('0xf')](_0xa24c('0x66'),'Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0xa24c('0x14')](_0xa24c('0x72'),_0x5c3285[_0xa24c('0x60')]),'trigger:browser:url',{'uri':util[_0xa24c('0x14')](_0xa24c('0x73'),_0x3f306d[_0xa24c('0x3c')],_0x32ddc3['id'])});}})[_0xa24c('0x74')](function(_0x320901){logger[_0xa24c('0x43')]('[QUEUE]',JSON['stringify'](_0x320901));});};exports[_0xa24c('0x12')]=function(_0x4b281b,_0x16678e,_0x1879ae,_0x26427c,_0x4073c5,_0x12d715,_0x58e328){var _0x1f7b20,_0x39c76a;if(_0x58e328&&_0x58e328[_0xa24c('0x75')]&&_0x58e328[_0xa24c('0x75')]!==_0xa24c('0x76')){logger[_0xa24c('0xf')]('[OUTBOUND]',_0xa24c('0x67'));_0x16678e[_0xa24c('0x68')]=util[_0xa24c('0x14')](_0xa24c('0x69'),_0x12d715['serverUrl'],_0x16678e[_0xa24c('0x6b')],md5(_0x16678e['uniqueid']));}return getUser(_0x12d715,_0x26427c[_0xa24c('0x6c')])[_0xa24c('0x33')](function(_0x342442){_0x1f7b20=_0x342442;logger[_0xa24c('0xf')]('The\x20User\x20ID\x20is:',_0x1f7b20['id']);return getEndUser(_0x12d715,_0x16678e[_0xa24c('0x77')],_0x16678e[_0xa24c('0x78')]);})['then'](function(_0x8e5e2a){_0x39c76a=_0x8e5e2a;logger[_0xa24c('0xf')](_0xa24c('0x6f'),_0x39c76a[_0xa24c('0x26')]||_0x39c76a[_0xa24c('0x27')]);return getCall(_0x12d715,_0x1f7b20,_0x39c76a,_0x1879ae,_0x16678e,_0xa24c('0x79'));})[_0xa24c('0x33')](function(_0x37089c){if(_0x37089c){logger['info'](_0xa24c('0x71'),_0x37089c['id']);logger[_0xa24c('0xf')](_0xa24c('0x7a'),_0xa24c('0x7b'));emit(util[_0xa24c('0x14')](_0xa24c('0x72'),_0x26427c[_0xa24c('0x60')]),_0xa24c('0x7c'),{'uri':util[_0xa24c('0x14')](_0xa24c('0x73'),_0x12d715[_0xa24c('0x3c')],_0x37089c['id'])});}})['catch'](function(_0x283c5b){logger[_0xa24c('0x43')]('[OUTBOUND]',JSON[_0xa24c('0x45')](_0x283c5b));});};exports[_0xa24c('0x1e')]=function(_0x1f7c59,_0x4f0f11,_0x5b4468,_0xf03c2f,_0x4c9b19,_0x53928f){var _0x105ed5,_0x3101d5;if(_0x4c9b19&&_0x4c9b19[_0xa24c('0x65')]){logger[_0xa24c('0xf')](_0xa24c('0x7d'),_0xa24c('0x67'));_0x4f0f11['recordingURL']=util['format']('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x53928f[_0xa24c('0x6a')],_0x4f0f11['uniqueid'],md5(_0x4f0f11['uniqueid']));}else{_0x4f0f11[_0xa24c('0x68')]='';}return getUser(_0x53928f)[_0xa24c('0x33')](function(_0x32d14a){_0x105ed5=_0x32d14a;logger[_0xa24c('0xf')](_0xa24c('0x6d'),_0x105ed5['id']);return getEndUser(_0x53928f,_0x4f0f11[_0xa24c('0x7e')],_0x4f0f11[_0xa24c('0x6e')]);})[_0xa24c('0x33')](function(_0x2544fc){_0x3101d5=_0x2544fc;logger['info'](_0xa24c('0x6f'),_0x3101d5[_0xa24c('0x26')]||_0x3101d5[_0xa24c('0x27')]);return getCall(_0x53928f,_0x105ed5,_0x3101d5,_0x5b4468,_0x4f0f11,_0xa24c('0x70'));})[_0xa24c('0x33')](function(_0x84aa80){if(_0x84aa80){logger[_0xa24c('0xf')](_0xa24c('0x71'),_0x84aa80['id']);}})[_0xa24c('0x74')](function(_0x3c5495){logger[_0xa24c('0x43')](_0xa24c('0x7d'),JSON['stringify'](_0x3c5495));});};
\ No newline at end of file
+var _0x3f8a=['Leads','SEID','<Calls><row\x20no=\x221\x22>','hasOwnProperty','<FL\x20val=\x22%s\x22>%s</FL>','encodeXML','POST','https://crm.%s/crm/private/xml/Calls/insertRecords','host','authToken','then','parse','toJson','response','result','recorddetail','Call\x20created!','Error\x20on\x20call\x20creation:\x20','stringify','Getting\x20agent\x20with\x20email','GET','https://crm.%s/crm/private/json/Users/getUsers','users','user','find','Standard','Agent\x20found!','Using\x20the\x20admin\x20account!','The\x20failing\x20result\x20is','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','Searching\x20enduser\x20with\x20phone','crmapi','((Phone:%s))','Enduser\x20found\x20in\x20Contacts!','row','Contacts','length','val','content','Enduser\x20found\x20in\x20Leads!','https://crm.%s/crm/private/xml/Leads/insertRecords','<Leads><row\x20no=\x221\x22><FL\x20val=\x22First\x20Name\x22>%s</FL><FL\x20val=\x22Last\x20Name\x22>%s</FL><FL\x20val=\x22Phone\x22>%s</FL></row></Leads>','https://crm.%s/crm/private/json/Leads/getRecordById','Error\x20on\x20Lead\x20creation:\x20','debug','type','string','idField','variable','variableName','Variable','name','toLowerCase','toString','indexOf','split','monitor_format','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','serverUrl','uniqueid','email','The\x20User\x20ID\x20is:','calleridname','calleridnum','The\x20Enduser\x20ID\x20is:','Inbound','The\x20Call\x20ID\x20is:','[QUEUE]','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','https://crm.%s/crm/EntityInfo.do?module=Calls&id=%s','catch','recordingFormat','none','Recording\x20is\x20enabled!','destcalleridname','Outbound','[OUTBOUND]','[ABANDONED]','error','lodash','request-promise','md5','util','xml2json','entities','moment','ioredis','../../../../config/environment','../../../../config/logger','zoho','redis','defaults','localhost','socket.io-emitter','emit','application/json','info','Creating\x20new\x20call...','merge','inbound','outbound','starttime','agentcalledAt','format','YYYY-MM-DD\x20HH:mm:ss','Subjects','getString','Descriptions','Fields','called','Call\x20Result','Called','complete','connect','Answered','rejected','Rejected','talktime','Call\x20Duration','utc','mm:ss','endtime','diff','CONTACTID','LEADID','SEMODULE'];(function(_0x371aa,_0x37b901){var _0x447795=function(_0xb9f71b){while(--_0xb9f71b){_0x371aa['push'](_0x371aa['shift']());}};_0x447795(++_0x37b901);}(_0x3f8a,0x1d5));var _0xa3f8=function(_0x3fab74,_0x5bbebe){_0x3fab74=_0x3fab74-0x0;var _0x4e0112=_0x3f8a[_0x3fab74];return _0x4e0112;};'use strict';var _=require(_0xa3f8('0x0'));var rp=require(_0xa3f8('0x1'));var md5=require(_0xa3f8('0x2'));var util=require(_0xa3f8('0x3'));var intUtil=require('./util');var parser=require(_0xa3f8('0x4'));var entities=require(_0xa3f8('0x5'));var moment=require(_0xa3f8('0x6'));var Redis=require(_0xa3f8('0x7'));var config=require(_0xa3f8('0x8'));var logger=require(_0xa3f8('0x9'))(_0xa3f8('0xa'));config[_0xa3f8('0xb')]=_[_0xa3f8('0xc')](config[_0xa3f8('0xb')],{'host':_0xa3f8('0xd'),'port':0x18eb});var io=require(_0xa3f8('0xe'))(new Redis(config[_0xa3f8('0xb')]));function emit(_0x2448de,_0x2c89bb,_0x350935){io['to'](_0x2448de)[_0xa3f8('0xf')](_0x2c89bb,_0x350935);}var headers={'Content-Type':'application/json','Accept':_0xa3f8('0x10')};function getCall(_0x13a082,_0x3c1833,_0x22dcda,_0x53cf1f,_0x206b69,_0x26f0a0){logger[_0xa3f8('0x11')](_0xa3f8('0x12'));var _0xd97ac9=_[_0xa3f8('0x13')]({'SMOWNERID':_0x3c1833['id'],'Call Type':_0x26f0a0||_0xa3f8('0x14'),'Call Start Time':(_0x26f0a0===_0xa3f8('0x15')?_0x206b69[_0xa3f8('0x16')]:_0x206b69[_0xa3f8('0x17')])||moment()[_0xa3f8('0x18')](_0xa3f8('0x19')),'Subject':intUtil['getString'](_0x53cf1f[_0xa3f8('0x1a')],_0x206b69,'\x20'),'Description':intUtil[_0xa3f8('0x1b')](_0x53cf1f[_0xa3f8('0x1c')],_0x206b69,'\x0a')},getCustomFields(_0x53cf1f[_0xa3f8('0x1d')],_0x206b69));switch(_0x206b69['lastevent']){case _0xa3f8('0x1e'):_0xd97ac9[_0xa3f8('0x1f')]=_0xa3f8('0x20');break;case _0xa3f8('0x21'):case _0xa3f8('0x22'):_0xd97ac9[_0xa3f8('0x1f')]=_0xa3f8('0x23');break;case _0xa3f8('0x24'):_0xd97ac9[_0xa3f8('0x1f')]=_0xa3f8('0x25');break;case'abandoned':_0xd97ac9[_0xa3f8('0x1f')]='Abandoned';break;default:}if(_0x206b69[_0xa3f8('0x26')]){_0xd97ac9[_0xa3f8('0x27')]=moment[_0xa3f8('0x28')](parseInt(_0x206b69[_0xa3f8('0x26')])*0x3e8)['format'](_0xa3f8('0x29'));}else if(_0x206b69['answertime']&&_0x206b69[_0xa3f8('0x2a')]){_0xd97ac9['Call\x20Duration']=moment[_0xa3f8('0x28')](moment(_0x206b69[_0xa3f8('0x2a')],_0xa3f8('0x19'))[_0xa3f8('0x2b')](moment(_0x206b69[_0xa3f8('0x16')],_0xa3f8('0x19'))))[_0xa3f8('0x18')]('mm:ss');}if(_0x22dcda[_0xa3f8('0x2c')]){_0xd97ac9['CONTACTID']=_0x22dcda[_0xa3f8('0x2c')];}else if(_0x22dcda[_0xa3f8('0x2d')]){_0xd97ac9[_0xa3f8('0x2e')]=_0xa3f8('0x2f');_0xd97ac9[_0xa3f8('0x30')]=_0x22dcda[_0xa3f8('0x2d')];}var _0x6e3cb4=_0xa3f8('0x31');for(var _0x1e22b8 in _0xd97ac9){if(_0xd97ac9[_0xa3f8('0x32')](_0x1e22b8)){_0x6e3cb4+=util['format'](_0xa3f8('0x33'),entities[_0xa3f8('0x34')](_0x1e22b8),entities[_0xa3f8('0x34')](_0xd97ac9[_0x1e22b8]));}}_0x6e3cb4+='</row></Calls>';return request({'method':_0xa3f8('0x35'),'uri':util['format'](_0xa3f8('0x36'),_0x13a082[_0xa3f8('0x37')]),'qs':{'authtoken':_0x13a082[_0xa3f8('0x38')],'scope':'crmapi','xmlData':_0x6e3cb4},'json':!![]})[_0xa3f8('0x39')](function(_0x5e69e2){_0x5e69e2=JSON[_0xa3f8('0x3a')](parser[_0xa3f8('0x3b')](_0x5e69e2));if(_0x5e69e2[_0xa3f8('0x3c')]){if(_0x5e69e2[_0xa3f8('0x3c')][_0xa3f8('0x3d')]&&_0x5e69e2[_0xa3f8('0x3c')][_0xa3f8('0x3d')][_0xa3f8('0x3e')]){logger[_0xa3f8('0x11')](_0xa3f8('0x3f'));return{'id':_0x5e69e2[_0xa3f8('0x3c')]['result'][_0xa3f8('0x3e')]['FL'][0x0]['$t']};}}throw new Error(_0xa3f8('0x40')+JSON[_0xa3f8('0x41')](_0x5e69e2));});}function getUser(_0x1954f5,_0x3bb4b0){_0x3bb4b0&&logger['info'](_0xa3f8('0x42'),_0x3bb4b0);return request({'method':_0xa3f8('0x43'),'uri':util['format'](_0xa3f8('0x44'),_0x1954f5[_0xa3f8('0x37')]),'qs':{'type':'AllUsers','authtoken':_0x1954f5[_0xa3f8('0x38')],'scope':'crmapi'},'json':!![]})['then'](function(_0x129190){if(_0x129190[_0xa3f8('0x45')]&&_0x129190['users'][_0xa3f8('0x46')]){var _0x51079c;if(_0x3bb4b0){_0x51079c=_[_0xa3f8('0x47')](_0x129190[_0xa3f8('0x45')][_0xa3f8('0x46')],{'email':_0x3bb4b0,'profile':_0xa3f8('0x48')});}if(_0x51079c){logger['info'](_0xa3f8('0x49'));}else{logger['info'](_0xa3f8('0x4a'));_0x51079c=_['find'](_0x129190[_0xa3f8('0x45')]['user'],{'profile':'Administrator'});}return _0x51079c;}else{logger['error'](_0xa3f8('0x4b'),JSON[_0xa3f8('0x41')](_0x129190));throw new Error(_0xa3f8('0x4c')+JSON[_0xa3f8('0x41')](_0x129190));}});}function getEndUser(_0x4b93ba,_0x447824,_0x18b9bc){logger[_0xa3f8('0x11')](_0xa3f8('0x4d'),_0x18b9bc);return request({'method':_0xa3f8('0x43'),'uri':util[_0xa3f8('0x18')]('https://crm.%s/crm/private/json/Contacts/searchRecords',_0x4b93ba[_0xa3f8('0x37')]),'qs':{'authtoken':_0x4b93ba[_0xa3f8('0x38')],'scope':_0xa3f8('0x4e'),'criteria':util['format'](_0xa3f8('0x4f'),_0x18b9bc)},'json':!![]})[_0xa3f8('0x39')](function(_0x5ce212){if(_0x5ce212[_0xa3f8('0x3c')]&&_0x5ce212['response'][_0xa3f8('0x3d')]){logger['info'](_0xa3f8('0x50'));var _0x174182={};var _0x9a00e7=_0x5ce212[_0xa3f8('0x3c')][_0xa3f8('0x3d')]['Contacts'][_0xa3f8('0x51')]['no']?_0x5ce212[_0xa3f8('0x3c')]['result'][_0xa3f8('0x52')]['row']['FL']:_0x5ce212[_0xa3f8('0x3c')][_0xa3f8('0x3d')][_0xa3f8('0x52')][_0xa3f8('0x51')][0x0]['FL'];for(var _0x357712=0x0,_0x4d2b8b=_0x9a00e7[_0xa3f8('0x53')];_0x357712<_0x4d2b8b;_0x357712++){_0x174182[_0x9a00e7[_0x357712][_0xa3f8('0x54')]]=_0x9a00e7[_0x357712][_0xa3f8('0x55')];}return _0x174182;}else{return request({'method':_0xa3f8('0x43'),'uri':util[_0xa3f8('0x18')]('https://crm.%s/crm/private/json/Leads/searchRecords',_0x4b93ba[_0xa3f8('0x37')]),'qs':{'authtoken':_0x4b93ba[_0xa3f8('0x38')],'scope':_0xa3f8('0x4e'),'criteria':util[_0xa3f8('0x18')](_0xa3f8('0x4f'),_0x18b9bc)},'json':!![]})[_0xa3f8('0x39')](function(_0x497217){if(_0x497217[_0xa3f8('0x3c')]&&_0x497217[_0xa3f8('0x3c')][_0xa3f8('0x3d')]){logger[_0xa3f8('0x11')](_0xa3f8('0x56'));var _0x21ec92={};var _0x4da3be=_0x497217['response']['result'][_0xa3f8('0x2f')][_0xa3f8('0x51')]['no']?_0x497217[_0xa3f8('0x3c')][_0xa3f8('0x3d')][_0xa3f8('0x2f')][_0xa3f8('0x51')]['FL']:_0x497217['response'][_0xa3f8('0x3d')][_0xa3f8('0x2f')][_0xa3f8('0x51')][0x0]['FL'];for(var _0xd820=0x0,_0x591e34=_0x4da3be[_0xa3f8('0x53')];_0xd820<_0x591e34;_0xd820++){_0x21ec92[_0x4da3be[_0xd820][_0xa3f8('0x54')]]=_0x4da3be[_0xd820][_0xa3f8('0x55')];}return _0x21ec92;}else{logger['info']('Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!');_0x447824=getName(_0x447824);return request({'method':'POST','uri':util[_0xa3f8('0x18')](_0xa3f8('0x57'),_0x4b93ba['host']),'qs':{'authtoken':_0x4b93ba[_0xa3f8('0x38')],'scope':_0xa3f8('0x4e'),'xmlData':util[_0xa3f8('0x18')](_0xa3f8('0x58'),entities[_0xa3f8('0x34')](_0x447824[0x0]),entities[_0xa3f8('0x34')](_0x447824[0x1]),_0x18b9bc)},'json':!![]})[_0xa3f8('0x39')](function(_0x37fa3d){_0x37fa3d=JSON[_0xa3f8('0x3a')](parser[_0xa3f8('0x3b')](_0x37fa3d));if(_0x37fa3d[_0xa3f8('0x3c')]){if(_0x37fa3d[_0xa3f8('0x3c')][_0xa3f8('0x3d')]&&_0x37fa3d[_0xa3f8('0x3c')][_0xa3f8('0x3d')][_0xa3f8('0x3e')]){logger[_0xa3f8('0x11')]('Enduser\x20created.');return request({'method':'GET','uri':util[_0xa3f8('0x18')](_0xa3f8('0x59'),_0x4b93ba['host']),'qs':{'authtoken':_0x4b93ba[_0xa3f8('0x38')],'scope':_0xa3f8('0x4e'),'id':_0x37fa3d[_0xa3f8('0x3c')][_0xa3f8('0x3d')][_0xa3f8('0x3e')]['FL'][0x0]['$t']},'json':!![]});}}throw new Error(_0xa3f8('0x5a')+JSON[_0xa3f8('0x41')](_0x37fa3d));})[_0xa3f8('0x39')](function(_0x1dffab){if(_0x1dffab[_0xa3f8('0x3c')]){if(_0x1dffab[_0xa3f8('0x3c')][_0xa3f8('0x3d')]){var _0x26df9d={};for(var _0x39faad=0x0,_0x1b8787=_0x1dffab[_0xa3f8('0x3c')]['result']['Leads'][_0xa3f8('0x51')]['FL']['length'];_0x39faad<_0x1b8787;_0x39faad++){_0x26df9d[_0x1dffab[_0xa3f8('0x3c')][_0xa3f8('0x3d')][_0xa3f8('0x2f')]['row']['FL'][_0x39faad][_0xa3f8('0x54')]]=_0x1dffab[_0xa3f8('0x3c')][_0xa3f8('0x3d')][_0xa3f8('0x2f')]['row']['FL'][_0x39faad][_0xa3f8('0x55')];}return _0x26df9d;}}throw new Error('Error\x20on\x20Lead\x20retrieve:\x20'+JSON[_0xa3f8('0x41')](_0x1dffab));});}});}});}function request(_0x2ad553){logger[_0xa3f8('0x5b')]('[HTTP]',JSON['stringify'](_0x2ad553));return rp(_0x2ad553);}function getCustomFields(_0x333fef,_0x1ef464){var _0x30407a={};if(_0x333fef[_0xa3f8('0x53')]>0x0){_['forEach'](_0x333fef,function(_0x36eac9){if(_0x36eac9[_0xa3f8('0x5c')]===_0xa3f8('0x5d')&&_0x36eac9[_0xa3f8('0x5e')]){_0x30407a[_0x36eac9[_0xa3f8('0x5e')]]=_0x36eac9['content']['toString']();}else if(_0x36eac9[_0xa3f8('0x5c')]===_0xa3f8('0x5f')&&_0x36eac9[_0xa3f8('0x60')]&&_0x36eac9[_0xa3f8('0x5e')]&&_0x1ef464[_0x36eac9[_0xa3f8('0x60')]]){_0x30407a[_0x36eac9[_0xa3f8('0x5e')]]=_0x1ef464[_0x36eac9[_0xa3f8('0x60')]]['toString']();}else if(_0x36eac9['type']==='customVariable'&&_0x36eac9[_0xa3f8('0x61')]&&_0x36eac9[_0xa3f8('0x61')][_0xa3f8('0x62')]&&_0x36eac9[_0xa3f8('0x5e')]&&_0x1ef464[_0x36eac9[_0xa3f8('0x61')][_0xa3f8('0x62')][_0xa3f8('0x63')]()]){_0x30407a[_0x36eac9[_0xa3f8('0x5e')]]=_0x1ef464[_0x36eac9['Variable'][_0xa3f8('0x62')][_0xa3f8('0x63')]()][_0xa3f8('0x64')]();}});}return _0x30407a;}function getName(_0x42e3f8){if(_0x42e3f8[_0xa3f8('0x65')]('\x20')>0x0){var _0x1fcd44=_0x42e3f8[_0xa3f8('0x66')](/ (.+)/);if(_0x1fcd44[0x1]){return _0x1fcd44;}}return[_0x42e3f8,_0x42e3f8];}exports['queue']=function(_0x33ea06,_0x2f7ca1,_0x5b1a01,_0x23614c,_0x331629,_0x44d566){var _0x2bf252,_0x11f5f7;if(_0x331629&&_0x331629[_0xa3f8('0x67')]){logger[_0xa3f8('0x11')]('[QUEUE]','Recording\x20is\x20enabled!');_0x2f7ca1[_0xa3f8('0x68')]=util['format'](_0xa3f8('0x69'),_0x44d566[_0xa3f8('0x6a')],_0x2f7ca1[_0xa3f8('0x6b')],md5(_0x2f7ca1[_0xa3f8('0x6b')]));}else{_0x2f7ca1[_0xa3f8('0x68')]='';}return getUser(_0x44d566,_0x23614c[_0xa3f8('0x6c')])[_0xa3f8('0x39')](function(_0x14508d){_0x2bf252=_0x14508d;logger[_0xa3f8('0x11')](_0xa3f8('0x6d'),_0x2bf252['id']);return getEndUser(_0x44d566,_0x2f7ca1[_0xa3f8('0x6e')],_0x2f7ca1[_0xa3f8('0x6f')]);})[_0xa3f8('0x39')](function(_0x519fa4){_0x11f5f7=_0x519fa4;logger[_0xa3f8('0x11')](_0xa3f8('0x70'),_0x11f5f7[_0xa3f8('0x2c')]||_0x11f5f7[_0xa3f8('0x2d')]);return getCall(_0x44d566,_0x2bf252,_0x11f5f7,_0x5b1a01,_0x2f7ca1,_0xa3f8('0x71'));})[_0xa3f8('0x39')](function(_0x4b6169){if(_0x4b6169){logger[_0xa3f8('0x11')](_0xa3f8('0x72'),_0x4b6169['id']);logger[_0xa3f8('0x11')](_0xa3f8('0x73'),_0xa3f8('0x74'));emit(util[_0xa3f8('0x18')](_0xa3f8('0x75'),_0x23614c[_0xa3f8('0x62')]),_0xa3f8('0x76'),{'uri':util[_0xa3f8('0x18')](_0xa3f8('0x77'),_0x44d566['host'],_0x4b6169['id'])});}})[_0xa3f8('0x78')](function(_0x1b6343){logger['error']('[QUEUE]',JSON[_0xa3f8('0x41')](_0x1b6343));});};exports[_0xa3f8('0x15')]=function(_0x2c0f71,_0x1b3cd9,_0x1563a4,_0x219d84,_0xe06bc2,_0x3614d2,_0x4f5f62){var _0xf76898,_0x3c30d0;if(_0x4f5f62&&_0x4f5f62[_0xa3f8('0x79')]&&_0x4f5f62['recordingFormat']!==_0xa3f8('0x7a')){logger[_0xa3f8('0x11')]('[OUTBOUND]',_0xa3f8('0x7b'));_0x1b3cd9[_0xa3f8('0x68')]=util[_0xa3f8('0x18')](_0xa3f8('0x69'),_0x3614d2[_0xa3f8('0x6a')],_0x1b3cd9[_0xa3f8('0x6b')],md5(_0x1b3cd9[_0xa3f8('0x6b')]));}return getUser(_0x3614d2,_0x219d84[_0xa3f8('0x6c')])[_0xa3f8('0x39')](function(_0x55087e){_0xf76898=_0x55087e;logger[_0xa3f8('0x11')]('The\x20User\x20ID\x20is:',_0xf76898['id']);return getEndUser(_0x3614d2,_0x1b3cd9[_0xa3f8('0x7c')],_0x1b3cd9['destcalleridnum']);})[_0xa3f8('0x39')](function(_0xe52095){_0x3c30d0=_0xe52095;logger[_0xa3f8('0x11')](_0xa3f8('0x70'),_0x3c30d0[_0xa3f8('0x2c')]||_0x3c30d0['LEADID']);return getCall(_0x3614d2,_0xf76898,_0x3c30d0,_0x1563a4,_0x1b3cd9,_0xa3f8('0x7d'));})[_0xa3f8('0x39')](function(_0x4c6781){if(_0x4c6781){logger[_0xa3f8('0x11')](_0xa3f8('0x72'),_0x4c6781['id']);logger[_0xa3f8('0x11')](_0xa3f8('0x7e'),_0xa3f8('0x74'));emit(util[_0xa3f8('0x18')]('user:%s',_0x219d84[_0xa3f8('0x62')]),_0xa3f8('0x76'),{'uri':util[_0xa3f8('0x18')]('https://crm.%s/crm/EntityInfo.do?module=Calls&id=%s',_0x3614d2[_0xa3f8('0x37')],_0x4c6781['id'])});}})['catch'](function(_0x3a63fa){logger['error']('[OUTBOUND]',JSON[_0xa3f8('0x41')](_0x3a63fa));});};exports['abandoned']=function(_0x2349ba,_0x5f174a,_0x38fc48,_0x15c280,_0x279131,_0x3c2af6){var _0x55bb2c,_0xb9a8c;if(_0x279131&&_0x279131[_0xa3f8('0x67')]){logger['info'](_0xa3f8('0x7f'),_0xa3f8('0x7b'));_0x5f174a[_0xa3f8('0x68')]=util[_0xa3f8('0x18')](_0xa3f8('0x69'),_0x3c2af6[_0xa3f8('0x6a')],_0x5f174a[_0xa3f8('0x6b')],md5(_0x5f174a[_0xa3f8('0x6b')]));}else{_0x5f174a[_0xa3f8('0x68')]='';}return getUser(_0x3c2af6)[_0xa3f8('0x39')](function(_0x54d932){_0x55bb2c=_0x54d932;logger[_0xa3f8('0x11')](_0xa3f8('0x6d'),_0x55bb2c['id']);return getEndUser(_0x3c2af6,_0x5f174a[_0xa3f8('0x6e')],_0x5f174a[_0xa3f8('0x6f')]);})[_0xa3f8('0x39')](function(_0x1ca93c){_0xb9a8c=_0x1ca93c;logger[_0xa3f8('0x11')](_0xa3f8('0x70'),_0xb9a8c[_0xa3f8('0x2c')]||_0xb9a8c['LEADID']);return getCall(_0x3c2af6,_0x55bb2c,_0xb9a8c,_0x38fc48,_0x5f174a,_0xa3f8('0x71'));})[_0xa3f8('0x39')](function(_0x3f6834){if(_0x3f6834){logger[_0xa3f8('0x11')](_0xa3f8('0x72'),_0x3f6834['id']);}})[_0xa3f8('0x78')](function(_0x599484){logger[_0xa3f8('0x80')](_0xa3f8('0x7f'),JSON[_0xa3f8('0x41')](_0x599484));});};
\ No newline at end of file