Built motion from commit (unavailable).|2.3.4
[motion2.git] / server / services / ami / trigger / integration / zoho.js
index 8deaeb5..89cdc9d 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x5ad3=['Subjects','getString','Fields','Call\x20Result','Called','complete','Answered','rejected','Rejected','abandoned','Abandoned','talktime','answertime','endtime','utc','diff','starttime','mm:ss','CONTACTID','LEADID','SEMODULE','SEID','<Calls><row\x20no=\x221\x22>','<FL\x20val=\x22%s\x22>%s</FL>','encodeXML','</row></Calls>','POST','https://crm.%s/crm/private/xml/Calls/insertRecords','authToken','crmapi','then','parse','response','Error\x20on\x20call\x20creation:\x20','GET','https://crm.%s/crm/private/json/Users/getUsers','AllUsers','users','user','Standard','Agent\x20found!','Using\x20the\x20admin\x20account!','find','Administrator','error','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','stringify','Searching\x20enduser\x20with\x20phone','host','((Phone:%s))','result','Contacts','row','length','content','https://crm.%s/crm/private/json/Leads/searchRecords','Leads','val','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>','recorddetail','Enduser\x20created.','https://crm.%s/crm/private/json/Leads/getRecordById','Error\x20on\x20Lead\x20creation:\x20','Error\x20on\x20Lead\x20retrieve:\x20','debug','[HTTP]','type','string','idField','toString','variable','variableName','Variable','name','toLowerCase','indexOf','split','serverUrl','stripTrailingSlash','monitor_format','[QUEUE]','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','The\x20User\x20ID\x20is:','calleridname','The\x20Enduser\x20ID\x20is:','Inbound','The\x20Call\x20ID\x20is:','https://crm.%s/crm/EntityInfo.do?module=Calls&id=%s','recordingFormat','none','Recording\x20is\x20enabled!','email','destcalleridname','destcalleridnum','Outbound','[OUTBOUND]','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','[ABANDONED]','catch','lodash','request-promise','md5','util','xml2json','entities','moment','ioredis','../../../../config/environment','../../../../config/logger','zoho','redis','defaults','socket.io-emitter','application/json','info','Creating\x20new\x20call...','merge','inbound','agentcalledAt','format','YYYY-MM-DD\x20HH:mm:ss'];(function(_0x229008,_0x41acde){var _0x53a0b7=function(_0x43cc35){while(--_0x43cc35){_0x229008['push'](_0x229008['shift']());}};_0x53a0b7(++_0x41acde);}(_0x5ad3,0x1e2));var _0x35ad=function(_0x2967c1,_0x202a72){_0x2967c1=_0x2967c1-0x0;var _0x103397=_0x5ad3[_0x2967c1];return _0x103397;};'use strict';var _=require(_0x35ad('0x0'));var rp=require(_0x35ad('0x1'));var md5=require(_0x35ad('0x2'));var util=require(_0x35ad('0x3'));var intUtil=require('./util');var parser=require(_0x35ad('0x4'));var entities=require(_0x35ad('0x5'));var moment=require(_0x35ad('0x6'));var Redis=require(_0x35ad('0x7'));var config=require(_0x35ad('0x8'));var logger=require(_0x35ad('0x9'))(_0x35ad('0xa'));config[_0x35ad('0xb')]=_[_0x35ad('0xc')](config[_0x35ad('0xb')],{'host':'localhost','port':0x18eb});var io=require(_0x35ad('0xd'))(new Redis(config[_0x35ad('0xb')]));function emit(_0x3f1f55,_0x5400f3,_0x2498c1){io['to'](_0x3f1f55)['emit'](_0x5400f3,_0x2498c1);}var headers={'Content-Type':'application/json','Accept':_0x35ad('0xe')};function getCall(_0x3e9830,_0x4881d1,_0x34c2cb,_0x3a70a9,_0x4ad760,_0x4b31a1){logger[_0x35ad('0xf')](_0x35ad('0x10'));var _0x4cf6bd=_[_0x35ad('0x11')]({'SMOWNERID':_0x4881d1['id'],'Call Type':_0x4b31a1||_0x35ad('0x12'),'Call Start Time':(_0x4b31a1==='outbound'?_0x4ad760['starttime']:_0x4ad760[_0x35ad('0x13')])||moment()[_0x35ad('0x14')](_0x35ad('0x15')),'Subject':intUtil['getString'](_0x3a70a9[_0x35ad('0x16')],_0x4ad760,'\x20'),'Description':intUtil[_0x35ad('0x17')](_0x3a70a9['Descriptions'],_0x4ad760,'\x0a')},getCustomFields(_0x3a70a9[_0x35ad('0x18')],_0x4ad760));switch(_0x4ad760['lastevent']){case'called':_0x4cf6bd[_0x35ad('0x19')]=_0x35ad('0x1a');break;case _0x35ad('0x1b'):case'connect':_0x4cf6bd[_0x35ad('0x19')]=_0x35ad('0x1c');break;case _0x35ad('0x1d'):_0x4cf6bd[_0x35ad('0x19')]=_0x35ad('0x1e');break;case _0x35ad('0x1f'):_0x4cf6bd['Call\x20Result']=_0x35ad('0x20');break;default:}if(_0x4ad760[_0x35ad('0x21')]){_0x4cf6bd['Call\x20Duration']=moment['utc'](parseInt(_0x4ad760[_0x35ad('0x21')])*0x3e8)[_0x35ad('0x14')]('mm:ss');}else if(_0x4ad760[_0x35ad('0x22')]&&_0x4ad760[_0x35ad('0x23')]){_0x4cf6bd['Call\x20Duration']=moment[_0x35ad('0x24')](moment(_0x4ad760[_0x35ad('0x23')],_0x35ad('0x15'))[_0x35ad('0x25')](moment(_0x4ad760[_0x35ad('0x26')],_0x35ad('0x15'))))[_0x35ad('0x14')](_0x35ad('0x27'));}if(_0x34c2cb[_0x35ad('0x28')]){_0x4cf6bd[_0x35ad('0x28')]=_0x34c2cb['CONTACTID'];}else if(_0x34c2cb[_0x35ad('0x29')]){_0x4cf6bd[_0x35ad('0x2a')]='Leads';_0x4cf6bd[_0x35ad('0x2b')]=_0x34c2cb[_0x35ad('0x29')];}var _0xa3cb9f=_0x35ad('0x2c');for(var _0x368468 in _0x4cf6bd){if(_0x4cf6bd['hasOwnProperty'](_0x368468)){_0xa3cb9f+=util[_0x35ad('0x14')](_0x35ad('0x2d'),entities[_0x35ad('0x2e')](_0x368468),entities[_0x35ad('0x2e')](_0x4cf6bd[_0x368468]));}}_0xa3cb9f+=_0x35ad('0x2f');return request({'method':_0x35ad('0x30'),'uri':util[_0x35ad('0x14')](_0x35ad('0x31'),_0x3e9830['host']),'qs':{'authtoken':_0x3e9830[_0x35ad('0x32')],'scope':_0x35ad('0x33'),'xmlData':_0xa3cb9f},'json':!![]})[_0x35ad('0x34')](function(_0x34b8b9){_0x34b8b9=JSON[_0x35ad('0x35')](parser['toJson'](_0x34b8b9));if(_0x34b8b9['response']){if(_0x34b8b9[_0x35ad('0x36')]['result']&&_0x34b8b9[_0x35ad('0x36')]['result']['recorddetail']){logger['info']('Call\x20created!');return{'id':_0x34b8b9[_0x35ad('0x36')]['result']['recorddetail']['FL'][0x0]['$t']};}}throw new Error(_0x35ad('0x37')+JSON['stringify'](_0x34b8b9));});}function getUser(_0x3d5670,_0x51cf37){return request({'method':_0x35ad('0x38'),'uri':util['format'](_0x35ad('0x39'),_0x3d5670['host']),'qs':{'type':_0x35ad('0x3a'),'authtoken':_0x3d5670[_0x35ad('0x32')],'scope':_0x35ad('0x33')},'json':!![]})['then'](function(_0x2852e2){if(_0x2852e2[_0x35ad('0x3b')]&&_0x2852e2[_0x35ad('0x3b')][_0x35ad('0x3c')]){var _0x3cb239;if(_0x51cf37){_0x3cb239=_['find'](_0x2852e2['users'][_0x35ad('0x3c')],{'email':_0x51cf37,'profile':_0x35ad('0x3d')});}if(_0x3cb239){logger[_0x35ad('0xf')](_0x35ad('0x3e'));}else{logger['info'](_0x35ad('0x3f'));_0x3cb239=_[_0x35ad('0x40')](_0x2852e2[_0x35ad('0x3b')][_0x35ad('0x3c')],{'profile':_0x35ad('0x41')});}return _0x3cb239;}else{logger[_0x35ad('0x42')]('The\x20failing\x20result\x20is',JSON['stringify'](_0x2852e2));throw new Error(_0x35ad('0x43')+JSON[_0x35ad('0x44')](_0x2852e2));}});}function getEndUser(_0x1d24bb,_0x448abf,_0x3c9f2e){logger[_0x35ad('0xf')](_0x35ad('0x45'),_0x3c9f2e);return request({'method':_0x35ad('0x38'),'uri':util[_0x35ad('0x14')]('https://crm.%s/crm/private/json/Contacts/searchRecords',_0x1d24bb[_0x35ad('0x46')]),'qs':{'authtoken':_0x1d24bb['authToken'],'scope':_0x35ad('0x33'),'criteria':util[_0x35ad('0x14')](_0x35ad('0x47'),_0x3c9f2e)},'json':!![]})[_0x35ad('0x34')](function(_0x1ad7e6){if(_0x1ad7e6[_0x35ad('0x36')]&&_0x1ad7e6[_0x35ad('0x36')][_0x35ad('0x48')]){logger[_0x35ad('0xf')]('Enduser\x20found\x20in\x20Contacts!');var _0x200e4d={};var _0x3eda4a=_0x1ad7e6[_0x35ad('0x36')]['result'][_0x35ad('0x49')][_0x35ad('0x4a')]['no']?_0x1ad7e6[_0x35ad('0x36')][_0x35ad('0x48')][_0x35ad('0x49')][_0x35ad('0x4a')]['FL']:_0x1ad7e6[_0x35ad('0x36')][_0x35ad('0x48')][_0x35ad('0x49')][_0x35ad('0x4a')][0x0]['FL'];for(var _0x21d730=0x0,_0x557bf4=_0x3eda4a[_0x35ad('0x4b')];_0x21d730<_0x557bf4;_0x21d730++){_0x200e4d[_0x3eda4a[_0x21d730]['val']]=_0x3eda4a[_0x21d730][_0x35ad('0x4c')];}return _0x200e4d;}else{return request({'method':_0x35ad('0x38'),'uri':util[_0x35ad('0x14')](_0x35ad('0x4d'),_0x1d24bb[_0x35ad('0x46')]),'qs':{'authtoken':_0x1d24bb[_0x35ad('0x32')],'scope':_0x35ad('0x33'),'criteria':util[_0x35ad('0x14')](_0x35ad('0x47'),_0x3c9f2e)},'json':!![]})['then'](function(_0xdf7e22){if(_0xdf7e22[_0x35ad('0x36')]&&_0xdf7e22[_0x35ad('0x36')][_0x35ad('0x48')]){logger[_0x35ad('0xf')]('Enduser\x20found\x20in\x20Leads!');var _0x331cd5={};var _0x2ac7f4=_0xdf7e22['response']['result'][_0x35ad('0x4e')][_0x35ad('0x4a')]['no']?_0xdf7e22[_0x35ad('0x36')][_0x35ad('0x48')]['Leads'][_0x35ad('0x4a')]['FL']:_0xdf7e22[_0x35ad('0x36')][_0x35ad('0x48')][_0x35ad('0x4e')][_0x35ad('0x4a')][0x0]['FL'];for(var _0x2cbbdc=0x0,_0x3ea556=_0x2ac7f4['length'];_0x2cbbdc<_0x3ea556;_0x2cbbdc++){_0x331cd5[_0x2ac7f4[_0x2cbbdc][_0x35ad('0x4f')]]=_0x2ac7f4[_0x2cbbdc][_0x35ad('0x4c')];}return _0x331cd5;}else{logger[_0x35ad('0xf')]('Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!');_0x448abf=getName(_0x448abf);return request({'method':'POST','uri':util['format'](_0x35ad('0x50'),_0x1d24bb[_0x35ad('0x46')]),'qs':{'authtoken':_0x1d24bb[_0x35ad('0x32')],'scope':_0x35ad('0x33'),'xmlData':util['format'](_0x35ad('0x51'),entities[_0x35ad('0x2e')](_0x448abf[0x0]),entities[_0x35ad('0x2e')](_0x448abf[0x1]),_0x3c9f2e)},'json':!![]})[_0x35ad('0x34')](function(_0x43d1ab){_0x43d1ab=JSON[_0x35ad('0x35')](parser['toJson'](_0x43d1ab));if(_0x43d1ab['response']){if(_0x43d1ab[_0x35ad('0x36')][_0x35ad('0x48')]&&_0x43d1ab['response']['result'][_0x35ad('0x52')]){logger[_0x35ad('0xf')](_0x35ad('0x53'));return request({'method':'GET','uri':util['format'](_0x35ad('0x54'),_0x1d24bb[_0x35ad('0x46')]),'qs':{'authtoken':_0x1d24bb[_0x35ad('0x32')],'scope':'crmapi','id':_0x43d1ab[_0x35ad('0x36')][_0x35ad('0x48')][_0x35ad('0x52')]['FL'][0x0]['$t']},'json':!![]});}}throw new Error(_0x35ad('0x55')+JSON[_0x35ad('0x44')](_0x43d1ab));})[_0x35ad('0x34')](function(_0x53a536){if(_0x53a536[_0x35ad('0x36')]){if(_0x53a536[_0x35ad('0x36')][_0x35ad('0x48')]){var _0x5773c6={};for(var _0x325b2a=0x0,_0x2e0f1f=_0x53a536[_0x35ad('0x36')][_0x35ad('0x48')]['Leads']['row']['FL'][_0x35ad('0x4b')];_0x325b2a<_0x2e0f1f;_0x325b2a++){_0x5773c6[_0x53a536[_0x35ad('0x36')][_0x35ad('0x48')][_0x35ad('0x4e')][_0x35ad('0x4a')]['FL'][_0x325b2a]['val']]=_0x53a536[_0x35ad('0x36')][_0x35ad('0x48')][_0x35ad('0x4e')][_0x35ad('0x4a')]['FL'][_0x325b2a][_0x35ad('0x4c')];}return _0x5773c6;}}throw new Error(_0x35ad('0x56')+JSON['stringify'](_0x53a536));});}});}});}function request(_0x579090){logger[_0x35ad('0x57')](_0x35ad('0x58'),JSON[_0x35ad('0x44')](_0x579090));return rp(_0x579090);}function getCustomFields(_0x30ebff,_0x1043cd){var _0x12774d={};if(_0x30ebff[_0x35ad('0x4b')]>0x0){_['forEach'](_0x30ebff,function(_0x1da9a7){if(_0x1da9a7[_0x35ad('0x59')]===_0x35ad('0x5a')&&_0x1da9a7[_0x35ad('0x5b')]){_0x12774d[_0x1da9a7['idField']]=_0x1da9a7[_0x35ad('0x4c')][_0x35ad('0x5c')]();}else if(_0x1da9a7['type']===_0x35ad('0x5d')&&_0x1da9a7[_0x35ad('0x5e')]&&_0x1da9a7[_0x35ad('0x5b')]&&_0x1043cd[_0x1da9a7[_0x35ad('0x5e')]]){_0x12774d[_0x1da9a7[_0x35ad('0x5b')]]=_0x1043cd[_0x1da9a7[_0x35ad('0x5e')]][_0x35ad('0x5c')]();}else if(_0x1da9a7[_0x35ad('0x59')]==='customVariable'&&_0x1da9a7[_0x35ad('0x5f')]&&_0x1da9a7[_0x35ad('0x5f')][_0x35ad('0x60')]&&_0x1da9a7['idField']&&_0x1043cd[_0x1da9a7[_0x35ad('0x5f')]['name'][_0x35ad('0x61')]()]){_0x12774d[_0x1da9a7[_0x35ad('0x5b')]]=_0x1043cd[_0x1da9a7[_0x35ad('0x5f')][_0x35ad('0x60')]['toLowerCase']()][_0x35ad('0x5c')]();}});}return _0x12774d;}function getName(_0x47420e){if(_0x47420e[_0x35ad('0x62')]('\x20')>0x0){var _0x148649=_0x47420e[_0x35ad('0x63')](/ (.+)/);if(_0x148649[0x1]){return _0x148649;}}return[_0x47420e,_0x47420e];}exports['queue']=function(_0x23d9e7,_0x50fe98,_0xd4766f,_0x43b372,_0x4951dc,_0x10cab4){var _0x5ab841,_0x80e87f;_0x10cab4[_0x35ad('0x46')]=intUtil['stripTrailingSlash'](_0x10cab4[_0x35ad('0x46')]);_0x10cab4[_0x35ad('0x64')]=intUtil[_0x35ad('0x65')](_0x10cab4[_0x35ad('0x64')]);if(_0x4951dc&&_0x4951dc[_0x35ad('0x66')]){logger[_0x35ad('0xf')](_0x35ad('0x67'),'Recording\x20is\x20enabled!');_0x50fe98[_0x35ad('0x68')]=util[_0x35ad('0x14')](_0x35ad('0x69'),_0x10cab4[_0x35ad('0x64')],_0x50fe98[_0x35ad('0x6a')],md5(_0x50fe98[_0x35ad('0x6a')]));}else{_0x50fe98[_0x35ad('0x68')]='';}return getUser(_0x10cab4,_0x43b372['email'])[_0x35ad('0x34')](function(_0x42c85b){_0x5ab841=_0x42c85b;logger[_0x35ad('0xf')](_0x35ad('0x6b'),_0x5ab841['id']);return getEndUser(_0x10cab4,_0x50fe98[_0x35ad('0x6c')],_0x50fe98['calleridnum']);})[_0x35ad('0x34')](function(_0x7c15a6){_0x80e87f=_0x7c15a6;logger['info'](_0x35ad('0x6d'),_0x80e87f[_0x35ad('0x28')]||_0x80e87f[_0x35ad('0x29')]);return getCall(_0x10cab4,_0x5ab841,_0x80e87f,_0xd4766f,_0x50fe98,_0x35ad('0x6e'));})['then'](function(_0x351f14){if(_0x351f14){logger['info'](_0x35ad('0x6f'),_0x351f14['id']);logger[_0x35ad('0xf')](_0x35ad('0x67'),'Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0x35ad('0x14')]('user:%s',_0x43b372[_0x35ad('0x60')]),'trigger:browser:url',{'uri':util['format'](_0x35ad('0x70'),_0x10cab4[_0x35ad('0x46')],_0x351f14['id'])});}})['catch'](function(_0x29337b){logger[_0x35ad('0x42')](_0x35ad('0x67'),JSON['stringify'](_0x29337b));});};exports['outbound']=function(_0x54d138,_0x54a89a,_0x3f98a2,_0x1a9fbf,_0x424d69,_0x35bcc0,_0x1dc9f0){var _0xfb488c,_0x4b6f5b;_0x35bcc0[_0x35ad('0x46')]=intUtil[_0x35ad('0x65')](_0x35bcc0['host']);_0x35bcc0[_0x35ad('0x64')]=intUtil[_0x35ad('0x65')](_0x35bcc0['serverUrl']);if(_0x1dc9f0&&_0x1dc9f0[_0x35ad('0x71')]&&_0x1dc9f0[_0x35ad('0x71')]!==_0x35ad('0x72')){logger[_0x35ad('0xf')]('[OUTBOUND]',_0x35ad('0x73'));_0x54a89a[_0x35ad('0x68')]=util[_0x35ad('0x14')](_0x35ad('0x69'),_0x35bcc0[_0x35ad('0x64')],_0x54a89a[_0x35ad('0x6a')],md5(_0x54a89a[_0x35ad('0x6a')]));}return getUser(_0x35bcc0,_0x1a9fbf[_0x35ad('0x74')])[_0x35ad('0x34')](function(_0x2bc48d){_0xfb488c=_0x2bc48d;logger['info']('The\x20User\x20ID\x20is:',_0xfb488c['id']);return getEndUser(_0x35bcc0,_0x54a89a[_0x35ad('0x75')],_0x54a89a[_0x35ad('0x76')]);})['then'](function(_0x41d174){_0x4b6f5b=_0x41d174;logger[_0x35ad('0xf')](_0x35ad('0x6d'),_0x4b6f5b[_0x35ad('0x28')]||_0x4b6f5b[_0x35ad('0x29')]);return getCall(_0x35bcc0,_0xfb488c,_0x4b6f5b,_0x3f98a2,_0x54a89a,_0x35ad('0x77'));})['then'](function(_0x62e5bf){if(_0x62e5bf){logger[_0x35ad('0xf')](_0x35ad('0x6f'),_0x62e5bf['id']);logger[_0x35ad('0xf')](_0x35ad('0x78'),_0x35ad('0x79'));emit(util[_0x35ad('0x14')](_0x35ad('0x7a'),_0x1a9fbf['name']),_0x35ad('0x7b'),{'uri':util[_0x35ad('0x14')](_0x35ad('0x70'),_0x35bcc0[_0x35ad('0x46')],_0x62e5bf['id'])});}})['catch'](function(_0x44d0ff){logger['error'](_0x35ad('0x78'),JSON['stringify'](_0x44d0ff));});};exports['abandoned']=function(_0x7b2480,_0x308daf,_0x1c7558,_0x5522d8,_0x3106bf,_0x52c478){var _0x4125ed,_0x1fd4d4;_0x52c478[_0x35ad('0x46')]=intUtil[_0x35ad('0x65')](_0x52c478['host']);_0x52c478[_0x35ad('0x64')]=intUtil['stripTrailingSlash'](_0x52c478[_0x35ad('0x64')]);if(_0x3106bf&&_0x3106bf['monitor_format']){logger[_0x35ad('0xf')](_0x35ad('0x7c'),'Recording\x20is\x20enabled!');_0x308daf['recordingURL']=util['format'](_0x35ad('0x69'),_0x52c478[_0x35ad('0x64')],_0x308daf[_0x35ad('0x6a')],md5(_0x308daf[_0x35ad('0x6a')]));}else{_0x308daf[_0x35ad('0x68')]='';}return getUser(_0x52c478)['then'](function(_0x518980){_0x4125ed=_0x518980;logger[_0x35ad('0xf')]('The\x20User\x20ID\x20is:',_0x4125ed['id']);return getEndUser(_0x52c478,_0x308daf[_0x35ad('0x6c')],_0x308daf['calleridnum']);})[_0x35ad('0x34')](function(_0x343eb4){_0x1fd4d4=_0x343eb4;logger[_0x35ad('0xf')](_0x35ad('0x6d'),_0x1fd4d4['CONTACTID']||_0x1fd4d4[_0x35ad('0x29')]);return getCall(_0x52c478,_0x4125ed,_0x1fd4d4,_0x1c7558,_0x308daf,_0x35ad('0x6e'));})[_0x35ad('0x34')](function(_0x3b7c41){if(_0x3b7c41){logger[_0x35ad('0xf')](_0x35ad('0x6f'),_0x3b7c41['id']);}})[_0x35ad('0x7d')](function(_0x2a2699){logger['error'](_0x35ad('0x7c'),JSON[_0x35ad('0x44')](_0x2a2699));});};
\ No newline at end of file
+var _0xb458=['[OUTBOUND]','The\x20User\x20ID\x20is:','destcalleridname','destcalleridnum','The\x20Enduser\x20ID\x20is:','[ABANDONED]','Inbound','lodash','request-promise','md5','xml2json','entities','moment','ioredis','../../../../config/logger','defaults','redis','localhost','socket.io-emitter','emit','application/json','Creating\x20new\x20call...','merge','outbound','starttime','agentcalledAt','format','YYYY-MM-DD\x20HH:mm:ss','getString','Descriptions','Fields','lastevent','called','Call\x20Result','Called','complete','connect','Answered','rejected','Rejected','abandoned','Abandoned','talktime','Call\x20Duration','mm:ss','answertime','endtime','utc','CONTACTID','LEADID','SEMODULE','hasOwnProperty','<FL\x20val=\x22%s\x22>%s</FL>','encodeXML','</row></Calls>','POST','https://crm.%s/crm/private/xml/Calls/insertRecords','host','authToken','crmapi','then','parse','toJson','response','result','recorddetail','info','Call\x20created!','stringify','GET','users','user','find','Standard','Agent\x20found!','Using\x20the\x20admin\x20account!','Administrator','The\x20failing\x20result\x20is','Unable\x20to\x20retrieve\x20zoho\x20account\x20users:\x20','Searching\x20enduser\x20with\x20phone','((Phone:%s))','Enduser\x20found\x20in\x20Contacts!','Contacts','row','length','val','content','Enduser\x20found\x20in\x20Leads!','Leads','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','Error\x20on\x20Lead\x20retrieve:\x20','debug','[HTTP]','forEach','type','idField','toString','variable','variableName','customVariable','Variable','name','toLowerCase','indexOf','split','queue','serverUrl','stripTrailingSlash','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','email','calleridnum','The\x20Call\x20ID\x20is:','Displaying\x20call\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','catch','error','recordingFormat'];(function(_0xcf8cfc,_0x20a2e3){var _0x4899ef=function(_0x77bd9){while(--_0x77bd9){_0xcf8cfc['push'](_0xcf8cfc['shift']());}};_0x4899ef(++_0x20a2e3);}(_0xb458,0x103));var _0x8b45=function(_0x3ed203,_0x4e3a3c){_0x3ed203=_0x3ed203-0x0;var _0x558502=_0xb458[_0x3ed203];return _0x558502;};'use strict';var _=require(_0x8b45('0x0'));var rp=require(_0x8b45('0x1'));var md5=require(_0x8b45('0x2'));var util=require('util');var intUtil=require('./util');var parser=require(_0x8b45('0x3'));var entities=require(_0x8b45('0x4'));var moment=require(_0x8b45('0x5'));var Redis=require(_0x8b45('0x6'));var config=require('../../../../config/environment');var logger=require(_0x8b45('0x7'))('zoho');config['redis']=_[_0x8b45('0x8')](config[_0x8b45('0x9')],{'host':_0x8b45('0xa'),'port':0x18eb});var io=require(_0x8b45('0xb'))(new Redis(config[_0x8b45('0x9')]));function emit(_0x4d1718,_0xa54725,_0x12bea8){io['to'](_0x4d1718)[_0x8b45('0xc')](_0xa54725,_0x12bea8);}var headers={'Content-Type':_0x8b45('0xd'),'Accept':_0x8b45('0xd')};function getCall(_0x499899,_0x2a4c83,_0x7cc49b,_0x57faf9,_0x5316af,_0x5bb708){logger['info'](_0x8b45('0xe'));var _0x285728=_[_0x8b45('0xf')]({'SMOWNERID':_0x2a4c83['id'],'Call Type':_0x5bb708||'inbound','Call Start Time':(_0x5bb708===_0x8b45('0x10')?_0x5316af[_0x8b45('0x11')]:_0x5316af[_0x8b45('0x12')])||moment()[_0x8b45('0x13')](_0x8b45('0x14')),'Subject':intUtil[_0x8b45('0x15')](_0x57faf9['Subjects'],_0x5316af,'\x20'),'Description':intUtil['getString'](_0x57faf9[_0x8b45('0x16')],_0x5316af,'\x0a')},getCustomFields(_0x57faf9[_0x8b45('0x17')],_0x5316af));switch(_0x5316af[_0x8b45('0x18')]){case _0x8b45('0x19'):_0x285728[_0x8b45('0x1a')]=_0x8b45('0x1b');break;case _0x8b45('0x1c'):case _0x8b45('0x1d'):_0x285728[_0x8b45('0x1a')]=_0x8b45('0x1e');break;case _0x8b45('0x1f'):_0x285728[_0x8b45('0x1a')]=_0x8b45('0x20');break;case _0x8b45('0x21'):_0x285728[_0x8b45('0x1a')]=_0x8b45('0x22');break;default:}if(_0x5316af[_0x8b45('0x23')]){_0x285728[_0x8b45('0x24')]=moment['utc'](parseInt(_0x5316af[_0x8b45('0x23')])*0x3e8)[_0x8b45('0x13')](_0x8b45('0x25'));}else if(_0x5316af[_0x8b45('0x26')]&&_0x5316af[_0x8b45('0x27')]){_0x285728[_0x8b45('0x24')]=moment[_0x8b45('0x28')](moment(_0x5316af[_0x8b45('0x27')],'YYYY-MM-DD\x20HH:mm:ss')['diff'](moment(_0x5316af[_0x8b45('0x11')],'YYYY-MM-DD\x20HH:mm:ss')))[_0x8b45('0x13')](_0x8b45('0x25'));}if(_0x7cc49b[_0x8b45('0x29')]){_0x285728[_0x8b45('0x29')]=_0x7cc49b[_0x8b45('0x29')];}else if(_0x7cc49b[_0x8b45('0x2a')]){_0x285728[_0x8b45('0x2b')]='Leads';_0x285728['SEID']=_0x7cc49b[_0x8b45('0x2a')];}var _0x2c2c06='<Calls><row\x20no=\x221\x22>';for(var _0x5723a2 in _0x285728){if(_0x285728[_0x8b45('0x2c')](_0x5723a2)){_0x2c2c06+=util[_0x8b45('0x13')](_0x8b45('0x2d'),entities[_0x8b45('0x2e')](_0x5723a2),entities['encodeXML'](_0x285728[_0x5723a2]));}}_0x2c2c06+=_0x8b45('0x2f');return request({'method':_0x8b45('0x30'),'uri':util[_0x8b45('0x13')](_0x8b45('0x31'),_0x499899[_0x8b45('0x32')]),'qs':{'authtoken':_0x499899[_0x8b45('0x33')],'scope':_0x8b45('0x34'),'xmlData':_0x2c2c06},'json':!![]})[_0x8b45('0x35')](function(_0x1733a7){_0x1733a7=JSON[_0x8b45('0x36')](parser[_0x8b45('0x37')](_0x1733a7));if(_0x1733a7[_0x8b45('0x38')]){if(_0x1733a7[_0x8b45('0x38')]['result']&&_0x1733a7[_0x8b45('0x38')][_0x8b45('0x39')][_0x8b45('0x3a')]){logger[_0x8b45('0x3b')](_0x8b45('0x3c'));return{'id':_0x1733a7[_0x8b45('0x38')][_0x8b45('0x39')][_0x8b45('0x3a')]['FL'][0x0]['$t']};}}throw new Error('Error\x20on\x20call\x20creation:\x20'+JSON[_0x8b45('0x3d')](_0x1733a7));});}function getUser(_0x3a5889,_0x50302){return request({'method':_0x8b45('0x3e'),'uri':util[_0x8b45('0x13')]('https://crm.%s/crm/private/json/Users/getUsers',_0x3a5889[_0x8b45('0x32')]),'qs':{'type':'AllUsers','authtoken':_0x3a5889['authToken'],'scope':_0x8b45('0x34')},'json':!![]})[_0x8b45('0x35')](function(_0xd3ba91){if(_0xd3ba91[_0x8b45('0x3f')]&&_0xd3ba91[_0x8b45('0x3f')][_0x8b45('0x40')]){var _0x522628;if(_0x50302){_0x522628=_[_0x8b45('0x41')](_0xd3ba91[_0x8b45('0x3f')][_0x8b45('0x40')],{'email':_0x50302,'profile':_0x8b45('0x42')});}if(_0x522628){logger['info'](_0x8b45('0x43'));}else{logger[_0x8b45('0x3b')](_0x8b45('0x44'));_0x522628=_['find'](_0xd3ba91[_0x8b45('0x3f')][_0x8b45('0x40')],{'profile':_0x8b45('0x45')});}return _0x522628;}else{logger['error'](_0x8b45('0x46'),JSON[_0x8b45('0x3d')](_0xd3ba91));throw new Error(_0x8b45('0x47')+JSON[_0x8b45('0x3d')](_0xd3ba91));}});}function getEndUser(_0x58d94f,_0x14788c,_0x1077bd){logger[_0x8b45('0x3b')](_0x8b45('0x48'),_0x1077bd);return request({'method':_0x8b45('0x3e'),'uri':util[_0x8b45('0x13')]('https://crm.%s/crm/private/json/Contacts/searchRecords',_0x58d94f['host']),'qs':{'authtoken':_0x58d94f[_0x8b45('0x33')],'scope':_0x8b45('0x34'),'criteria':util[_0x8b45('0x13')](_0x8b45('0x49'),_0x1077bd)},'json':!![]})[_0x8b45('0x35')](function(_0x4c4dbc){if(_0x4c4dbc[_0x8b45('0x38')]&&_0x4c4dbc['response'][_0x8b45('0x39')]){logger[_0x8b45('0x3b')](_0x8b45('0x4a'));var _0x280bb0={};var _0x254f17=_0x4c4dbc[_0x8b45('0x38')][_0x8b45('0x39')][_0x8b45('0x4b')][_0x8b45('0x4c')]['no']?_0x4c4dbc[_0x8b45('0x38')][_0x8b45('0x39')]['Contacts'][_0x8b45('0x4c')]['FL']:_0x4c4dbc['response'][_0x8b45('0x39')]['Contacts'][_0x8b45('0x4c')][0x0]['FL'];for(var _0x224c45=0x0,_0x117f25=_0x254f17[_0x8b45('0x4d')];_0x224c45<_0x117f25;_0x224c45++){_0x280bb0[_0x254f17[_0x224c45][_0x8b45('0x4e')]]=_0x254f17[_0x224c45][_0x8b45('0x4f')];}return _0x280bb0;}else{return request({'method':'GET','uri':util[_0x8b45('0x13')]('https://crm.%s/crm/private/json/Leads/searchRecords',_0x58d94f['host']),'qs':{'authtoken':_0x58d94f[_0x8b45('0x33')],'scope':_0x8b45('0x34'),'criteria':util[_0x8b45('0x13')]('((Phone:%s))',_0x1077bd)},'json':!![]})[_0x8b45('0x35')](function(_0x56317d){if(_0x56317d[_0x8b45('0x38')]&&_0x56317d[_0x8b45('0x38')][_0x8b45('0x39')]){logger[_0x8b45('0x3b')](_0x8b45('0x50'));var _0x4da68f={};var _0x526c90=_0x56317d[_0x8b45('0x38')][_0x8b45('0x39')][_0x8b45('0x51')][_0x8b45('0x4c')]['no']?_0x56317d[_0x8b45('0x38')][_0x8b45('0x39')][_0x8b45('0x51')][_0x8b45('0x4c')]['FL']:_0x56317d[_0x8b45('0x38')][_0x8b45('0x39')][_0x8b45('0x51')][_0x8b45('0x4c')][0x0]['FL'];for(var _0x1a87e4=0x0,_0x2cf139=_0x526c90[_0x8b45('0x4d')];_0x1a87e4<_0x2cf139;_0x1a87e4++){_0x4da68f[_0x526c90[_0x1a87e4][_0x8b45('0x4e')]]=_0x526c90[_0x1a87e4]['content'];}return _0x4da68f;}else{logger['info']('Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!');_0x14788c=getName(_0x14788c);return request({'method':_0x8b45('0x30'),'uri':util[_0x8b45('0x13')](_0x8b45('0x52'),_0x58d94f[_0x8b45('0x32')]),'qs':{'authtoken':_0x58d94f[_0x8b45('0x33')],'scope':_0x8b45('0x34'),'xmlData':util[_0x8b45('0x13')](_0x8b45('0x53'),entities['encodeXML'](_0x14788c[0x0]),entities[_0x8b45('0x2e')](_0x14788c[0x1]),_0x1077bd)},'json':!![]})['then'](function(_0x23b5c6){_0x23b5c6=JSON[_0x8b45('0x36')](parser[_0x8b45('0x37')](_0x23b5c6));if(_0x23b5c6[_0x8b45('0x38')]){if(_0x23b5c6['response'][_0x8b45('0x39')]&&_0x23b5c6[_0x8b45('0x38')]['result'][_0x8b45('0x3a')]){logger[_0x8b45('0x3b')]('Enduser\x20created.');return request({'method':_0x8b45('0x3e'),'uri':util[_0x8b45('0x13')](_0x8b45('0x54'),_0x58d94f[_0x8b45('0x32')]),'qs':{'authtoken':_0x58d94f[_0x8b45('0x33')],'scope':_0x8b45('0x34'),'id':_0x23b5c6['response']['result'][_0x8b45('0x3a')]['FL'][0x0]['$t']},'json':!![]});}}throw new Error(_0x8b45('0x55')+JSON[_0x8b45('0x3d')](_0x23b5c6));})['then'](function(_0x216bf1){if(_0x216bf1[_0x8b45('0x38')]){if(_0x216bf1[_0x8b45('0x38')][_0x8b45('0x39')]){var _0x2d6b66={};for(var _0x597402=0x0,_0x34c05d=_0x216bf1[_0x8b45('0x38')]['result'][_0x8b45('0x51')]['row']['FL'][_0x8b45('0x4d')];_0x597402<_0x34c05d;_0x597402++){_0x2d6b66[_0x216bf1[_0x8b45('0x38')][_0x8b45('0x39')][_0x8b45('0x51')]['row']['FL'][_0x597402][_0x8b45('0x4e')]]=_0x216bf1[_0x8b45('0x38')][_0x8b45('0x39')][_0x8b45('0x51')][_0x8b45('0x4c')]['FL'][_0x597402][_0x8b45('0x4f')];}return _0x2d6b66;}}throw new Error(_0x8b45('0x56')+JSON[_0x8b45('0x3d')](_0x216bf1));});}});}});}function request(_0x446fe5){logger[_0x8b45('0x57')](_0x8b45('0x58'),JSON[_0x8b45('0x3d')](_0x446fe5));return rp(_0x446fe5);}function getCustomFields(_0x1405f3,_0x2a01a2){var _0x1851c2={};if(_0x1405f3['length']>0x0){_[_0x8b45('0x59')](_0x1405f3,function(_0x1477bd){if(_0x1477bd[_0x8b45('0x5a')]==='string'&&_0x1477bd[_0x8b45('0x5b')]){_0x1851c2[_0x1477bd[_0x8b45('0x5b')]]=_0x1477bd[_0x8b45('0x4f')][_0x8b45('0x5c')]();}else if(_0x1477bd['type']===_0x8b45('0x5d')&&_0x1477bd[_0x8b45('0x5e')]&&_0x1477bd[_0x8b45('0x5b')]&&_0x2a01a2[_0x1477bd[_0x8b45('0x5e')]]){_0x1851c2[_0x1477bd['idField']]=_0x2a01a2[_0x1477bd[_0x8b45('0x5e')]][_0x8b45('0x5c')]();}else if(_0x1477bd[_0x8b45('0x5a')]===_0x8b45('0x5f')&&_0x1477bd[_0x8b45('0x60')]&&_0x1477bd['Variable'][_0x8b45('0x61')]&&_0x1477bd['idField']&&_0x2a01a2[_0x1477bd[_0x8b45('0x60')][_0x8b45('0x61')][_0x8b45('0x62')]()]){_0x1851c2[_0x1477bd[_0x8b45('0x5b')]]=_0x2a01a2[_0x1477bd[_0x8b45('0x60')][_0x8b45('0x61')]['toLowerCase']()]['toString']();}});}return _0x1851c2;}function getName(_0x5ace1){if(_0x5ace1[_0x8b45('0x63')]('\x20')>0x0){var _0x592d0c=_0x5ace1[_0x8b45('0x64')](/ (.+)/);if(_0x592d0c[0x1]){return _0x592d0c;}}return[_0x5ace1,_0x5ace1];}exports[_0x8b45('0x65')]=function(_0x3503cb,_0x555796,_0x4da2dd,_0x11b405,_0x8e5a41,_0x5abc79){var _0xcb5dff,_0x4a34ce;_0x5abc79[_0x8b45('0x32')]=intUtil['stripTrailingSlash'](_0x5abc79['host']);_0x5abc79[_0x8b45('0x66')]=intUtil[_0x8b45('0x67')](_0x5abc79['serverUrl']);if(_0x8e5a41&&_0x8e5a41[_0x8b45('0x68')]){logger[_0x8b45('0x3b')](_0x8b45('0x69'),_0x8b45('0x6a'));_0x555796[_0x8b45('0x6b')]=util['format'](_0x8b45('0x6c'),_0x5abc79[_0x8b45('0x66')],_0x555796[_0x8b45('0x6d')],md5(_0x555796['uniqueid']));}else{_0x555796['recordingURL']='';}return getUser(_0x5abc79,_0x11b405[_0x8b45('0x6e')])['then'](function(_0x43f031){_0xcb5dff=_0x43f031;logger['info']('The\x20User\x20ID\x20is:',_0xcb5dff['id']);return getEndUser(_0x5abc79,_0x555796['calleridname'],_0x555796[_0x8b45('0x6f')]);})['then'](function(_0x3c31e8){_0x4a34ce=_0x3c31e8;logger[_0x8b45('0x3b')]('The\x20Enduser\x20ID\x20is:',_0x4a34ce[_0x8b45('0x29')]||_0x4a34ce[_0x8b45('0x2a')]);return getCall(_0x5abc79,_0xcb5dff,_0x4a34ce,_0x4da2dd,_0x555796,'Inbound');})[_0x8b45('0x35')](function(_0x46b686){if(_0x46b686){logger[_0x8b45('0x3b')](_0x8b45('0x70'),_0x46b686['id']);logger[_0x8b45('0x3b')](_0x8b45('0x69'),_0x8b45('0x71'));emit(util[_0x8b45('0x13')](_0x8b45('0x72'),_0x11b405[_0x8b45('0x61')]),_0x8b45('0x73'),{'uri':util[_0x8b45('0x13')]('https://crm.%s/crm/EntityInfo.do?module=Calls&id=%s',_0x5abc79[_0x8b45('0x32')],_0x46b686['id'])});}})[_0x8b45('0x74')](function(_0x283eb6){logger[_0x8b45('0x75')](_0x8b45('0x69'),JSON[_0x8b45('0x3d')](_0x283eb6));});};exports[_0x8b45('0x10')]=function(_0x3d3216,_0x243632,_0x1542db,_0x183c34,_0x3cbe3a,_0x8b9259,_0x25c3b8){var _0x562c5f,_0x53143d;_0x8b9259[_0x8b45('0x32')]=intUtil[_0x8b45('0x67')](_0x8b9259[_0x8b45('0x32')]);_0x8b9259[_0x8b45('0x66')]=intUtil[_0x8b45('0x67')](_0x8b9259[_0x8b45('0x66')]);if(_0x25c3b8&&_0x25c3b8[_0x8b45('0x76')]&&_0x25c3b8[_0x8b45('0x76')]!=='none'){logger[_0x8b45('0x3b')](_0x8b45('0x77'),_0x8b45('0x6a'));_0x243632[_0x8b45('0x6b')]=util[_0x8b45('0x13')](_0x8b45('0x6c'),_0x8b9259[_0x8b45('0x66')],_0x243632[_0x8b45('0x6d')],md5(_0x243632[_0x8b45('0x6d')]));}return getUser(_0x8b9259,_0x183c34[_0x8b45('0x6e')])[_0x8b45('0x35')](function(_0x5e54c6){_0x562c5f=_0x5e54c6;logger['info'](_0x8b45('0x78'),_0x562c5f['id']);return getEndUser(_0x8b9259,_0x243632[_0x8b45('0x79')],_0x243632[_0x8b45('0x7a')]);})[_0x8b45('0x35')](function(_0x6a235a){_0x53143d=_0x6a235a;logger[_0x8b45('0x3b')](_0x8b45('0x7b'),_0x53143d[_0x8b45('0x29')]||_0x53143d[_0x8b45('0x2a')]);return getCall(_0x8b9259,_0x562c5f,_0x53143d,_0x1542db,_0x243632,'Outbound');})['then'](function(_0x135e1f){if(_0x135e1f){logger[_0x8b45('0x3b')](_0x8b45('0x70'),_0x135e1f['id']);logger[_0x8b45('0x3b')]('[OUTBOUND]',_0x8b45('0x71'));emit(util[_0x8b45('0x13')](_0x8b45('0x72'),_0x183c34[_0x8b45('0x61')]),_0x8b45('0x73'),{'uri':util[_0x8b45('0x13')]('https://crm.%s/crm/EntityInfo.do?module=Calls&id=%s',_0x8b9259['host'],_0x135e1f['id'])});}})[_0x8b45('0x74')](function(_0x5367ce){logger['error']('[OUTBOUND]',JSON[_0x8b45('0x3d')](_0x5367ce));});};exports[_0x8b45('0x21')]=function(_0xcc1330,_0x1e7a9c,_0x430551,_0x37ef4c,_0x274902,_0xc9be77){var _0xc89fc6,_0x286b2e;_0xc9be77[_0x8b45('0x32')]=intUtil[_0x8b45('0x67')](_0xc9be77[_0x8b45('0x32')]);_0xc9be77[_0x8b45('0x66')]=intUtil[_0x8b45('0x67')](_0xc9be77['serverUrl']);if(_0x274902&&_0x274902[_0x8b45('0x68')]){logger[_0x8b45('0x3b')](_0x8b45('0x7c'),_0x8b45('0x6a'));_0x1e7a9c[_0x8b45('0x6b')]=util[_0x8b45('0x13')](_0x8b45('0x6c'),_0xc9be77[_0x8b45('0x66')],_0x1e7a9c[_0x8b45('0x6d')],md5(_0x1e7a9c[_0x8b45('0x6d')]));}else{_0x1e7a9c['recordingURL']='';}return getUser(_0xc9be77)[_0x8b45('0x35')](function(_0x420fae){_0xc89fc6=_0x420fae;logger[_0x8b45('0x3b')](_0x8b45('0x78'),_0xc89fc6['id']);return getEndUser(_0xc9be77,_0x1e7a9c['calleridname'],_0x1e7a9c[_0x8b45('0x6f')]);})['then'](function(_0x34c7dd){_0x286b2e=_0x34c7dd;logger['info'](_0x8b45('0x7b'),_0x286b2e[_0x8b45('0x29')]||_0x286b2e[_0x8b45('0x2a')]);return getCall(_0xc9be77,_0xc89fc6,_0x286b2e,_0x430551,_0x1e7a9c,_0x8b45('0x7d'));})[_0x8b45('0x35')](function(_0x45beb9){if(_0x45beb9){logger['info'](_0x8b45('0x70'),_0x45beb9['id']);}})[_0x8b45('0x74')](function(_0x17364d){logger[_0x8b45('0x75')]('[ABANDONED]',JSON[_0x8b45('0x3d')](_0x17364d));});};
\ No newline at end of file