Built motion from commit d5e4af8c.|2.6.23
[motion2.git] / server / services / ami / trigger / integration / zendesk.js
index 8fce17e..e3e4a8f 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x6c44=['email','The\x20User\x20ID\x20is:','calleridname','calleridnum','The\x20Enduser\x20ID\x20is:','integrationTab','Displaying\x20ticket\x20to\x20agent...','%s/channels/voice/agents/%d/tickets/%d/display.json','newTab','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','%s/agent/tickets/%s','replace','/api/v2','error','Zendesk\x20account\x20type\x20not\x20recognized','inspect','outbound','[OUTBOUND]','uniqueid','destcalleridname','destcalleridnum','unmanaged','toUpperCase','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','The\x20Ticket\x20ID\x20is:','catch','lastevent','\x20Error\x20running\x20Zendesk\x20integration','lodash','request-promise','util','./util','../../../../config/logger','zendesk','redis','emit','application/json','info','Creating\x20new\x20ticket...','format','remoteUri','merge','Tags','name','getString','Subjects','Descriptions','Fields','then','validateEmail','Getting\x20agent\x20with\x20email','%s/search.json','type:user\x20role:agent\x20email:%s','count','Agent\x20found!','find','results','agent','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','%s/users/me.json','Admin\x20account\x20selected.','user','Searching\x20enduser\x20with\x20phone','type:user\x20role:end-user\x20phone:%s','length','filter','Enduser\x20found!','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','%s/users.json','POST','end-user','Caller\x20-\x20%s','Enduser\x20created.','authType','password','%s:%s','username','%s/token:%s','token','Basic\x20%s','toString','base64','debug','[HTTP]','stringify','defaults','GET','map','string','picklist','type','customField','nameField','toLowerCase','content','includes','idField','custom_fields','push','variable','Variable','queue','stripTrailingSlash','serverUrl','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','Authorization'];(function(_0x3f837a,_0x35f365){var _0x5f4820=function(_0x12036c){while(--_0x12036c){_0x3f837a['push'](_0x3f837a['shift']());}};_0x5f4820(++_0x35f365);}(_0x6c44,0x1da));var _0x46c4=function(_0x1da527,_0x2dc953){_0x1da527=_0x1da527-0x0;var _0x40fc7c=_0x6c44[_0x1da527];return _0x40fc7c;};'use strict';var _=require(_0x46c4('0x0'));var rp=require(_0x46c4('0x1'));var md5=require('md5');var util=require(_0x46c4('0x2'));var Redis=require('ioredis');var intUtil=require(_0x46c4('0x3'));var config=require('../../../../config/environment');var logger=require(_0x46c4('0x4'))(_0x46c4('0x5'));config[_0x46c4('0x6')]=_['defaults'](config[_0x46c4('0x6')],{'host':'localhost','port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x46c4('0x6')]));function emit(_0x4ee844,_0xa35a24,_0xb08305){io['to'](_0x4ee844)[_0x46c4('0x7')](_0xa35a24,_0xb08305);}var headers={'Content-Type':_0x46c4('0x8'),'Accept':'application/json'};function getTicket(_0x2d40dc,_0x41d734,_0x25e95d,_0x4e528e,_0x3c4781){logger[_0x46c4('0x9')](_0x46c4('0xa'));return request({'uri':util[_0x46c4('0xb')]('%s/tickets.json',_0x2d40dc[_0x46c4('0xc')]),'method':'POST','body':{'ticket':_[_0x46c4('0xd')]({'requester_id':_0x25e95d['id'],'submitter_id':_0x41d734?_0x41d734['id']:undefined,'assignee_id':_0x41d734?_0x41d734['id']:undefined,'tags':getTags(_0x4e528e[_0x46c4('0xe')],_0x46c4('0xf')),'subject':intUtil[_0x46c4('0x10')](_0x4e528e[_0x46c4('0x11')],_0x3c4781,'\x20'),'description':intUtil['getString'](_0x4e528e[_0x46c4('0x12')],_0x3c4781,'\x0a'),'comment':{'public':![],'body':intUtil[_0x46c4('0x10')](_0x4e528e[_0x46c4('0x12')],_0x3c4781,'\x0a')}},getCustomFields(_0x4e528e[_0x46c4('0x13')],_0x3c4781))}})[_0x46c4('0x14')](function(_0x812e25){logger['info']('Ticket\x20created!');return _0x812e25['ticket'];});}function getUser(_0x43db5f,_0x3d5d5c){if(intUtil[_0x46c4('0x15')](_0x3d5d5c)){logger[_0x46c4('0x9')](_0x46c4('0x16'),_0x3d5d5c);return request({'uri':util[_0x46c4('0xb')](_0x46c4('0x17'),_0x43db5f[_0x46c4('0xc')]),'qs':{'query':util[_0x46c4('0xb')](_0x46c4('0x18'),_0x3d5d5c)}})['then'](function(_0x50c496){if(_0x50c496[_0x46c4('0x19')]){logger[_0x46c4('0x9')](_0x46c4('0x1a'));return _[_0x46c4('0x1b')](_0x50c496[_0x46c4('0x1c')],{'email':_0x3d5d5c,'role':_0x46c4('0x1d')});}else{logger['info'](_0x46c4('0x1e'));return request({'uri':util[_0x46c4('0xb')](_0x46c4('0x1f'),_0x43db5f['remoteUri'])})[_0x46c4('0x14')](function(_0x290642){logger[_0x46c4('0x9')](_0x46c4('0x20'));return _0x290642[_0x46c4('0x21')];});}});}else{logger['info'](_0x46c4('0x1e'));return request({'uri':util[_0x46c4('0xb')](_0x46c4('0x1f'),_0x43db5f['remoteUri'])})['then'](function(_0x32d6ca){logger[_0x46c4('0x9')](_0x46c4('0x20'));return _0x32d6ca[_0x46c4('0x21')];});}}function getEndUser(_0x59d8ee,_0x3605ce,_0x886fbf){logger[_0x46c4('0x9')](_0x46c4('0x22'),_0x886fbf);return request({'uri':util['format'](_0x46c4('0x17'),_0x59d8ee[_0x46c4('0xc')]),'qs':{'query':util[_0x46c4('0xb')](_0x46c4('0x23'),_0x886fbf)}})['then'](function(_0x48d0b8){var _0x2d13a3;if(_0x48d0b8['results'][_0x46c4('0x24')]){_0x48d0b8['results']=_[_0x46c4('0x25')](_0x48d0b8[_0x46c4('0x1c')],{'suspended':![],'role':'end-user'});if(_0x48d0b8[_0x46c4('0x1c')][_0x46c4('0x24')]){_0x2d13a3=_['first'](_0x48d0b8[_0x46c4('0x1c')]);}}if(_0x2d13a3){logger[_0x46c4('0x9')](_0x46c4('0x26'));return _0x2d13a3;}else{logger[_0x46c4('0x9')](_0x46c4('0x27'));return request({'uri':util[_0x46c4('0xb')](_0x46c4('0x28'),_0x59d8ee[_0x46c4('0xc')]),'method':_0x46c4('0x29'),'body':{'user':{'role':_0x46c4('0x2a'),'name':util[_0x46c4('0xb')](_0x46c4('0x2b'),_0x3605ce||_0x886fbf),'phone':_0x886fbf}}})[_0x46c4('0x14')](function(_0xdcb085){logger[_0x46c4('0x9')](_0x46c4('0x2c'));return _0xdcb085[_0x46c4('0x21')];});}});}function getAuth(_0xc65c6b){var _0x5314e1;if(_0xc65c6b[_0x46c4('0x2d')]===_0x46c4('0x2e')){_0x5314e1=util[_0x46c4('0xb')](_0x46c4('0x2f'),_0xc65c6b[_0x46c4('0x30')],_0xc65c6b['password']);}else if(_0xc65c6b['authType']==='token'){_0x5314e1=util[_0x46c4('0xb')](_0x46c4('0x31'),_0xc65c6b[_0x46c4('0x30')],_0xc65c6b[_0x46c4('0x32')]);}return util[_0x46c4('0xb')](_0x46c4('0x33'),new Buffer(_0x5314e1)[_0x46c4('0x34')](_0x46c4('0x35')));}function request(_0x446931){logger[_0x46c4('0x36')](_0x46c4('0x37'),JSON[_0x46c4('0x38')](_0x446931));return rp(_[_0x46c4('0x39')](_0x446931,{'method':_0x46c4('0x3a'),'headers':headers,'json':!![]}));}function getTags(_0x507999,_0x32afaa){var _0x27d231=[];if(_0x507999&&_0x507999[_0x46c4('0x24')]>0x0){_0x27d231=_[_0x46c4('0x3b')](_0x507999,_0x32afaa);}return _0x27d231;}function getCustomFields(_0x294023,_0x50f896){var _0x490af3=[];var _0x1b2640={'custom_fields':[]};if(_0x294023[_0x46c4('0x24')]>0x0){_['forEach'](_0x294023,function(_0x53fa20){if(_['includes']([_0x46c4('0x3c'),_0x46c4('0x3d')],_0x53fa20[_0x46c4('0x3e')])&&_0x53fa20['nameField']&&!_0x53fa20[_0x46c4('0x3f')]){_0x1b2640[_0x53fa20[_0x46c4('0x40')][_0x46c4('0x41')]()]=_0x53fa20[_0x46c4('0x42')][_0x46c4('0x34')]();}else if(_[_0x46c4('0x43')]([_0x46c4('0x3c'),_0x46c4('0x3d')],_0x53fa20[_0x46c4('0x3e')])&&_0x53fa20[_0x46c4('0x44')]&&_0x53fa20[_0x46c4('0x3f')]){_0x1b2640[_0x46c4('0x45')][_0x46c4('0x46')]({'id':_0x53fa20[_0x46c4('0x44')],'value':_0x53fa20['content'][_0x46c4('0x34')]()});}else if(_0x53fa20['type']===_0x46c4('0x47')&&_0x53fa20['variableName']&&_0x53fa20['idField']&&_0x53fa20['customField']){_0x50f896[_0x53fa20['variableName']]&&_0x1b2640[_0x46c4('0x45')][_0x46c4('0x46')]({'id':_0x53fa20['idField'],'value':_0x50f896[_0x53fa20['variableName']][_0x46c4('0x34')]()});}else if(_0x53fa20[_0x46c4('0x3e')]==='customVariable'&&_0x53fa20[_0x46c4('0x48')]&&_0x53fa20[_0x46c4('0x48')]['name']&&_0x53fa20[_0x46c4('0x44')]&&_0x53fa20[_0x46c4('0x3f')]){_0x50f896[_0x53fa20[_0x46c4('0x48')][_0x46c4('0xf')]['toLowerCase']()]&&_0x1b2640[_0x46c4('0x45')][_0x46c4('0x46')]({'id':_0x53fa20[_0x46c4('0x44')],'value':_0x50f896[_0x53fa20['Variable'][_0x46c4('0xf')][_0x46c4('0x41')]()]['toString']()});}});}return _0x1b2640;}exports[_0x46c4('0x49')]=function(_0x5b4f52,_0x5dcbc0,_0x16a769,_0x8fa191,_0xe3982e,_0x243e0c){var _0x5d7e24,_0x4fbcdf;_0x243e0c[_0x46c4('0xc')]=intUtil[_0x46c4('0x4a')](_0x243e0c[_0x46c4('0xc')]);_0x243e0c[_0x46c4('0x4b')]=intUtil['stripTrailingSlash'](_0x243e0c['serverUrl']);if(_0xe3982e&&_0xe3982e[_0x46c4('0x4c')]){logger[_0x46c4('0x9')](_0x46c4('0x4d'),_0x46c4('0x4e'));_0x5dcbc0['recordingURL']=util[_0x46c4('0xb')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x243e0c[_0x46c4('0x4b')],_0x5dcbc0['uniqueid'],md5(_0x5dcbc0['uniqueid']));}else{_0x5dcbc0[_0x46c4('0x4f')]='';}headers[_0x46c4('0x50')]=getAuth(_0x243e0c);return getUser(_0x243e0c,_0x8fa191[_0x46c4('0x51')])['then'](function(_0x25cdde){_0x5d7e24=_0x25cdde;logger[_0x46c4('0x9')](_0x46c4('0x52'),_0x5d7e24['id']);return getEndUser(_0x243e0c,_0x5dcbc0[_0x46c4('0x53')],_0x5dcbc0[_0x46c4('0x54')]);})[_0x46c4('0x14')](function(_0x243c7c){_0x4fbcdf=_0x243c7c;logger[_0x46c4('0x9')](_0x46c4('0x55'),_0x4fbcdf['id']);return getTicket(_0x243e0c,_0x5d7e24,_0x4fbcdf,_0x16a769,_0x5dcbc0);})['then'](function(_0x48cc2d){if(_0x48cc2d){logger[_0x46c4('0x9')]('The\x20Ticket\x20ID\x20is:',_0x48cc2d['id']);switch(_0x243e0c['type']){case _0x46c4('0x56'):logger['info'](_0x46c4('0x4d'),_0x46c4('0x57'));return request({'uri':util[_0x46c4('0xb')](_0x46c4('0x58'),_0x243e0c['remoteUri'],_0x5d7e24['id'],_0x48cc2d['id']),'method':'POST'});case _0x46c4('0x59'):logger[_0x46c4('0x9')](_0x46c4('0x4d'),_0x46c4('0x5a'));emit(util[_0x46c4('0xb')](_0x46c4('0x5b'),_0x8fa191[_0x46c4('0xf')]),_0x46c4('0x5c'),{'uri':util[_0x46c4('0xb')](_0x46c4('0x5d'),_0x243e0c[_0x46c4('0xc')][_0x46c4('0x5e')](_0x46c4('0x5f'),''),_0x48cc2d['id'])});break;default:logger[_0x46c4('0x60')](_0x46c4('0x4d'),_0x46c4('0x61'));}}})['catch'](function(_0x548d47){logger[_0x46c4('0x60')]('[QUEUE]\x20Error\x20running\x20Zendesk\x20integration',util[_0x46c4('0x62')](_0x548d47,{'showHidden':!![],'depth':null}));});};exports[_0x46c4('0x63')]=function(_0x468bbb,_0x2d22b9,_0x32c6e2,_0x4f6b5b,_0x18bb93,_0x2f9e87,_0xbeb6ab){var _0x1e2ba8,_0x36315d;_0x2f9e87['remoteUri']=intUtil['stripTrailingSlash'](_0x2f9e87[_0x46c4('0xc')]);_0x2f9e87['serverUrl']=intUtil[_0x46c4('0x4a')](_0x2f9e87[_0x46c4('0x4b')]);if(_0xbeb6ab&&_0xbeb6ab['recordingFormat']&&_0xbeb6ab['recordingFormat']!=='none'){logger['info'](_0x46c4('0x64'),_0x46c4('0x4e'));_0x2d22b9[_0x46c4('0x4f')]=util[_0x46c4('0xb')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x2f9e87['serverUrl'],_0x2d22b9[_0x46c4('0x65')],md5(_0x2d22b9[_0x46c4('0x65')]));}headers[_0x46c4('0x50')]=getAuth(_0x2f9e87);return getUser(_0x2f9e87,_0x4f6b5b[_0x46c4('0x51')])[_0x46c4('0x14')](function(_0x2b24d5){_0x1e2ba8=_0x2b24d5;logger['info'](_0x46c4('0x52'),_0x1e2ba8['id']);return getEndUser(_0x2f9e87,_0x2d22b9[_0x46c4('0x66')],_0x2d22b9[_0x46c4('0x67')]);})[_0x46c4('0x14')](function(_0x4f38f7){_0x36315d=_0x4f38f7;logger[_0x46c4('0x9')](_0x46c4('0x55'),_0x36315d['id']);return getTicket(_0x2f9e87,_0x1e2ba8,_0x36315d,_0x32c6e2,_0x2d22b9);})['then'](function(_0x54d481){if(_0x54d481){logger[_0x46c4('0x9')]('The\x20Ticket\x20ID\x20is:',_0x54d481['id']);switch(_0x2f9e87['type']){case _0x46c4('0x56'):logger[_0x46c4('0x9')](_0x46c4('0x64'),'Displaying\x20ticket\x20to\x20agent...');return request({'uri':util[_0x46c4('0xb')](_0x46c4('0x58'),_0x2f9e87[_0x46c4('0xc')],_0x1e2ba8['id'],_0x54d481['id']),'method':_0x46c4('0x29')});case'newTab':logger[_0x46c4('0x9')]('[OUTBOUND]',_0x46c4('0x5a'));emit(util[_0x46c4('0xb')](_0x46c4('0x5b'),_0x4f6b5b[_0x46c4('0xf')]),'trigger:browser:url',{'uri':util[_0x46c4('0xb')](_0x46c4('0x5d'),_0x2f9e87[_0x46c4('0xc')][_0x46c4('0x5e')](_0x46c4('0x5f'),''),_0x54d481['id'])});break;default:logger[_0x46c4('0x60')](_0x46c4('0x64'),_0x46c4('0x61'));}}})['catch'](function(_0x317ce5){logger[_0x46c4('0x60')]('[OUTBOUND]\x20Error\x20running\x20Zendesk\x20integration',util[_0x46c4('0x62')](_0x317ce5,{'showHidden':!![],'depth':null}));});};exports[_0x46c4('0x68')]=function(_0x4b6964,_0x5c6edc,_0x2d8dc9,_0x26e7aa,_0x54db3f,_0x468fc8){var _0x4448f7,_0x252795;_0x468fc8[_0x46c4('0xc')]=intUtil[_0x46c4('0x4a')](_0x468fc8[_0x46c4('0xc')]);_0x468fc8[_0x46c4('0x4b')]=intUtil['stripTrailingSlash'](_0x468fc8[_0x46c4('0x4b')]);if(_0x54db3f&&_0x54db3f[_0x46c4('0x4c')]){logger[_0x46c4('0x9')]('['+_0x5c6edc['lastevent'][_0x46c4('0x69')]()+']',_0x46c4('0x4e'));_0x5c6edc[_0x46c4('0x4f')]=util[_0x46c4('0xb')](_0x46c4('0x6a'),_0x468fc8[_0x46c4('0x4b')],_0x5c6edc[_0x46c4('0x65')],md5(_0x5c6edc[_0x46c4('0x65')]));}else{_0x5c6edc[_0x46c4('0x4f')]='';}headers['Authorization']=getAuth(_0x468fc8);return getUser(_0x468fc8)['then'](function(_0x4553d2){_0x4448f7=_0x4553d2;logger[_0x46c4('0x9')](_0x46c4('0x52'),_0x4448f7['id']);return getEndUser(_0x468fc8,_0x5c6edc[_0x46c4('0x53')],_0x5c6edc['calleridnum']);})[_0x46c4('0x14')](function(_0x3a7f61){_0x252795=_0x3a7f61;logger['info'](_0x46c4('0x55'),_0x252795['id']);return getTicket(_0x468fc8,_0x4448f7,_0x252795,_0x2d8dc9,_0x5c6edc);})['then'](function(_0x302f9a){if(_0x302f9a){logger[_0x46c4('0x9')](_0x46c4('0x6b'),_0x302f9a['id']);}})[_0x46c4('0x6c')](function(_0x28fbae){logger[_0x46c4('0x60')]('['+_0x5c6edc[_0x46c4('0x6d')]['toUpperCase']()+']'+_0x46c4('0x6e'),util[_0x46c4('0x62')](_0x28fbae,{'showHidden':!![],'depth':null}));});};
\ No newline at end of file
+var _0x80cc=['uniqueid','Authorization','email','The\x20User\x20ID\x20is:','calleridname','calleridnum','The\x20Ticket\x20ID\x20is:','integrationTab','Displaying\x20ticket\x20to\x20agent...','newTab','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','%s/agent/tickets/%s','replace','/api/v2','Zendesk\x20account\x20type\x20not\x20recognized','[QUEUE]\x20Error\x20running\x20Zendesk\x20integration','recordingFormat','[OUTBOUND]','recordingURL','The\x20Enduser\x20ID\x20is:','%s/channels/voice/agents/%d/tickets/%d/display.json','trigger:browser:url','error','[OUTBOUND]\x20Error\x20running\x20Zendesk\x20integration','inspect','unmanaged','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','catch','lastevent','toUpperCase','lodash','request-promise','md5','util','ioredis','./util','../../../../config/environment','../../../../config/logger','zendesk','redis','defaults','localhost','emit','info','format','%s/tickets.json','remoteUri','POST','Tags','name','getString','Subjects','Descriptions','Fields','then','Ticket\x20created!','ticket','%s/search.json','type:user\x20role:agent\x20email:%s','count','Agent\x20found!','find','agent','%s/users/me.json','Admin\x20account\x20selected.','user','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','results','length','filter','first','Enduser\x20found!','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','%s/users.json','end-user','authType','%s:%s','token','%s/token:%s','username','Basic\x20%s','toString','base64','GET','map','forEach','includes','string','type','nameField','customField','toLowerCase','content','picklist','idField','variableName','custom_fields','push','customVariable','Variable','stripTrailingSlash','serverUrl','[QUEUE]','Recording\x20is\x20enabled!'];(function(_0x548f2f,_0x43cc68){var _0x497c2b=function(_0x2fda8b){while(--_0x2fda8b){_0x548f2f['push'](_0x548f2f['shift']());}};_0x497c2b(++_0x43cc68);}(_0x80cc,0x15a));var _0xc80c=function(_0x4d750e,_0x35fb00){_0x4d750e=_0x4d750e-0x0;var _0x1a1e3f=_0x80cc[_0x4d750e];return _0x1a1e3f;};'use strict';var _=require(_0xc80c('0x0'));var rp=require(_0xc80c('0x1'));var md5=require(_0xc80c('0x2'));var util=require(_0xc80c('0x3'));var Redis=require(_0xc80c('0x4'));var intUtil=require(_0xc80c('0x5'));var config=require(_0xc80c('0x6'));var logger=require(_0xc80c('0x7'))(_0xc80c('0x8'));config[_0xc80c('0x9')]=_[_0xc80c('0xa')](config['redis'],{'host':_0xc80c('0xb'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0xc80c('0x9')]));function emit(_0xf4fdda,_0x543110,_0x5b6e66){io['to'](_0xf4fdda)[_0xc80c('0xc')](_0x543110,_0x5b6e66);}var headers={'Content-Type':'application/json','Accept':'application/json'};function getTicket(_0x2bad82,_0x5ef639,_0x2b9d73,_0x5bdfa6,_0x2447bd){logger[_0xc80c('0xd')]('Creating\x20new\x20ticket...');return request({'uri':util[_0xc80c('0xe')](_0xc80c('0xf'),_0x2bad82[_0xc80c('0x10')]),'method':_0xc80c('0x11'),'body':{'ticket':_['merge']({'requester_id':_0x2b9d73['id'],'submitter_id':_0x5ef639?_0x5ef639['id']:undefined,'assignee_id':_0x5ef639?_0x5ef639['id']:undefined,'tags':getTags(_0x5bdfa6[_0xc80c('0x12')],_0xc80c('0x13')),'subject':intUtil[_0xc80c('0x14')](_0x5bdfa6[_0xc80c('0x15')],_0x2447bd,'\x20'),'description':intUtil[_0xc80c('0x14')](_0x5bdfa6[_0xc80c('0x16')],_0x2447bd,'\x0a'),'comment':{'public':![],'body':intUtil[_0xc80c('0x14')](_0x5bdfa6['Descriptions'],_0x2447bd,'\x0a')}},getCustomFields(_0x5bdfa6[_0xc80c('0x17')],_0x2447bd))}})[_0xc80c('0x18')](function(_0x73e79b){logger[_0xc80c('0xd')](_0xc80c('0x19'));return _0x73e79b[_0xc80c('0x1a')];});}function getUser(_0x2cfd7e,_0x5bb1f8){if(intUtil['validateEmail'](_0x5bb1f8)){logger[_0xc80c('0xd')]('Getting\x20agent\x20with\x20email',_0x5bb1f8);return request({'uri':util[_0xc80c('0xe')](_0xc80c('0x1b'),_0x2cfd7e[_0xc80c('0x10')]),'qs':{'query':util[_0xc80c('0xe')](_0xc80c('0x1c'),_0x5bb1f8)}})[_0xc80c('0x18')](function(_0x3b5e0a){if(_0x3b5e0a[_0xc80c('0x1d')]){logger[_0xc80c('0xd')](_0xc80c('0x1e'));return _[_0xc80c('0x1f')](_0x3b5e0a['results'],{'email':_0x5bb1f8,'role':_0xc80c('0x20')});}else{logger[_0xc80c('0xd')]('Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!');return request({'uri':util['format'](_0xc80c('0x21'),_0x2cfd7e['remoteUri'])})[_0xc80c('0x18')](function(_0x31da01){logger['info'](_0xc80c('0x22'));return _0x31da01[_0xc80c('0x23')];});}});}else{logger[_0xc80c('0xd')](_0xc80c('0x24'));return request({'uri':util['format'](_0xc80c('0x21'),_0x2cfd7e[_0xc80c('0x10')])})['then'](function(_0xd365fd){logger[_0xc80c('0xd')](_0xc80c('0x22'));return _0xd365fd['user'];});}}function getEndUser(_0x4b756f,_0x3db798,_0x31f4e6){logger['info']('Searching\x20enduser\x20with\x20phone',_0x31f4e6);return request({'uri':util[_0xc80c('0xe')](_0xc80c('0x1b'),_0x4b756f['remoteUri']),'qs':{'query':util[_0xc80c('0xe')]('type:user\x20role:end-user\x20phone:%s',_0x31f4e6)}})[_0xc80c('0x18')](function(_0x911c94){var _0xdbe585;if(_0x911c94[_0xc80c('0x25')][_0xc80c('0x26')]){_0x911c94[_0xc80c('0x25')]=_[_0xc80c('0x27')](_0x911c94[_0xc80c('0x25')],{'suspended':![],'role':'end-user'});if(_0x911c94[_0xc80c('0x25')][_0xc80c('0x26')]){_0xdbe585=_[_0xc80c('0x28')](_0x911c94[_0xc80c('0x25')]);}}if(_0xdbe585){logger[_0xc80c('0xd')](_0xc80c('0x29'));return _0xdbe585;}else{logger[_0xc80c('0xd')](_0xc80c('0x2a'));return request({'uri':util[_0xc80c('0xe')](_0xc80c('0x2b'),_0x4b756f[_0xc80c('0x10')]),'method':_0xc80c('0x11'),'body':{'user':{'role':_0xc80c('0x2c'),'name':util[_0xc80c('0xe')]('Caller\x20-\x20%s',_0x3db798||_0x31f4e6),'phone':_0x31f4e6}}})['then'](function(_0x4eb5d){logger[_0xc80c('0xd')]('Enduser\x20created.');return _0x4eb5d[_0xc80c('0x23')];});}});}function getAuth(_0xd67a35){var _0x5b641e;if(_0xd67a35[_0xc80c('0x2d')]==='password'){_0x5b641e=util[_0xc80c('0xe')](_0xc80c('0x2e'),_0xd67a35['username'],_0xd67a35['password']);}else if(_0xd67a35[_0xc80c('0x2d')]===_0xc80c('0x2f')){_0x5b641e=util[_0xc80c('0xe')](_0xc80c('0x30'),_0xd67a35[_0xc80c('0x31')],_0xd67a35['token']);}return util[_0xc80c('0xe')](_0xc80c('0x32'),new Buffer(_0x5b641e)[_0xc80c('0x33')](_0xc80c('0x34')));}function request(_0x55bb5e){logger['debug']('[HTTP]',JSON['stringify'](_0x55bb5e));return rp(_[_0xc80c('0xa')](_0x55bb5e,{'method':_0xc80c('0x35'),'headers':headers,'json':!![]}));}function getTags(_0x1822fc,_0xc1e9b7){var _0x2b5591=[];if(_0x1822fc&&_0x1822fc[_0xc80c('0x26')]>0x0){_0x2b5591=_[_0xc80c('0x36')](_0x1822fc,_0xc1e9b7);}return _0x2b5591;}function getCustomFields(_0x274b60,_0x5442e7){var _0x9f80a5=[];var _0x2a0e8b={'custom_fields':[]};if(_0x274b60[_0xc80c('0x26')]>0x0){_[_0xc80c('0x37')](_0x274b60,function(_0x1b0101){if(_[_0xc80c('0x38')]([_0xc80c('0x39'),'picklist'],_0x1b0101[_0xc80c('0x3a')])&&_0x1b0101[_0xc80c('0x3b')]&&!_0x1b0101[_0xc80c('0x3c')]){_0x2a0e8b[_0x1b0101[_0xc80c('0x3b')][_0xc80c('0x3d')]()]=_0x1b0101[_0xc80c('0x3e')][_0xc80c('0x33')]();}else if(_['includes']([_0xc80c('0x39'),_0xc80c('0x3f')],_0x1b0101[_0xc80c('0x3a')])&&_0x1b0101[_0xc80c('0x40')]&&_0x1b0101[_0xc80c('0x3c')]){_0x2a0e8b['custom_fields']['push']({'id':_0x1b0101['idField'],'value':_0x1b0101['content']['toString']()});}else if(_0x1b0101['type']==='variable'&&_0x1b0101[_0xc80c('0x41')]&&_0x1b0101['idField']&&_0x1b0101[_0xc80c('0x3c')]){_0x5442e7[_0x1b0101[_0xc80c('0x41')]]&&_0x2a0e8b[_0xc80c('0x42')][_0xc80c('0x43')]({'id':_0x1b0101['idField'],'value':_0x5442e7[_0x1b0101[_0xc80c('0x41')]][_0xc80c('0x33')]()});}else if(_0x1b0101[_0xc80c('0x3a')]===_0xc80c('0x44')&&_0x1b0101[_0xc80c('0x45')]&&_0x1b0101['Variable'][_0xc80c('0x13')]&&_0x1b0101[_0xc80c('0x40')]&&_0x1b0101[_0xc80c('0x3c')]){_0x5442e7[_0x1b0101[_0xc80c('0x45')]['name'][_0xc80c('0x3d')]()]&&_0x2a0e8b[_0xc80c('0x42')][_0xc80c('0x43')]({'id':_0x1b0101[_0xc80c('0x40')],'value':_0x5442e7[_0x1b0101[_0xc80c('0x45')][_0xc80c('0x13')]['toLowerCase']()][_0xc80c('0x33')]()});}});}return _0x2a0e8b;}exports['queue']=function(_0x562b41,_0x276e68,_0x15d395,_0x204a32,_0x51f484,_0x243fe9){var _0x5e30ab,_0x1706a1;_0x243fe9[_0xc80c('0x10')]=intUtil[_0xc80c('0x46')](_0x243fe9[_0xc80c('0x10')]);_0x243fe9[_0xc80c('0x47')]=intUtil[_0xc80c('0x46')](_0x243fe9[_0xc80c('0x47')]);if(_0x51f484&&_0x51f484['monitor_format']){logger[_0xc80c('0xd')](_0xc80c('0x48'),_0xc80c('0x49'));_0x276e68['recordingURL']=util[_0xc80c('0xe')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x243fe9[_0xc80c('0x47')],_0x276e68[_0xc80c('0x4a')],md5(_0x276e68['uniqueid']));}else{_0x276e68['recordingURL']='';}headers[_0xc80c('0x4b')]=getAuth(_0x243fe9);return getUser(_0x243fe9,_0x204a32[_0xc80c('0x4c')])[_0xc80c('0x18')](function(_0x18b445){_0x5e30ab=_0x18b445;logger[_0xc80c('0xd')](_0xc80c('0x4d'),_0x5e30ab['id']);return getEndUser(_0x243fe9,_0x276e68[_0xc80c('0x4e')],_0x276e68[_0xc80c('0x4f')]);})['then'](function(_0x2cadc0){_0x1706a1=_0x2cadc0;logger[_0xc80c('0xd')]('The\x20Enduser\x20ID\x20is:',_0x1706a1['id']);return getTicket(_0x243fe9,_0x5e30ab,_0x1706a1,_0x15d395,_0x276e68);})['then'](function(_0x30f0b7){if(_0x30f0b7){logger[_0xc80c('0xd')](_0xc80c('0x50'),_0x30f0b7['id']);switch(_0x243fe9[_0xc80c('0x3a')]){case _0xc80c('0x51'):logger[_0xc80c('0xd')](_0xc80c('0x48'),_0xc80c('0x52'));return request({'uri':util[_0xc80c('0xe')]('%s/channels/voice/agents/%d/tickets/%d/display.json',_0x243fe9[_0xc80c('0x10')],_0x5e30ab['id'],_0x30f0b7['id']),'method':_0xc80c('0x11')});case _0xc80c('0x53'):logger[_0xc80c('0xd')]('[QUEUE]',_0xc80c('0x54'));emit(util[_0xc80c('0xe')](_0xc80c('0x55'),_0x204a32[_0xc80c('0x13')]),'trigger:browser:url',{'uri':util['format'](_0xc80c('0x56'),_0x243fe9['remoteUri'][_0xc80c('0x57')](_0xc80c('0x58'),''),_0x30f0b7['id'])});break;default:logger['error'](_0xc80c('0x48'),_0xc80c('0x59'));}}})['catch'](function(_0x162dbc){logger['error'](_0xc80c('0x5a'),util['inspect'](_0x162dbc,{'showHidden':!![],'depth':null}));});};exports['outbound']=function(_0x4ec8a9,_0x2c77fb,_0x3e2f66,_0x5e5367,_0x27b8d4,_0x1c545b,_0xd99678){var _0xac8bb3,_0x3bc2a2;_0x1c545b['remoteUri']=intUtil['stripTrailingSlash'](_0x1c545b[_0xc80c('0x10')]);_0x1c545b[_0xc80c('0x47')]=intUtil[_0xc80c('0x46')](_0x1c545b[_0xc80c('0x47')]);if(_0xd99678&&_0xd99678[_0xc80c('0x5b')]&&_0xd99678[_0xc80c('0x5b')]!=='none'){logger[_0xc80c('0xd')](_0xc80c('0x5c'),'Recording\x20is\x20enabled!');_0x2c77fb[_0xc80c('0x5d')]=util[_0xc80c('0xe')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x1c545b[_0xc80c('0x47')],_0x2c77fb[_0xc80c('0x4a')],md5(_0x2c77fb[_0xc80c('0x4a')]));}headers['Authorization']=getAuth(_0x1c545b);return getUser(_0x1c545b,_0x5e5367[_0xc80c('0x4c')])['then'](function(_0x2d15c4){_0xac8bb3=_0x2d15c4;logger[_0xc80c('0xd')](_0xc80c('0x4d'),_0xac8bb3['id']);return getEndUser(_0x1c545b,_0x2c77fb['destcalleridname'],_0x2c77fb['destcalleridnum']);})[_0xc80c('0x18')](function(_0x296fef){_0x3bc2a2=_0x296fef;logger[_0xc80c('0xd')](_0xc80c('0x5e'),_0x3bc2a2['id']);return getTicket(_0x1c545b,_0xac8bb3,_0x3bc2a2,_0x3e2f66,_0x2c77fb);})[_0xc80c('0x18')](function(_0xf1654){if(_0xf1654){logger[_0xc80c('0xd')](_0xc80c('0x50'),_0xf1654['id']);switch(_0x1c545b[_0xc80c('0x3a')]){case _0xc80c('0x51'):logger[_0xc80c('0xd')](_0xc80c('0x5c'),'Displaying\x20ticket\x20to\x20agent...');return request({'uri':util[_0xc80c('0xe')](_0xc80c('0x5f'),_0x1c545b[_0xc80c('0x10')],_0xac8bb3['id'],_0xf1654['id']),'method':_0xc80c('0x11')});case _0xc80c('0x53'):logger[_0xc80c('0xd')](_0xc80c('0x5c'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0xc80c('0xe')](_0xc80c('0x55'),_0x5e5367[_0xc80c('0x13')]),_0xc80c('0x60'),{'uri':util['format'](_0xc80c('0x56'),_0x1c545b['remoteUri']['replace'](_0xc80c('0x58'),''),_0xf1654['id'])});break;default:logger[_0xc80c('0x61')]('[OUTBOUND]',_0xc80c('0x59'));}}})['catch'](function(_0x485ea6){logger[_0xc80c('0x61')](_0xc80c('0x62'),util[_0xc80c('0x63')](_0x485ea6,{'showHidden':!![],'depth':null}));});};exports[_0xc80c('0x64')]=function(_0x47e04a,_0x2d17b1,_0x1bc557,_0x3e38bb,_0x5b906b,_0x2b7b46){var _0x747dd9,_0x533c61;_0x2b7b46[_0xc80c('0x10')]=intUtil['stripTrailingSlash'](_0x2b7b46[_0xc80c('0x10')]);_0x2b7b46[_0xc80c('0x47')]=intUtil['stripTrailingSlash'](_0x2b7b46['serverUrl']);if(_0x5b906b&&_0x5b906b['monitor_format']){logger['info']('['+_0x2d17b1['lastevent']['toUpperCase']()+']',_0xc80c('0x49'));_0x2d17b1[_0xc80c('0x5d')]=util[_0xc80c('0xe')](_0xc80c('0x65'),_0x2b7b46[_0xc80c('0x47')],_0x2d17b1[_0xc80c('0x4a')],md5(_0x2d17b1[_0xc80c('0x4a')]));}else{_0x2d17b1[_0xc80c('0x5d')]='';}headers[_0xc80c('0x4b')]=getAuth(_0x2b7b46);return getUser(_0x2b7b46)['then'](function(_0x3ecbc8){_0x747dd9=_0x3ecbc8;logger[_0xc80c('0xd')]('The\x20User\x20ID\x20is:',_0x747dd9['id']);return getEndUser(_0x2b7b46,_0x2d17b1[_0xc80c('0x4e')],_0x2d17b1[_0xc80c('0x4f')]);})[_0xc80c('0x18')](function(_0x3ceda0){_0x533c61=_0x3ceda0;logger['info'](_0xc80c('0x5e'),_0x533c61['id']);return getTicket(_0x2b7b46,_0x747dd9,_0x533c61,_0x1bc557,_0x2d17b1);})['then'](function(_0x7a9c61){if(_0x7a9c61){logger['info']('The\x20Ticket\x20ID\x20is:',_0x7a9c61['id']);}})[_0xc80c('0x66')](function(_0x364846){logger[_0xc80c('0x61')]('['+_0x2d17b1[_0xc80c('0x67')][_0xc80c('0x68')]()+']'+'\x20Error\x20running\x20Zendesk\x20integration',util['inspect'](_0x364846,{'showHidden':!![],'depth':null}));});};
\ No newline at end of file