Built motion from commit f67b3b02.|2.6.31
[motion2.git] / server / services / ami / trigger / integration / zendesk.js
index d891e72..f2e06ec 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x7b3e=['%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','recordingURL','Authorization','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','user:%s','trigger:browser:url','%s/agent/tickets/%s','/api/v2','Zendesk\x20account\x20type\x20not\x20recognized','[QUEUE]\x20Error\x20running\x20Zendesk\x20integration','inspect','outbound','recordingFormat','none','The\x20Ticket\x20ID\x20is:','[OUTBOUND]','newTab','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','replace','error','[OUTBOUND]\x20Error\x20running\x20Zendesk\x20integration','unmanaged','lastevent','toUpperCase','catch','\x20Error\x20running\x20Zendesk\x20integration','lodash','md5','util','../../../../config/environment','../../../../config/logger','redis','defaults','localhost','emit','application/json','info','Creating\x20new\x20ticket...','format','POST','merge','Tags','name','getString','Descriptions','Fields','then','Ticket\x20created!','validateEmail','Getting\x20agent\x20with\x20email','%s/search.json','remoteUri','type:user\x20role:agent\x20email:%s','count','results','agent','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','%s/users/me.json','user','Admin\x20account\x20selected.','type:user\x20role:end-user\x20phone:%s','length','filter','end-user','first','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','%s/users.json','Caller\x20-\x20%s','Enduser\x20created.','authType','password','%s:%s','username','%s/token:%s','Basic\x20%s','base64','debug','[HTTP]','map','forEach','includes','string','picklist','nameField','customField','toLowerCase','content','toString','idField','custom_fields','push','type','variableName','Variable','queue','stripTrailingSlash','serverUrl','[QUEUE]','Recording\x20is\x20enabled!'];(function(_0x59710f,_0x44c7f0){var _0xaae66a=function(_0x1c2397){while(--_0x1c2397){_0x59710f['push'](_0x59710f['shift']());}};_0xaae66a(++_0x44c7f0);}(_0x7b3e,0x1ce));var _0xe7b3=function(_0x5b69b8,_0x50486a){_0x5b69b8=_0x5b69b8-0x0;var _0x533e6d=_0x7b3e[_0x5b69b8];return _0x533e6d;};'use strict';var _=require(_0xe7b3('0x0'));var rp=require('request-promise');var md5=require(_0xe7b3('0x1'));var util=require(_0xe7b3('0x2'));var Redis=require('ioredis');var intUtil=require('./util');var config=require(_0xe7b3('0x3'));var logger=require(_0xe7b3('0x4'))('zendesk');config[_0xe7b3('0x5')]=_[_0xe7b3('0x6')](config[_0xe7b3('0x5')],{'host':_0xe7b3('0x7'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0xe7b3('0x5')]));function emit(_0x394695,_0xa1d1ff,_0x5a8b28){io['to'](_0x394695)[_0xe7b3('0x8')](_0xa1d1ff,_0x5a8b28);}var headers={'Content-Type':'application/json','Accept':_0xe7b3('0x9')};function getTicket(_0x41ba1c,_0x4389a0,_0x334f49,_0x2143aa,_0x25592a){logger[_0xe7b3('0xa')](_0xe7b3('0xb'));return request({'uri':util[_0xe7b3('0xc')]('%s/tickets.json',_0x41ba1c['remoteUri']),'method':_0xe7b3('0xd'),'body':{'ticket':_[_0xe7b3('0xe')]({'requester_id':_0x334f49['id'],'submitter_id':_0x4389a0?_0x4389a0['id']:undefined,'assignee_id':_0x4389a0?_0x4389a0['id']:undefined,'tags':getTags(_0x2143aa[_0xe7b3('0xf')],_0xe7b3('0x10')),'subject':intUtil[_0xe7b3('0x11')](_0x2143aa['Subjects'],_0x25592a,'\x20'),'description':intUtil[_0xe7b3('0x11')](_0x2143aa[_0xe7b3('0x12')],_0x25592a,'\x0a'),'comment':{'public':![],'body':intUtil[_0xe7b3('0x11')](_0x2143aa[_0xe7b3('0x12')],_0x25592a,'\x0a')}},getCustomFields(_0x2143aa[_0xe7b3('0x13')],_0x25592a))}})[_0xe7b3('0x14')](function(_0x56c067){logger[_0xe7b3('0xa')](_0xe7b3('0x15'));return _0x56c067['ticket'];});}function getUser(_0x1650d3,_0x56f2dd){if(intUtil[_0xe7b3('0x16')](_0x56f2dd)){logger['info'](_0xe7b3('0x17'),_0x56f2dd);return request({'uri':util[_0xe7b3('0xc')](_0xe7b3('0x18'),_0x1650d3[_0xe7b3('0x19')]),'qs':{'query':util['format'](_0xe7b3('0x1a'),_0x56f2dd)}})['then'](function(_0x4b551a){if(_0x4b551a[_0xe7b3('0x1b')]){logger[_0xe7b3('0xa')]('Agent\x20found!');return _['find'](_0x4b551a[_0xe7b3('0x1c')],{'email':_0x56f2dd,'role':_0xe7b3('0x1d')});}else{logger[_0xe7b3('0xa')](_0xe7b3('0x1e'));return request({'uri':util[_0xe7b3('0xc')](_0xe7b3('0x1f'),_0x1650d3[_0xe7b3('0x19')])})[_0xe7b3('0x14')](function(_0xa78c1){logger['info']('Admin\x20account\x20selected.');return _0xa78c1[_0xe7b3('0x20')];});}});}else{logger[_0xe7b3('0xa')](_0xe7b3('0x1e'));return request({'uri':util[_0xe7b3('0xc')](_0xe7b3('0x1f'),_0x1650d3[_0xe7b3('0x19')])})[_0xe7b3('0x14')](function(_0x5b038c){logger['info'](_0xe7b3('0x21'));return _0x5b038c[_0xe7b3('0x20')];});}}function getEndUser(_0x380666,_0x341e59,_0x4c9345){logger[_0xe7b3('0xa')]('Searching\x20enduser\x20with\x20phone',_0x4c9345);return request({'uri':util['format']('%s/search.json',_0x380666['remoteUri']),'qs':{'query':util[_0xe7b3('0xc')](_0xe7b3('0x22'),_0x4c9345)}})[_0xe7b3('0x14')](function(_0x51149d){var _0x4fa188;if(_0x51149d[_0xe7b3('0x1c')][_0xe7b3('0x23')]){_0x51149d[_0xe7b3('0x1c')]=_[_0xe7b3('0x24')](_0x51149d['results'],{'suspended':![],'role':_0xe7b3('0x25')});if(_0x51149d[_0xe7b3('0x1c')]['length']){_0x4fa188=_[_0xe7b3('0x26')](_0x51149d[_0xe7b3('0x1c')]);}}if(_0x4fa188){logger[_0xe7b3('0xa')]('Enduser\x20found!');return _0x4fa188;}else{logger[_0xe7b3('0xa')](_0xe7b3('0x27'));return request({'uri':util[_0xe7b3('0xc')](_0xe7b3('0x28'),_0x380666[_0xe7b3('0x19')]),'method':'POST','body':{'user':{'role':_0xe7b3('0x25'),'name':util['format'](_0xe7b3('0x29'),_0x341e59||_0x4c9345),'phone':_0x4c9345}}})[_0xe7b3('0x14')](function(_0x1f7cff){logger['info'](_0xe7b3('0x2a'));return _0x1f7cff[_0xe7b3('0x20')];});}});}function getAuth(_0x45a785){var _0x295b73;if(_0x45a785[_0xe7b3('0x2b')]===_0xe7b3('0x2c')){_0x295b73=util[_0xe7b3('0xc')](_0xe7b3('0x2d'),_0x45a785[_0xe7b3('0x2e')],_0x45a785['password']);}else if(_0x45a785[_0xe7b3('0x2b')]==='token'){_0x295b73=util[_0xe7b3('0xc')](_0xe7b3('0x2f'),_0x45a785[_0xe7b3('0x2e')],_0x45a785['token']);}return util[_0xe7b3('0xc')](_0xe7b3('0x30'),new Buffer(_0x295b73)['toString'](_0xe7b3('0x31')));}function request(_0x1182f5){logger[_0xe7b3('0x32')](_0xe7b3('0x33'),JSON['stringify'](_0x1182f5));return rp(_[_0xe7b3('0x6')](_0x1182f5,{'method':'GET','headers':headers,'json':!![]}));}function getTags(_0x56a6f2,_0x482a9c){var _0x7e3669=[];if(_0x56a6f2&&_0x56a6f2[_0xe7b3('0x23')]>0x0){_0x7e3669=_[_0xe7b3('0x34')](_0x56a6f2,_0x482a9c);}return _0x7e3669;}function getCustomFields(_0x344a1d,_0x108f8b){var _0xaf1e0f=[];var _0x1b7012={'custom_fields':[]};if(_0x344a1d[_0xe7b3('0x23')]>0x0){_[_0xe7b3('0x35')](_0x344a1d,function(_0x337449){if(_[_0xe7b3('0x36')]([_0xe7b3('0x37'),_0xe7b3('0x38')],_0x337449['type'])&&_0x337449[_0xe7b3('0x39')]&&!_0x337449[_0xe7b3('0x3a')]){_0x1b7012[_0x337449[_0xe7b3('0x39')][_0xe7b3('0x3b')]()]=_0x337449[_0xe7b3('0x3c')][_0xe7b3('0x3d')]();}else if(_[_0xe7b3('0x36')]([_0xe7b3('0x37'),_0xe7b3('0x38')],_0x337449['type'])&&_0x337449[_0xe7b3('0x3e')]&&_0x337449[_0xe7b3('0x3a')]){_0x1b7012[_0xe7b3('0x3f')][_0xe7b3('0x40')]({'id':_0x337449['idField'],'value':_0x337449[_0xe7b3('0x3c')][_0xe7b3('0x3d')]()});}else if(_0x337449[_0xe7b3('0x41')]==='variable'&&_0x337449[_0xe7b3('0x42')]&&_0x337449[_0xe7b3('0x3e')]&&_0x337449[_0xe7b3('0x3a')]){_0x108f8b[_0x337449[_0xe7b3('0x42')]]&&_0x1b7012[_0xe7b3('0x3f')][_0xe7b3('0x40')]({'id':_0x337449[_0xe7b3('0x3e')],'value':_0x108f8b[_0x337449[_0xe7b3('0x42')]][_0xe7b3('0x3d')]()});}else if(_0x337449['type']==='customVariable'&&_0x337449[_0xe7b3('0x43')]&&_0x337449['Variable'][_0xe7b3('0x10')]&&_0x337449[_0xe7b3('0x3e')]&&_0x337449[_0xe7b3('0x3a')]){_0x108f8b[_0x337449[_0xe7b3('0x43')][_0xe7b3('0x10')][_0xe7b3('0x3b')]()]&&_0x1b7012['custom_fields'][_0xe7b3('0x40')]({'id':_0x337449[_0xe7b3('0x3e')],'value':_0x108f8b[_0x337449[_0xe7b3('0x43')]['name'][_0xe7b3('0x3b')]()][_0xe7b3('0x3d')]()});}});}return _0x1b7012;}exports[_0xe7b3('0x44')]=function(_0x20ae2a,_0x478d88,_0x3ccd11,_0x3a5d35,_0x28a0ae,_0x584cec){var _0x46beac,_0x48fa06;_0x584cec[_0xe7b3('0x19')]=intUtil['stripTrailingSlash'](_0x584cec[_0xe7b3('0x19')]);_0x584cec['serverUrl']=intUtil[_0xe7b3('0x45')](_0x584cec[_0xe7b3('0x46')]);if(_0x28a0ae&&_0x28a0ae['monitor_format']){logger['info'](_0xe7b3('0x47'),_0xe7b3('0x48'));_0x478d88['recordingURL']=util['format'](_0xe7b3('0x49'),_0x584cec['serverUrl'],_0x478d88['uniqueid'],md5(_0x478d88[_0xe7b3('0x4a')]));}else{_0x478d88[_0xe7b3('0x4b')]='';}headers[_0xe7b3('0x4c')]=getAuth(_0x584cec);return getUser(_0x584cec,_0x3a5d35[_0xe7b3('0x4d')])[_0xe7b3('0x14')](function(_0x5c4723){_0x46beac=_0x5c4723;logger['info'](_0xe7b3('0x4e'),_0x46beac['id']);return getEndUser(_0x584cec,_0x478d88[_0xe7b3('0x4f')],_0x478d88[_0xe7b3('0x50')]);})[_0xe7b3('0x14')](function(_0x312828){_0x48fa06=_0x312828;logger[_0xe7b3('0xa')](_0xe7b3('0x51'),_0x48fa06['id']);return getTicket(_0x584cec,_0x46beac,_0x48fa06,_0x3ccd11,_0x478d88);})['then'](function(_0x1f167d){if(_0x1f167d){logger[_0xe7b3('0xa')]('The\x20Ticket\x20ID\x20is:',_0x1f167d['id']);switch(_0x584cec['type']){case _0xe7b3('0x52'):logger[_0xe7b3('0xa')]('[QUEUE]',_0xe7b3('0x53'));return request({'uri':util[_0xe7b3('0xc')](_0xe7b3('0x54'),_0x584cec[_0xe7b3('0x19')],_0x46beac['id'],_0x1f167d['id']),'method':'POST'});case'newTab':logger[_0xe7b3('0xa')]('[QUEUE]','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0xe7b3('0xc')](_0xe7b3('0x55'),_0x3a5d35[_0xe7b3('0x10')]),_0xe7b3('0x56'),{'uri':util[_0xe7b3('0xc')](_0xe7b3('0x57'),_0x584cec[_0xe7b3('0x19')]['replace'](_0xe7b3('0x58'),''),_0x1f167d['id'])});break;default:logger['error']('[QUEUE]',_0xe7b3('0x59'));}}})['catch'](function(_0x23fe00){logger['error'](_0xe7b3('0x5a'),util[_0xe7b3('0x5b')](_0x23fe00,{'showHidden':!![],'depth':null}));});};exports[_0xe7b3('0x5c')]=function(_0x669793,_0x4d93df,_0x53d035,_0x511896,_0x5ccfc7,_0x733f61,_0x598726){var _0x4212da,_0x4d6399;_0x733f61[_0xe7b3('0x19')]=intUtil[_0xe7b3('0x45')](_0x733f61[_0xe7b3('0x19')]);_0x733f61[_0xe7b3('0x46')]=intUtil[_0xe7b3('0x45')](_0x733f61[_0xe7b3('0x46')]);if(_0x598726&&_0x598726[_0xe7b3('0x5d')]&&_0x598726[_0xe7b3('0x5d')]!==_0xe7b3('0x5e')){logger[_0xe7b3('0xa')]('[OUTBOUND]','Recording\x20is\x20enabled!');_0x4d93df[_0xe7b3('0x4b')]=util[_0xe7b3('0xc')](_0xe7b3('0x49'),_0x733f61[_0xe7b3('0x46')],_0x4d93df['uniqueid'],md5(_0x4d93df['uniqueid']));}headers['Authorization']=getAuth(_0x733f61);return getUser(_0x733f61,_0x511896[_0xe7b3('0x4d')])[_0xe7b3('0x14')](function(_0x5059c0){_0x4212da=_0x5059c0;logger[_0xe7b3('0xa')](_0xe7b3('0x4e'),_0x4212da['id']);return getEndUser(_0x733f61,_0x4d93df['destcalleridname'],_0x4d93df['destcalleridnum']);})[_0xe7b3('0x14')](function(_0x8cebe5){_0x4d6399=_0x8cebe5;logger['info']('The\x20Enduser\x20ID\x20is:',_0x4d6399['id']);return getTicket(_0x733f61,_0x4212da,_0x4d6399,_0x53d035,_0x4d93df);})[_0xe7b3('0x14')](function(_0x114252){if(_0x114252){logger['info'](_0xe7b3('0x5f'),_0x114252['id']);switch(_0x733f61[_0xe7b3('0x41')]){case _0xe7b3('0x52'):logger[_0xe7b3('0xa')](_0xe7b3('0x60'),_0xe7b3('0x53'));return request({'uri':util['format']('%s/channels/voice/agents/%d/tickets/%d/display.json',_0x733f61['remoteUri'],_0x4212da['id'],_0x114252['id']),'method':_0xe7b3('0xd')});case _0xe7b3('0x61'):logger[_0xe7b3('0xa')](_0xe7b3('0x60'),_0xe7b3('0x62'));emit(util[_0xe7b3('0xc')](_0xe7b3('0x55'),_0x511896[_0xe7b3('0x10')]),_0xe7b3('0x56'),{'uri':util[_0xe7b3('0xc')]('%s/agent/tickets/%s',_0x733f61[_0xe7b3('0x19')][_0xe7b3('0x63')](_0xe7b3('0x58'),''),_0x114252['id'])});break;default:logger[_0xe7b3('0x64')](_0xe7b3('0x60'),_0xe7b3('0x59'));}}})['catch'](function(_0x5eb3cd){logger[_0xe7b3('0x64')](_0xe7b3('0x65'),util[_0xe7b3('0x5b')](_0x5eb3cd,{'showHidden':!![],'depth':null}));});};exports[_0xe7b3('0x66')]=function(_0x3c4fcb,_0x2980f3,_0x5e5054,_0x2444fb,_0x260abd,_0x1fdea5){var _0x1b94de,_0x339f93;_0x1fdea5['remoteUri']=intUtil['stripTrailingSlash'](_0x1fdea5[_0xe7b3('0x19')]);_0x1fdea5['serverUrl']=intUtil[_0xe7b3('0x45')](_0x1fdea5[_0xe7b3('0x46')]);if(_0x260abd&&_0x260abd['monitor_format']){logger[_0xe7b3('0xa')]('['+_0x2980f3[_0xe7b3('0x67')][_0xe7b3('0x68')]()+']',_0xe7b3('0x48'));_0x2980f3['recordingURL']=util['format']('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x1fdea5['serverUrl'],_0x2980f3[_0xe7b3('0x4a')],md5(_0x2980f3[_0xe7b3('0x4a')]));}else{_0x2980f3['recordingURL']='';}headers['Authorization']=getAuth(_0x1fdea5);return getUser(_0x1fdea5)[_0xe7b3('0x14')](function(_0x5e8d71){_0x1b94de=_0x5e8d71;logger[_0xe7b3('0xa')](_0xe7b3('0x4e'),_0x1b94de['id']);return getEndUser(_0x1fdea5,_0x2980f3['calleridname'],_0x2980f3[_0xe7b3('0x50')]);})[_0xe7b3('0x14')](function(_0x143a80){_0x339f93=_0x143a80;logger['info']('The\x20Enduser\x20ID\x20is:',_0x339f93['id']);return getTicket(_0x1fdea5,_0x1b94de,_0x339f93,_0x5e5054,_0x2980f3);})[_0xe7b3('0x14')](function(_0x1e108f){if(_0x1e108f){logger[_0xe7b3('0xa')]('The\x20Ticket\x20ID\x20is:',_0x1e108f['id']);}})[_0xe7b3('0x69')](function(_0x353da2){logger['error']('['+_0x2980f3[_0xe7b3('0x67')][_0xe7b3('0x68')]()+']'+_0xe7b3('0x6a'),util[_0xe7b3('0x5b')](_0x353da2,{'showHidden':!![],'depth':null}));});};
\ No newline at end of file
+var _0xacfc=['length','filter','end-user','first','Enduser\x20found!','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','%s/users.json','POST','Caller\x20-\x20%s','Enduser\x20created.','authType','password','%s:%s','username','token','Basic\x20%s','toString','base64','debug','[HTTP]','stringify','map','type','nameField','customField','toLowerCase','content','includes','string','picklist','push','idField','variable','variableName','customVariable','Variable','name','custom_fields','queue','stripTrailingSlash','monitor_format','[QUEUE]','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','serverUrl','uniqueid','recordingURL','Authorization','email','The\x20User\x20ID\x20is:','calleridnum','The\x20Ticket\x20ID\x20is:','integrationTab','%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','catch','[QUEUE]\x20Error\x20running\x20Zendesk\x20integration','inspect','outbound','recordingFormat','none','[OUTBOUND]','Recording\x20is\x20enabled!','destcalleridname','destcalleridnum','Displaying\x20ticket\x20to\x20agent...','[OUTBOUND]\x20Error\x20running\x20Zendesk\x20integration','unmanaged','lastevent','toUpperCase','calleridname','The\x20Enduser\x20ID\x20is:','\x20Error\x20running\x20Zendesk\x20integration','lodash','request-promise','md5','util','ioredis','../../../../config/environment','defaults','socket.io-emitter','redis','emit','application/json','info','Creating\x20new\x20ticket...','format','%s/tickets.json','remoteUri','merge','Tags','getString','Subjects','Descriptions','Fields','then','Ticket\x20created!','ticket','validateEmail','Getting\x20agent\x20with\x20email','%s/search.json','type:user\x20role:agent\x20email:%s','Agent\x20found!','find','results','agent','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','%s/users/me.json','user','Admin\x20account\x20selected.','Searching\x20enduser\x20with\x20phone','type:user\x20role:end-user\x20phone:%s'];(function(_0x271d4e,_0x29beda){var _0x56ba4d=function(_0x1ed290){while(--_0x1ed290){_0x271d4e['push'](_0x271d4e['shift']());}};_0x56ba4d(++_0x29beda);}(_0xacfc,0x1b5));var _0xcacf=function(_0x112be7,_0x5d5168){_0x112be7=_0x112be7-0x0;var _0x3de668=_0xacfc[_0x112be7];return _0x3de668;};'use strict';var _=require(_0xcacf('0x0'));var rp=require(_0xcacf('0x1'));var md5=require(_0xcacf('0x2'));var util=require(_0xcacf('0x3'));var Redis=require(_0xcacf('0x4'));var intUtil=require('./util');var config=require(_0xcacf('0x5'));var logger=require('../../../../config/logger')('zendesk');config['redis']=_[_0xcacf('0x6')](config['redis'],{'host':'localhost','port':0x18eb});var io=require(_0xcacf('0x7'))(new Redis(config[_0xcacf('0x8')]));function emit(_0x5c4807,_0x59ab96,_0x182777){io['to'](_0x5c4807)[_0xcacf('0x9')](_0x59ab96,_0x182777);}var headers={'Content-Type':'application/json','Accept':_0xcacf('0xa')};function getTicket(_0x305bdb,_0x22bbe7,_0x597eb1,_0x4ea33a,_0x7e2291){logger[_0xcacf('0xb')](_0xcacf('0xc'));return request({'uri':util[_0xcacf('0xd')](_0xcacf('0xe'),_0x305bdb[_0xcacf('0xf')]),'method':'POST','body':{'ticket':_[_0xcacf('0x10')]({'requester_id':_0x597eb1['id'],'submitter_id':_0x22bbe7?_0x22bbe7['id']:undefined,'assignee_id':_0x22bbe7?_0x22bbe7['id']:undefined,'tags':getTags(_0x4ea33a[_0xcacf('0x11')],'name'),'subject':intUtil[_0xcacf('0x12')](_0x4ea33a[_0xcacf('0x13')],_0x7e2291,'\x20'),'description':intUtil[_0xcacf('0x12')](_0x4ea33a[_0xcacf('0x14')],_0x7e2291,'\x0a'),'comment':{'public':![],'body':intUtil[_0xcacf('0x12')](_0x4ea33a[_0xcacf('0x14')],_0x7e2291,'\x0a')}},getCustomFields(_0x4ea33a[_0xcacf('0x15')],_0x7e2291))}})[_0xcacf('0x16')](function(_0x137e26){logger[_0xcacf('0xb')](_0xcacf('0x17'));return _0x137e26[_0xcacf('0x18')];});}function getUser(_0x149aca,_0x1d27b3){if(intUtil[_0xcacf('0x19')](_0x1d27b3)){logger[_0xcacf('0xb')](_0xcacf('0x1a'),_0x1d27b3);return request({'uri':util['format'](_0xcacf('0x1b'),_0x149aca[_0xcacf('0xf')]),'qs':{'query':util[_0xcacf('0xd')](_0xcacf('0x1c'),_0x1d27b3)}})['then'](function(_0xa4b1c1){if(_0xa4b1c1['count']){logger[_0xcacf('0xb')](_0xcacf('0x1d'));return _[_0xcacf('0x1e')](_0xa4b1c1[_0xcacf('0x1f')],{'email':_0x1d27b3,'role':_0xcacf('0x20')});}else{logger['info'](_0xcacf('0x21'));return request({'uri':util[_0xcacf('0xd')](_0xcacf('0x22'),_0x149aca['remoteUri'])})[_0xcacf('0x16')](function(_0x2b72b6){logger[_0xcacf('0xb')]('Admin\x20account\x20selected.');return _0x2b72b6[_0xcacf('0x23')];});}});}else{logger[_0xcacf('0xb')]('Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!');return request({'uri':util[_0xcacf('0xd')](_0xcacf('0x22'),_0x149aca['remoteUri'])})[_0xcacf('0x16')](function(_0x56c7ea){logger[_0xcacf('0xb')](_0xcacf('0x24'));return _0x56c7ea['user'];});}}function getEndUser(_0x2785fc,_0x3a172a,_0x21e8f9){logger[_0xcacf('0xb')](_0xcacf('0x25'),_0x21e8f9);return request({'uri':util[_0xcacf('0xd')](_0xcacf('0x1b'),_0x2785fc[_0xcacf('0xf')]),'qs':{'query':util['format'](_0xcacf('0x26'),_0x21e8f9)}})[_0xcacf('0x16')](function(_0x551e81){var _0x4825d6;if(_0x551e81[_0xcacf('0x1f')][_0xcacf('0x27')]){_0x551e81['results']=_[_0xcacf('0x28')](_0x551e81['results'],{'suspended':![],'role':_0xcacf('0x29')});if(_0x551e81[_0xcacf('0x1f')][_0xcacf('0x27')]){_0x4825d6=_[_0xcacf('0x2a')](_0x551e81[_0xcacf('0x1f')]);}}if(_0x4825d6){logger[_0xcacf('0xb')](_0xcacf('0x2b'));return _0x4825d6;}else{logger[_0xcacf('0xb')](_0xcacf('0x2c'));return request({'uri':util['format'](_0xcacf('0x2d'),_0x2785fc[_0xcacf('0xf')]),'method':_0xcacf('0x2e'),'body':{'user':{'role':_0xcacf('0x29'),'name':util[_0xcacf('0xd')](_0xcacf('0x2f'),_0x3a172a||_0x21e8f9),'phone':_0x21e8f9}}})[_0xcacf('0x16')](function(_0x2e0312){logger[_0xcacf('0xb')](_0xcacf('0x30'));return _0x2e0312[_0xcacf('0x23')];});}});}function getAuth(_0x2a7309){var _0x3428a4;if(_0x2a7309[_0xcacf('0x31')]===_0xcacf('0x32')){_0x3428a4=util['format'](_0xcacf('0x33'),_0x2a7309[_0xcacf('0x34')],_0x2a7309[_0xcacf('0x32')]);}else if(_0x2a7309[_0xcacf('0x31')]==='token'){_0x3428a4=util[_0xcacf('0xd')]('%s/token:%s',_0x2a7309[_0xcacf('0x34')],_0x2a7309[_0xcacf('0x35')]);}return util[_0xcacf('0xd')](_0xcacf('0x36'),new Buffer(_0x3428a4)[_0xcacf('0x37')](_0xcacf('0x38')));}function request(_0x21af75){logger[_0xcacf('0x39')](_0xcacf('0x3a'),JSON[_0xcacf('0x3b')](_0x21af75));return rp(_[_0xcacf('0x6')](_0x21af75,{'method':'GET','headers':headers,'json':!![]}));}function getTags(_0x14f3a8,_0x54bc6d){var _0x2b811f=[];if(_0x14f3a8&&_0x14f3a8[_0xcacf('0x27')]>0x0){_0x2b811f=_[_0xcacf('0x3c')](_0x14f3a8,_0x54bc6d);}return _0x2b811f;}function getCustomFields(_0x5a80b9,_0x10ea51){var _0x4f4adf=[];var _0x114596={'custom_fields':[]};if(_0x5a80b9[_0xcacf('0x27')]>0x0){_['forEach'](_0x5a80b9,function(_0x113cd1){if(_['includes'](['string','picklist'],_0x113cd1[_0xcacf('0x3d')])&&_0x113cd1[_0xcacf('0x3e')]&&!_0x113cd1[_0xcacf('0x3f')]){_0x114596[_0x113cd1[_0xcacf('0x3e')][_0xcacf('0x40')]()]=_0x113cd1[_0xcacf('0x41')][_0xcacf('0x37')]();}else if(_[_0xcacf('0x42')]([_0xcacf('0x43'),_0xcacf('0x44')],_0x113cd1['type'])&&_0x113cd1['idField']&&_0x113cd1[_0xcacf('0x3f')]){_0x114596['custom_fields'][_0xcacf('0x45')]({'id':_0x113cd1[_0xcacf('0x46')],'value':_0x113cd1[_0xcacf('0x41')]['toString']()});}else if(_0x113cd1['type']===_0xcacf('0x47')&&_0x113cd1[_0xcacf('0x48')]&&_0x113cd1[_0xcacf('0x46')]&&_0x113cd1[_0xcacf('0x3f')]){_0x10ea51[_0x113cd1[_0xcacf('0x48')]]&&_0x114596['custom_fields'][_0xcacf('0x45')]({'id':_0x113cd1['idField'],'value':_0x10ea51[_0x113cd1[_0xcacf('0x48')]][_0xcacf('0x37')]()});}else if(_0x113cd1[_0xcacf('0x3d')]===_0xcacf('0x49')&&_0x113cd1[_0xcacf('0x4a')]&&_0x113cd1[_0xcacf('0x4a')][_0xcacf('0x4b')]&&_0x113cd1[_0xcacf('0x46')]&&_0x113cd1[_0xcacf('0x3f')]){_0x10ea51[_0x113cd1[_0xcacf('0x4a')][_0xcacf('0x4b')]['toLowerCase']()]&&_0x114596[_0xcacf('0x4c')][_0xcacf('0x45')]({'id':_0x113cd1['idField'],'value':_0x10ea51[_0x113cd1[_0xcacf('0x4a')][_0xcacf('0x4b')][_0xcacf('0x40')]()]['toString']()});}});}return _0x114596;}exports[_0xcacf('0x4d')]=function(_0x5bc67e,_0x12ab81,_0x4ee367,_0x1e8ad8,_0xf69f64,_0x5b9fae){var _0x165a5d,_0x815e69;_0x5b9fae['remoteUri']=intUtil[_0xcacf('0x4e')](_0x5b9fae['remoteUri']);_0x5b9fae['serverUrl']=intUtil['stripTrailingSlash'](_0x5b9fae['serverUrl']);if(_0xf69f64&&_0xf69f64[_0xcacf('0x4f')]){logger[_0xcacf('0xb')](_0xcacf('0x50'),'Recording\x20is\x20enabled!');_0x12ab81['recordingURL']=util[_0xcacf('0xd')](_0xcacf('0x51'),_0x5b9fae[_0xcacf('0x52')],_0x12ab81[_0xcacf('0x53')],md5(_0x12ab81[_0xcacf('0x53')]));}else{_0x12ab81[_0xcacf('0x54')]='';}headers[_0xcacf('0x55')]=getAuth(_0x5b9fae);return getUser(_0x5b9fae,_0x1e8ad8[_0xcacf('0x56')])['then'](function(_0x683a23){_0x165a5d=_0x683a23;logger[_0xcacf('0xb')](_0xcacf('0x57'),_0x165a5d['id']);return getEndUser(_0x5b9fae,_0x12ab81['calleridname'],_0x12ab81[_0xcacf('0x58')]);})[_0xcacf('0x16')](function(_0x412849){_0x815e69=_0x412849;logger[_0xcacf('0xb')]('The\x20Enduser\x20ID\x20is:',_0x815e69['id']);return getTicket(_0x5b9fae,_0x165a5d,_0x815e69,_0x4ee367,_0x12ab81);})[_0xcacf('0x16')](function(_0x55fb1f){if(_0x55fb1f){logger[_0xcacf('0xb')](_0xcacf('0x59'),_0x55fb1f['id']);switch(_0x5b9fae[_0xcacf('0x3d')]){case _0xcacf('0x5a'):logger[_0xcacf('0xb')]('[QUEUE]','Displaying\x20ticket\x20to\x20agent...');return request({'uri':util['format'](_0xcacf('0x5b'),_0x5b9fae['remoteUri'],_0x165a5d['id'],_0x55fb1f['id']),'method':_0xcacf('0x2e')});case _0xcacf('0x5c'):logger[_0xcacf('0xb')](_0xcacf('0x50'),_0xcacf('0x5d'));emit(util['format'](_0xcacf('0x5e'),_0x1e8ad8[_0xcacf('0x4b')]),_0xcacf('0x5f'),{'uri':util[_0xcacf('0xd')](_0xcacf('0x60'),_0x5b9fae[_0xcacf('0xf')][_0xcacf('0x61')](_0xcacf('0x62'),''),_0x55fb1f['id'])});break;default:logger[_0xcacf('0x63')](_0xcacf('0x50'),_0xcacf('0x64'));}}})[_0xcacf('0x65')](function(_0x3b095f){logger['error'](_0xcacf('0x66'),util[_0xcacf('0x67')](_0x3b095f,{'showHidden':!![],'depth':null}));});};exports[_0xcacf('0x68')]=function(_0x448407,_0x24face,_0x11c739,_0x1b926b,_0x38ea3c,_0x5a0c5c,_0x1e103f){var _0x205bc8,_0xe9da9c;_0x5a0c5c['remoteUri']=intUtil[_0xcacf('0x4e')](_0x5a0c5c['remoteUri']);_0x5a0c5c[_0xcacf('0x52')]=intUtil[_0xcacf('0x4e')](_0x5a0c5c[_0xcacf('0x52')]);if(_0x1e103f&&_0x1e103f[_0xcacf('0x69')]&&_0x1e103f['recordingFormat']!==_0xcacf('0x6a')){logger[_0xcacf('0xb')](_0xcacf('0x6b'),_0xcacf('0x6c'));_0x24face[_0xcacf('0x54')]=util[_0xcacf('0xd')](_0xcacf('0x51'),_0x5a0c5c[_0xcacf('0x52')],_0x24face['uniqueid'],md5(_0x24face['uniqueid']));}headers[_0xcacf('0x55')]=getAuth(_0x5a0c5c);return getUser(_0x5a0c5c,_0x1b926b[_0xcacf('0x56')])[_0xcacf('0x16')](function(_0x39ec9b){_0x205bc8=_0x39ec9b;logger[_0xcacf('0xb')]('The\x20User\x20ID\x20is:',_0x205bc8['id']);return getEndUser(_0x5a0c5c,_0x24face[_0xcacf('0x6d')],_0x24face[_0xcacf('0x6e')]);})['then'](function(_0x4e2e23){_0xe9da9c=_0x4e2e23;logger[_0xcacf('0xb')]('The\x20Enduser\x20ID\x20is:',_0xe9da9c['id']);return getTicket(_0x5a0c5c,_0x205bc8,_0xe9da9c,_0x11c739,_0x24face);})[_0xcacf('0x16')](function(_0x2de5b5){if(_0x2de5b5){logger[_0xcacf('0xb')](_0xcacf('0x59'),_0x2de5b5['id']);switch(_0x5a0c5c[_0xcacf('0x3d')]){case _0xcacf('0x5a'):logger[_0xcacf('0xb')](_0xcacf('0x6b'),_0xcacf('0x6f'));return request({'uri':util[_0xcacf('0xd')](_0xcacf('0x5b'),_0x5a0c5c[_0xcacf('0xf')],_0x205bc8['id'],_0x2de5b5['id']),'method':_0xcacf('0x2e')});case _0xcacf('0x5c'):logger['info'](_0xcacf('0x6b'),_0xcacf('0x5d'));emit(util[_0xcacf('0xd')](_0xcacf('0x5e'),_0x1b926b[_0xcacf('0x4b')]),_0xcacf('0x5f'),{'uri':util['format'](_0xcacf('0x60'),_0x5a0c5c[_0xcacf('0xf')]['replace'](_0xcacf('0x62'),''),_0x2de5b5['id'])});break;default:logger[_0xcacf('0x63')](_0xcacf('0x6b'),'Zendesk\x20account\x20type\x20not\x20recognized');}}})[_0xcacf('0x65')](function(_0x2869cc){logger['error'](_0xcacf('0x70'),util[_0xcacf('0x67')](_0x2869cc,{'showHidden':!![],'depth':null}));});};exports[_0xcacf('0x71')]=function(_0x214496,_0x23a0ac,_0x5e47b7,_0xdcae59,_0x55408e,_0x5d9d07){var _0x3de705,_0x2e3f9f;_0x5d9d07[_0xcacf('0xf')]=intUtil['stripTrailingSlash'](_0x5d9d07[_0xcacf('0xf')]);_0x5d9d07['serverUrl']=intUtil[_0xcacf('0x4e')](_0x5d9d07[_0xcacf('0x52')]);if(_0x55408e&&_0x55408e['monitor_format']){logger[_0xcacf('0xb')]('['+_0x23a0ac[_0xcacf('0x72')][_0xcacf('0x73')]()+']',_0xcacf('0x6c'));_0x23a0ac[_0xcacf('0x54')]=util['format'](_0xcacf('0x51'),_0x5d9d07[_0xcacf('0x52')],_0x23a0ac[_0xcacf('0x53')],md5(_0x23a0ac[_0xcacf('0x53')]));}else{_0x23a0ac[_0xcacf('0x54')]='';}headers[_0xcacf('0x55')]=getAuth(_0x5d9d07);return getUser(_0x5d9d07)[_0xcacf('0x16')](function(_0x2e8da3){_0x3de705=_0x2e8da3;logger[_0xcacf('0xb')](_0xcacf('0x57'),_0x3de705['id']);return getEndUser(_0x5d9d07,_0x23a0ac[_0xcacf('0x74')],_0x23a0ac[_0xcacf('0x58')]);})[_0xcacf('0x16')](function(_0x2929b2){_0x2e3f9f=_0x2929b2;logger[_0xcacf('0xb')](_0xcacf('0x75'),_0x2e3f9f['id']);return getTicket(_0x5d9d07,_0x3de705,_0x2e3f9f,_0x5e47b7,_0x23a0ac);})[_0xcacf('0x16')](function(_0x3255f6){if(_0x3255f6){logger['info'](_0xcacf('0x59'),_0x3255f6['id']);}})[_0xcacf('0x65')](function(_0x1d6cc7){logger[_0xcacf('0x63')]('['+_0x23a0ac[_0xcacf('0x72')][_0xcacf('0x73')]()+']'+_0xcacf('0x76'),util[_0xcacf('0x67')](_0x1d6cc7,{'showHidden':!![],'depth':null}));});};
\ No newline at end of file