Built motion from commit b0a9a629.|2.6.33
[motion2.git] / server / services / ami / trigger / integration / zendesk.js
index 99d47d1..cfca01a 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x2e5d=['lodash','request-promise','util','ioredis','../../../../config/environment','../../../../config/logger','redis','defaults','application/json','Creating\x20new\x20ticket...','%s/tickets.json','remoteUri','POST','merge','Tags','name','getString','Subjects','Descriptions','Fields','then','info','Ticket\x20created!','ticket','validateEmail','format','count','Agent\x20found!','find','results','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','Admin\x20account\x20selected.','user','Searching\x20enduser\x20with\x20phone','%s/search.json','type:user\x20role:end-user\x20phone:%s','filter','end-user','length','first','Enduser\x20found!','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','%s/users.json','authType','password','%s:%s','username','token','%s/token:%s','Basic\x20%s','base64','debug','[HTTP]','stringify','GET','map','forEach','includes','string','picklist','nameField','customField','toLowerCase','content','toString','type','custom_fields','push','idField','variable','variableName','customVariable','Variable','queue','stripTrailingSlash','serverUrl','monitor_format','[QUEUE]','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','calleridname','calleridnum','The\x20Enduser\x20ID\x20is:','The\x20Ticket\x20ID\x20is:','integrationTab','Displaying\x20ticket\x20to\x20agent...','%s/channels/voice/agents/%d/tickets/%d/display.json','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','trigger:browser:url','replace','/api/v2','error','catch','inspect','outbound','recordingFormat','none','[OUTBOUND]','Recording\x20is\x20enabled!','Authorization','The\x20User\x20ID\x20is:','destcalleridname','destcalleridnum','user:%s','%s/agent/tickets/%s','[OUTBOUND]\x20Error\x20running\x20Zendesk\x20integration','unmanaged','toUpperCase','lastevent','\x20Error\x20running\x20Zendesk\x20integration'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x2e5d,0x14d));var _0xd2e5=function(_0x13f980,_0x1e1c56){_0x13f980=_0x13f980-0x0;var _0x27153c=_0x2e5d[_0x13f980];return _0x27153c;};'use strict';var _=require(_0xd2e5('0x0'));var rp=require(_0xd2e5('0x1'));var md5=require('md5');var util=require(_0xd2e5('0x2'));var Redis=require(_0xd2e5('0x3'));var intUtil=require('./util');var config=require(_0xd2e5('0x4'));var logger=require(_0xd2e5('0x5'))('zendesk');config[_0xd2e5('0x6')]=_[_0xd2e5('0x7')](config['redis'],{'host':'localhost','port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));function emit(_0x1938de,_0x40c560,_0x12afb8){io['to'](_0x1938de)['emit'](_0x40c560,_0x12afb8);}var headers={'Content-Type':_0xd2e5('0x8'),'Accept':_0xd2e5('0x8')};function getTicket(_0x206c31,_0x469dc7,_0x5c3dfd,_0x3f524c,_0x1e5f7b){logger['info'](_0xd2e5('0x9'));return request({'uri':util['format'](_0xd2e5('0xa'),_0x206c31[_0xd2e5('0xb')]),'method':_0xd2e5('0xc'),'body':{'ticket':_[_0xd2e5('0xd')]({'requester_id':_0x5c3dfd['id'],'submitter_id':_0x469dc7?_0x469dc7['id']:undefined,'assignee_id':_0x469dc7?_0x469dc7['id']:undefined,'tags':getTags(_0x3f524c[_0xd2e5('0xe')],_0xd2e5('0xf')),'subject':intUtil[_0xd2e5('0x10')](_0x3f524c[_0xd2e5('0x11')],_0x1e5f7b,'\x20'),'description':intUtil[_0xd2e5('0x10')](_0x3f524c[_0xd2e5('0x12')],_0x1e5f7b,'\x0a'),'comment':{'public':![],'body':intUtil[_0xd2e5('0x10')](_0x3f524c['Descriptions'],_0x1e5f7b,'\x0a')}},getCustomFields(_0x3f524c[_0xd2e5('0x13')],_0x1e5f7b))}})[_0xd2e5('0x14')](function(_0x32decc){logger[_0xd2e5('0x15')](_0xd2e5('0x16'));return _0x32decc[_0xd2e5('0x17')];});}function getUser(_0x297349,_0x1d7624){if(intUtil[_0xd2e5('0x18')](_0x1d7624)){logger[_0xd2e5('0x15')]('Getting\x20agent\x20with\x20email',_0x1d7624);return request({'uri':util[_0xd2e5('0x19')]('%s/search.json',_0x297349[_0xd2e5('0xb')]),'qs':{'query':util[_0xd2e5('0x19')]('type:user\x20role:agent\x20email:%s',_0x1d7624)}})['then'](function(_0x1c1101){if(_0x1c1101[_0xd2e5('0x1a')]){logger[_0xd2e5('0x15')](_0xd2e5('0x1b'));return _[_0xd2e5('0x1c')](_0x1c1101[_0xd2e5('0x1d')],{'email':_0x1d7624,'role':'agent'});}else{logger[_0xd2e5('0x15')](_0xd2e5('0x1e'));return request({'uri':util[_0xd2e5('0x19')]('%s/users/me.json',_0x297349['remoteUri'])})[_0xd2e5('0x14')](function(_0x3b7edf){logger[_0xd2e5('0x15')](_0xd2e5('0x1f'));return _0x3b7edf[_0xd2e5('0x20')];});}});}else{logger[_0xd2e5('0x15')](_0xd2e5('0x1e'));return request({'uri':util[_0xd2e5('0x19')]('%s/users/me.json',_0x297349[_0xd2e5('0xb')])})[_0xd2e5('0x14')](function(_0x235536){logger[_0xd2e5('0x15')]('Admin\x20account\x20selected.');return _0x235536['user'];});}}function getEndUser(_0xb57610,_0x31e4d6,_0x331a97){logger['info'](_0xd2e5('0x21'),_0x331a97);return request({'uri':util['format'](_0xd2e5('0x22'),_0xb57610[_0xd2e5('0xb')]),'qs':{'query':util[_0xd2e5('0x19')](_0xd2e5('0x23'),_0x331a97)}})[_0xd2e5('0x14')](function(_0x3e3df9){var _0x8b3835;if(_0x3e3df9['results']['length']){_0x3e3df9['results']=_[_0xd2e5('0x24')](_0x3e3df9['results'],{'suspended':![],'role':_0xd2e5('0x25')});if(_0x3e3df9['results'][_0xd2e5('0x26')]){_0x8b3835=_[_0xd2e5('0x27')](_0x3e3df9['results']);}}if(_0x8b3835){logger[_0xd2e5('0x15')](_0xd2e5('0x28'));return _0x8b3835;}else{logger[_0xd2e5('0x15')](_0xd2e5('0x29'));return request({'uri':util['format'](_0xd2e5('0x2a'),_0xb57610[_0xd2e5('0xb')]),'method':_0xd2e5('0xc'),'body':{'user':{'role':_0xd2e5('0x25'),'name':util[_0xd2e5('0x19')]('Caller\x20-\x20%s',_0x31e4d6||_0x331a97),'phone':_0x331a97}}})['then'](function(_0x1712a3){logger['info']('Enduser\x20created.');return _0x1712a3[_0xd2e5('0x20')];});}});}function getAuth(_0x5ca909){var _0x1adbd5;if(_0x5ca909[_0xd2e5('0x2b')]===_0xd2e5('0x2c')){_0x1adbd5=util[_0xd2e5('0x19')](_0xd2e5('0x2d'),_0x5ca909[_0xd2e5('0x2e')],_0x5ca909['password']);}else if(_0x5ca909[_0xd2e5('0x2b')]===_0xd2e5('0x2f')){_0x1adbd5=util[_0xd2e5('0x19')](_0xd2e5('0x30'),_0x5ca909[_0xd2e5('0x2e')],_0x5ca909[_0xd2e5('0x2f')]);}return util[_0xd2e5('0x19')](_0xd2e5('0x31'),new Buffer(_0x1adbd5)['toString'](_0xd2e5('0x32')));}function request(_0x5db540){logger[_0xd2e5('0x33')](_0xd2e5('0x34'),JSON[_0xd2e5('0x35')](_0x5db540));return rp(_[_0xd2e5('0x7')](_0x5db540,{'method':_0xd2e5('0x36'),'headers':headers,'json':!![]}));}function getTags(_0x25c707,_0x4e2401){var _0x5433bf=[];if(_0x25c707&&_0x25c707[_0xd2e5('0x26')]>0x0){_0x5433bf=_[_0xd2e5('0x37')](_0x25c707,_0x4e2401);}return _0x5433bf;}function getCustomFields(_0x2bd0ec,_0x92bac8){var _0x4bb9ec=[];var _0x2d53ed={'custom_fields':[]};if(_0x2bd0ec[_0xd2e5('0x26')]>0x0){_[_0xd2e5('0x38')](_0x2bd0ec,function(_0x26df0d){if(_[_0xd2e5('0x39')]([_0xd2e5('0x3a'),_0xd2e5('0x3b')],_0x26df0d['type'])&&_0x26df0d[_0xd2e5('0x3c')]&&!_0x26df0d[_0xd2e5('0x3d')]){_0x2d53ed[_0x26df0d[_0xd2e5('0x3c')][_0xd2e5('0x3e')]()]=_0x26df0d[_0xd2e5('0x3f')][_0xd2e5('0x40')]();}else if(_[_0xd2e5('0x39')]([_0xd2e5('0x3a'),_0xd2e5('0x3b')],_0x26df0d[_0xd2e5('0x41')])&&_0x26df0d['idField']&&_0x26df0d[_0xd2e5('0x3d')]){_0x2d53ed[_0xd2e5('0x42')][_0xd2e5('0x43')]({'id':_0x26df0d[_0xd2e5('0x44')],'value':_0x26df0d[_0xd2e5('0x3f')]['toString']()});}else if(_0x26df0d[_0xd2e5('0x41')]===_0xd2e5('0x45')&&_0x26df0d['variableName']&&_0x26df0d['idField']&&_0x26df0d[_0xd2e5('0x3d')]){_0x92bac8[_0x26df0d[_0xd2e5('0x46')]]&&_0x2d53ed[_0xd2e5('0x42')][_0xd2e5('0x43')]({'id':_0x26df0d[_0xd2e5('0x44')],'value':_0x92bac8[_0x26df0d[_0xd2e5('0x46')]][_0xd2e5('0x40')]()});}else if(_0x26df0d['type']===_0xd2e5('0x47')&&_0x26df0d[_0xd2e5('0x48')]&&_0x26df0d[_0xd2e5('0x48')][_0xd2e5('0xf')]&&_0x26df0d[_0xd2e5('0x44')]&&_0x26df0d[_0xd2e5('0x3d')]){_0x92bac8[_0x26df0d[_0xd2e5('0x48')][_0xd2e5('0xf')][_0xd2e5('0x3e')]()]&&_0x2d53ed['custom_fields'][_0xd2e5('0x43')]({'id':_0x26df0d[_0xd2e5('0x44')],'value':_0x92bac8[_0x26df0d[_0xd2e5('0x48')][_0xd2e5('0xf')][_0xd2e5('0x3e')]()][_0xd2e5('0x40')]()});}});}return _0x2d53ed;}exports[_0xd2e5('0x49')]=function(_0x438fde,_0x226765,_0x1fccc6,_0x3f0f6e,_0x389403,_0x3b5d3e){var _0x4cb828,_0x1d3c5d;_0x3b5d3e[_0xd2e5('0xb')]=intUtil[_0xd2e5('0x4a')](_0x3b5d3e[_0xd2e5('0xb')]);_0x3b5d3e[_0xd2e5('0x4b')]=intUtil[_0xd2e5('0x4a')](_0x3b5d3e[_0xd2e5('0x4b')]);if(_0x389403&&_0x389403[_0xd2e5('0x4c')]){logger['info'](_0xd2e5('0x4d'),'Recording\x20is\x20enabled!');_0x226765[_0xd2e5('0x4e')]=util[_0xd2e5('0x19')](_0xd2e5('0x4f'),_0x3b5d3e[_0xd2e5('0x4b')],_0x226765[_0xd2e5('0x50')],md5(_0x226765['uniqueid']));}else{_0x226765[_0xd2e5('0x4e')]='';}headers['Authorization']=getAuth(_0x3b5d3e);return getUser(_0x3b5d3e,_0x3f0f6e['email'])[_0xd2e5('0x14')](function(_0x34f1dc){_0x4cb828=_0x34f1dc;logger[_0xd2e5('0x15')]('The\x20User\x20ID\x20is:',_0x4cb828['id']);return getEndUser(_0x3b5d3e,_0x226765[_0xd2e5('0x51')],_0x226765[_0xd2e5('0x52')]);})[_0xd2e5('0x14')](function(_0xc5c1f0){_0x1d3c5d=_0xc5c1f0;logger['info'](_0xd2e5('0x53'),_0x1d3c5d['id']);return getTicket(_0x3b5d3e,_0x4cb828,_0x1d3c5d,_0x1fccc6,_0x226765);})[_0xd2e5('0x14')](function(_0x296354){if(_0x296354){logger[_0xd2e5('0x15')](_0xd2e5('0x54'),_0x296354['id']);switch(_0x3b5d3e[_0xd2e5('0x41')]){case _0xd2e5('0x55'):logger[_0xd2e5('0x15')]('[QUEUE]',_0xd2e5('0x56'));return request({'uri':util[_0xd2e5('0x19')](_0xd2e5('0x57'),_0x3b5d3e[_0xd2e5('0xb')],_0x4cb828['id'],_0x296354['id']),'method':'POST'});case'newTab':logger[_0xd2e5('0x15')](_0xd2e5('0x4d'),_0xd2e5('0x58'));emit(util[_0xd2e5('0x19')]('user:%s',_0x3f0f6e[_0xd2e5('0xf')]),_0xd2e5('0x59'),{'uri':util[_0xd2e5('0x19')]('%s/agent/tickets/%s',_0x3b5d3e['remoteUri'][_0xd2e5('0x5a')](_0xd2e5('0x5b'),''),_0x296354['id'])});break;default:logger[_0xd2e5('0x5c')]('[QUEUE]','Zendesk\x20account\x20type\x20not\x20recognized');}}})[_0xd2e5('0x5d')](function(_0x5933cc){logger[_0xd2e5('0x5c')]('[QUEUE]\x20Error\x20running\x20Zendesk\x20integration',util[_0xd2e5('0x5e')](_0x5933cc,{'showHidden':!![],'depth':null}));});};exports[_0xd2e5('0x5f')]=function(_0x51c162,_0x5db403,_0x327385,_0x42e55a,_0x482c61,_0x18f0ef,_0xe1bcfc){var _0x330725,_0x4544ce;_0x18f0ef[_0xd2e5('0xb')]=intUtil[_0xd2e5('0x4a')](_0x18f0ef['remoteUri']);_0x18f0ef['serverUrl']=intUtil[_0xd2e5('0x4a')](_0x18f0ef[_0xd2e5('0x4b')]);if(_0xe1bcfc&&_0xe1bcfc[_0xd2e5('0x60')]&&_0xe1bcfc[_0xd2e5('0x60')]!==_0xd2e5('0x61')){logger[_0xd2e5('0x15')](_0xd2e5('0x62'),_0xd2e5('0x63'));_0x5db403[_0xd2e5('0x4e')]=util[_0xd2e5('0x19')](_0xd2e5('0x4f'),_0x18f0ef[_0xd2e5('0x4b')],_0x5db403[_0xd2e5('0x50')],md5(_0x5db403[_0xd2e5('0x50')]));}headers[_0xd2e5('0x64')]=getAuth(_0x18f0ef);return getUser(_0x18f0ef,_0x42e55a['email'])[_0xd2e5('0x14')](function(_0x13821d){_0x330725=_0x13821d;logger[_0xd2e5('0x15')](_0xd2e5('0x65'),_0x330725['id']);return getEndUser(_0x18f0ef,_0x5db403[_0xd2e5('0x66')],_0x5db403[_0xd2e5('0x67')]);})[_0xd2e5('0x14')](function(_0x23c056){_0x4544ce=_0x23c056;logger[_0xd2e5('0x15')](_0xd2e5('0x53'),_0x4544ce['id']);return getTicket(_0x18f0ef,_0x330725,_0x4544ce,_0x327385,_0x5db403);})['then'](function(_0x4dba02){if(_0x4dba02){logger[_0xd2e5('0x15')](_0xd2e5('0x54'),_0x4dba02['id']);switch(_0x18f0ef[_0xd2e5('0x41')]){case _0xd2e5('0x55'):logger[_0xd2e5('0x15')]('[OUTBOUND]',_0xd2e5('0x56'));return request({'uri':util[_0xd2e5('0x19')]('%s/channels/voice/agents/%d/tickets/%d/display.json',_0x18f0ef['remoteUri'],_0x330725['id'],_0x4dba02['id']),'method':_0xd2e5('0xc')});case'newTab':logger[_0xd2e5('0x15')](_0xd2e5('0x62'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0xd2e5('0x19')](_0xd2e5('0x68'),_0x42e55a[_0xd2e5('0xf')]),_0xd2e5('0x59'),{'uri':util[_0xd2e5('0x19')](_0xd2e5('0x69'),_0x18f0ef[_0xd2e5('0xb')][_0xd2e5('0x5a')](_0xd2e5('0x5b'),''),_0x4dba02['id'])});break;default:logger[_0xd2e5('0x5c')](_0xd2e5('0x62'),'Zendesk\x20account\x20type\x20not\x20recognized');}}})[_0xd2e5('0x5d')](function(_0x276afa){logger['error'](_0xd2e5('0x6a'),util[_0xd2e5('0x5e')](_0x276afa,{'showHidden':!![],'depth':null}));});};exports[_0xd2e5('0x6b')]=function(_0x4a2070,_0x164745,_0xa233c4,_0x3de4ce,_0x49e6c9,_0x5a31e2){var _0x1a2812,_0x265598;_0x5a31e2['remoteUri']=intUtil[_0xd2e5('0x4a')](_0x5a31e2['remoteUri']);_0x5a31e2[_0xd2e5('0x4b')]=intUtil[_0xd2e5('0x4a')](_0x5a31e2[_0xd2e5('0x4b')]);if(_0x49e6c9&&_0x49e6c9[_0xd2e5('0x4c')]){logger[_0xd2e5('0x15')]('['+_0x164745['lastevent'][_0xd2e5('0x6c')]()+']','Recording\x20is\x20enabled!');_0x164745['recordingURL']=util[_0xd2e5('0x19')](_0xd2e5('0x4f'),_0x5a31e2[_0xd2e5('0x4b')],_0x164745[_0xd2e5('0x50')],md5(_0x164745[_0xd2e5('0x50')]));}else{_0x164745[_0xd2e5('0x4e')]='';}headers['Authorization']=getAuth(_0x5a31e2);return getUser(_0x5a31e2)['then'](function(_0x4f2c7d){_0x1a2812=_0x4f2c7d;logger[_0xd2e5('0x15')](_0xd2e5('0x65'),_0x1a2812['id']);return getEndUser(_0x5a31e2,_0x164745['calleridname'],_0x164745[_0xd2e5('0x52')]);})['then'](function(_0x5f22dc){_0x265598=_0x5f22dc;logger[_0xd2e5('0x15')](_0xd2e5('0x53'),_0x265598['id']);return getTicket(_0x5a31e2,_0x1a2812,_0x265598,_0xa233c4,_0x164745);})[_0xd2e5('0x14')](function(_0x1f8782){if(_0x1f8782){logger['info']('The\x20Ticket\x20ID\x20is:',_0x1f8782['id']);}})['catch'](function(_0x4ef004){logger['error']('['+_0x164745[_0xd2e5('0x6d')][_0xd2e5('0x6c')]()+']'+_0xd2e5('0x6e'),util[_0xd2e5('0x5e')](_0x4ef004,{'showHidden':!![],'depth':null}));});};
\ No newline at end of file
+var _0xf149=['count','Agent\x20found!','find','results','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','remoteUri','Admin\x20account\x20selected.','user','Searching\x20enduser\x20with\x20phone','type:user\x20role:end-user\x20phone:%s','length','filter','end-user','first','Enduser\x20found!','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','POST','Enduser\x20created.','authType','password','%s:%s','username','token','%s/token:%s','toString','base64','debug','[HTTP]','GET','map','forEach','includes','type','nameField','customField','toLowerCase','content','string','picklist','idField','custom_fields','variable','variableName','Variable','name','queue','stripTrailingSlash','serverUrl','monitor_format','[QUEUE]','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','email','calleridname','The\x20Ticket\x20ID\x20is:','integrationTab','Displaying\x20ticket\x20to\x20agent...','%s/channels/voice/agents/%d/tickets/%d/display.json','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','[QUEUE]\x20Error\x20running\x20Zendesk\x20integration','recordingFormat','Authorization','The\x20User\x20ID\x20is:','destcalleridnum','[OUTBOUND]','newTab','catch','[OUTBOUND]\x20Error\x20running\x20Zendesk\x20integration','inspect','unmanaged','lastevent','toUpperCase','Recording\x20is\x20enabled!','calleridnum','The\x20Enduser\x20ID\x20is:','request-promise','md5','util','ioredis','../../../../config/environment','../../../../config/logger','redis','defaults','localhost','socket.io-emitter','emit','info','Creating\x20new\x20ticket...','format','%s/tickets.json','Subjects','getString','Descriptions','Fields','ticket','validateEmail','%s/search.json','then'];(function(_0x4aaedd,_0x2a05cd){var _0x39d5b5=function(_0x5568e8){while(--_0x5568e8){_0x4aaedd['push'](_0x4aaedd['shift']());}};_0x39d5b5(++_0x2a05cd);}(_0xf149,0x127));var _0x9f14=function(_0x4d5721,_0x51a33d){_0x4d5721=_0x4d5721-0x0;var _0x88a224=_0xf149[_0x4d5721];return _0x88a224;};'use strict';var _=require('lodash');var rp=require(_0x9f14('0x0'));var md5=require(_0x9f14('0x1'));var util=require(_0x9f14('0x2'));var Redis=require(_0x9f14('0x3'));var intUtil=require('./util');var config=require(_0x9f14('0x4'));var logger=require(_0x9f14('0x5'))('zendesk');config[_0x9f14('0x6')]=_[_0x9f14('0x7')](config['redis'],{'host':_0x9f14('0x8'),'port':0x18eb});var io=require(_0x9f14('0x9'))(new Redis(config[_0x9f14('0x6')]));function emit(_0xd79b7d,_0xe6276a,_0x1656e7){io['to'](_0xd79b7d)[_0x9f14('0xa')](_0xe6276a,_0x1656e7);}var headers={'Content-Type':'application/json','Accept':'application/json'};function getTicket(_0x2d2248,_0x3a623c,_0x44c1dc,_0x4a7dbe,_0x25013e){logger[_0x9f14('0xb')](_0x9f14('0xc'));return request({'uri':util[_0x9f14('0xd')](_0x9f14('0xe'),_0x2d2248['remoteUri']),'method':'POST','body':{'ticket':_['merge']({'requester_id':_0x44c1dc['id'],'submitter_id':_0x3a623c?_0x3a623c['id']:undefined,'assignee_id':_0x3a623c?_0x3a623c['id']:undefined,'tags':getTags(_0x4a7dbe['Tags'],'name'),'subject':intUtil['getString'](_0x4a7dbe[_0x9f14('0xf')],_0x25013e,'\x20'),'description':intUtil[_0x9f14('0x10')](_0x4a7dbe[_0x9f14('0x11')],_0x25013e,'\x0a'),'comment':{'public':![],'body':intUtil[_0x9f14('0x10')](_0x4a7dbe[_0x9f14('0x11')],_0x25013e,'\x0a')}},getCustomFields(_0x4a7dbe[_0x9f14('0x12')],_0x25013e))}})['then'](function(_0x543d40){logger[_0x9f14('0xb')]('Ticket\x20created!');return _0x543d40[_0x9f14('0x13')];});}function getUser(_0x2eee11,_0x2e224a){if(intUtil[_0x9f14('0x14')](_0x2e224a)){logger[_0x9f14('0xb')]('Getting\x20agent\x20with\x20email',_0x2e224a);return request({'uri':util[_0x9f14('0xd')](_0x9f14('0x15'),_0x2eee11['remoteUri']),'qs':{'query':util['format']('type:user\x20role:agent\x20email:%s',_0x2e224a)}})[_0x9f14('0x16')](function(_0x3cefef){if(_0x3cefef[_0x9f14('0x17')]){logger[_0x9f14('0xb')](_0x9f14('0x18'));return _[_0x9f14('0x19')](_0x3cefef[_0x9f14('0x1a')],{'email':_0x2e224a,'role':'agent'});}else{logger[_0x9f14('0xb')](_0x9f14('0x1b'));return request({'uri':util[_0x9f14('0xd')]('%s/users/me.json',_0x2eee11[_0x9f14('0x1c')])})['then'](function(_0x1dc6f7){logger[_0x9f14('0xb')](_0x9f14('0x1d'));return _0x1dc6f7[_0x9f14('0x1e')];});}});}else{logger[_0x9f14('0xb')](_0x9f14('0x1b'));return request({'uri':util['format']('%s/users/me.json',_0x2eee11[_0x9f14('0x1c')])})[_0x9f14('0x16')](function(_0x31aeff){logger[_0x9f14('0xb')](_0x9f14('0x1d'));return _0x31aeff['user'];});}}function getEndUser(_0x4f079f,_0x1a36a2,_0x583019){logger[_0x9f14('0xb')](_0x9f14('0x1f'),_0x583019);return request({'uri':util['format'](_0x9f14('0x15'),_0x4f079f['remoteUri']),'qs':{'query':util[_0x9f14('0xd')](_0x9f14('0x20'),_0x583019)}})['then'](function(_0x31120e){var _0x376373;if(_0x31120e[_0x9f14('0x1a')][_0x9f14('0x21')]){_0x31120e[_0x9f14('0x1a')]=_[_0x9f14('0x22')](_0x31120e['results'],{'suspended':![],'role':_0x9f14('0x23')});if(_0x31120e[_0x9f14('0x1a')][_0x9f14('0x21')]){_0x376373=_[_0x9f14('0x24')](_0x31120e['results']);}}if(_0x376373){logger[_0x9f14('0xb')](_0x9f14('0x25'));return _0x376373;}else{logger[_0x9f14('0xb')](_0x9f14('0x26'));return request({'uri':util[_0x9f14('0xd')]('%s/users.json',_0x4f079f[_0x9f14('0x1c')]),'method':_0x9f14('0x27'),'body':{'user':{'role':_0x9f14('0x23'),'name':util[_0x9f14('0xd')]('Caller\x20-\x20%s',_0x1a36a2||_0x583019),'phone':_0x583019}}})[_0x9f14('0x16')](function(_0x3274cf){logger[_0x9f14('0xb')](_0x9f14('0x28'));return _0x3274cf['user'];});}});}function getAuth(_0x2ed49d){var _0x5967e3;if(_0x2ed49d[_0x9f14('0x29')]===_0x9f14('0x2a')){_0x5967e3=util[_0x9f14('0xd')](_0x9f14('0x2b'),_0x2ed49d[_0x9f14('0x2c')],_0x2ed49d[_0x9f14('0x2a')]);}else if(_0x2ed49d['authType']===_0x9f14('0x2d')){_0x5967e3=util[_0x9f14('0xd')](_0x9f14('0x2e'),_0x2ed49d['username'],_0x2ed49d['token']);}return util[_0x9f14('0xd')]('Basic\x20%s',new Buffer(_0x5967e3)[_0x9f14('0x2f')](_0x9f14('0x30')));}function request(_0x27bba7){logger[_0x9f14('0x31')](_0x9f14('0x32'),JSON['stringify'](_0x27bba7));return rp(_[_0x9f14('0x7')](_0x27bba7,{'method':_0x9f14('0x33'),'headers':headers,'json':!![]}));}function getTags(_0x50103e,_0x175a2b){var _0x232584=[];if(_0x50103e&&_0x50103e['length']>0x0){_0x232584=_[_0x9f14('0x34')](_0x50103e,_0x175a2b);}return _0x232584;}function getCustomFields(_0x5b804f,_0x3416d3){var _0x266be4=[];var _0x3aab0d={'custom_fields':[]};if(_0x5b804f[_0x9f14('0x21')]>0x0){_[_0x9f14('0x35')](_0x5b804f,function(_0x4933cf){if(_[_0x9f14('0x36')](['string','picklist'],_0x4933cf[_0x9f14('0x37')])&&_0x4933cf[_0x9f14('0x38')]&&!_0x4933cf[_0x9f14('0x39')]){_0x3aab0d[_0x4933cf['nameField'][_0x9f14('0x3a')]()]=_0x4933cf[_0x9f14('0x3b')]['toString']();}else if(_[_0x9f14('0x36')]([_0x9f14('0x3c'),_0x9f14('0x3d')],_0x4933cf[_0x9f14('0x37')])&&_0x4933cf[_0x9f14('0x3e')]&&_0x4933cf[_0x9f14('0x39')]){_0x3aab0d[_0x9f14('0x3f')]['push']({'id':_0x4933cf[_0x9f14('0x3e')],'value':_0x4933cf[_0x9f14('0x3b')][_0x9f14('0x2f')]()});}else if(_0x4933cf[_0x9f14('0x37')]===_0x9f14('0x40')&&_0x4933cf[_0x9f14('0x41')]&&_0x4933cf[_0x9f14('0x3e')]&&_0x4933cf[_0x9f14('0x39')]){_0x3416d3[_0x4933cf[_0x9f14('0x41')]]&&_0x3aab0d['custom_fields']['push']({'id':_0x4933cf[_0x9f14('0x3e')],'value':_0x3416d3[_0x4933cf[_0x9f14('0x41')]]['toString']()});}else if(_0x4933cf[_0x9f14('0x37')]==='customVariable'&&_0x4933cf[_0x9f14('0x42')]&&_0x4933cf[_0x9f14('0x42')][_0x9f14('0x43')]&&_0x4933cf[_0x9f14('0x3e')]&&_0x4933cf[_0x9f14('0x39')]){_0x3416d3[_0x4933cf[_0x9f14('0x42')][_0x9f14('0x43')]['toLowerCase']()]&&_0x3aab0d[_0x9f14('0x3f')]['push']({'id':_0x4933cf['idField'],'value':_0x3416d3[_0x4933cf[_0x9f14('0x42')][_0x9f14('0x43')]['toLowerCase']()][_0x9f14('0x2f')]()});}});}return _0x3aab0d;}exports[_0x9f14('0x44')]=function(_0x1353dd,_0x6816f1,_0x3994b4,_0x5c28fe,_0x9811db,_0x5bfeb9){var _0x34a2e1,_0x351373;_0x5bfeb9[_0x9f14('0x1c')]=intUtil[_0x9f14('0x45')](_0x5bfeb9['remoteUri']);_0x5bfeb9['serverUrl']=intUtil[_0x9f14('0x45')](_0x5bfeb9[_0x9f14('0x46')]);if(_0x9811db&&_0x9811db[_0x9f14('0x47')]){logger['info'](_0x9f14('0x48'),'Recording\x20is\x20enabled!');_0x6816f1[_0x9f14('0x49')]=util[_0x9f14('0xd')](_0x9f14('0x4a'),_0x5bfeb9[_0x9f14('0x46')],_0x6816f1[_0x9f14('0x4b')],md5(_0x6816f1[_0x9f14('0x4b')]));}else{_0x6816f1[_0x9f14('0x49')]='';}headers['Authorization']=getAuth(_0x5bfeb9);return getUser(_0x5bfeb9,_0x5c28fe[_0x9f14('0x4c')])[_0x9f14('0x16')](function(_0x42ba90){_0x34a2e1=_0x42ba90;logger[_0x9f14('0xb')]('The\x20User\x20ID\x20is:',_0x34a2e1['id']);return getEndUser(_0x5bfeb9,_0x6816f1[_0x9f14('0x4d')],_0x6816f1['calleridnum']);})['then'](function(_0x42df37){_0x351373=_0x42df37;logger[_0x9f14('0xb')]('The\x20Enduser\x20ID\x20is:',_0x351373['id']);return getTicket(_0x5bfeb9,_0x34a2e1,_0x351373,_0x3994b4,_0x6816f1);})[_0x9f14('0x16')](function(_0x1d28a9){if(_0x1d28a9){logger[_0x9f14('0xb')](_0x9f14('0x4e'),_0x1d28a9['id']);switch(_0x5bfeb9['type']){case _0x9f14('0x4f'):logger['info'](_0x9f14('0x48'),_0x9f14('0x50'));return request({'uri':util[_0x9f14('0xd')](_0x9f14('0x51'),_0x5bfeb9[_0x9f14('0x1c')],_0x34a2e1['id'],_0x1d28a9['id']),'method':_0x9f14('0x27')});case'newTab':logger[_0x9f14('0xb')](_0x9f14('0x48'),_0x9f14('0x52'));emit(util[_0x9f14('0xd')](_0x9f14('0x53'),_0x5c28fe[_0x9f14('0x43')]),_0x9f14('0x54'),{'uri':util[_0x9f14('0xd')](_0x9f14('0x55'),_0x5bfeb9[_0x9f14('0x1c')][_0x9f14('0x56')](_0x9f14('0x57'),''),_0x1d28a9['id'])});break;default:logger[_0x9f14('0x58')]('[QUEUE]',_0x9f14('0x59'));}}})['catch'](function(_0x22cbbb){logger[_0x9f14('0x58')](_0x9f14('0x5a'),util['inspect'](_0x22cbbb,{'showHidden':!![],'depth':null}));});};exports['outbound']=function(_0x1a1458,_0x2b70a8,_0xfc1688,_0x3f267e,_0x3d5cf6,_0x384ead,_0x3ab3f4){var _0x2b8fec,_0x44378a;_0x384ead[_0x9f14('0x1c')]=intUtil[_0x9f14('0x45')](_0x384ead['remoteUri']);_0x384ead[_0x9f14('0x46')]=intUtil[_0x9f14('0x45')](_0x384ead[_0x9f14('0x46')]);if(_0x3ab3f4&&_0x3ab3f4[_0x9f14('0x5b')]&&_0x3ab3f4[_0x9f14('0x5b')]!=='none'){logger['info']('[OUTBOUND]','Recording\x20is\x20enabled!');_0x2b70a8['recordingURL']=util['format'](_0x9f14('0x4a'),_0x384ead[_0x9f14('0x46')],_0x2b70a8['uniqueid'],md5(_0x2b70a8['uniqueid']));}headers[_0x9f14('0x5c')]=getAuth(_0x384ead);return getUser(_0x384ead,_0x3f267e[_0x9f14('0x4c')])[_0x9f14('0x16')](function(_0x3788f9){_0x2b8fec=_0x3788f9;logger[_0x9f14('0xb')](_0x9f14('0x5d'),_0x2b8fec['id']);return getEndUser(_0x384ead,_0x2b70a8['destcalleridname'],_0x2b70a8[_0x9f14('0x5e')]);})[_0x9f14('0x16')](function(_0x44b2af){_0x44378a=_0x44b2af;logger['info']('The\x20Enduser\x20ID\x20is:',_0x44378a['id']);return getTicket(_0x384ead,_0x2b8fec,_0x44378a,_0xfc1688,_0x2b70a8);})[_0x9f14('0x16')](function(_0x3cbe20){if(_0x3cbe20){logger['info'](_0x9f14('0x4e'),_0x3cbe20['id']);switch(_0x384ead[_0x9f14('0x37')]){case _0x9f14('0x4f'):logger[_0x9f14('0xb')](_0x9f14('0x5f'),_0x9f14('0x50'));return request({'uri':util[_0x9f14('0xd')]('%s/channels/voice/agents/%d/tickets/%d/display.json',_0x384ead[_0x9f14('0x1c')],_0x2b8fec['id'],_0x3cbe20['id']),'method':'POST'});case _0x9f14('0x60'):logger[_0x9f14('0xb')](_0x9f14('0x5f'),_0x9f14('0x52'));emit(util[_0x9f14('0xd')]('user:%s',_0x3f267e['name']),'trigger:browser:url',{'uri':util[_0x9f14('0xd')]('%s/agent/tickets/%s',_0x384ead[_0x9f14('0x1c')][_0x9f14('0x56')](_0x9f14('0x57'),''),_0x3cbe20['id'])});break;default:logger[_0x9f14('0x58')](_0x9f14('0x5f'),'Zendesk\x20account\x20type\x20not\x20recognized');}}})[_0x9f14('0x61')](function(_0x1ffd2d){logger['error'](_0x9f14('0x62'),util[_0x9f14('0x63')](_0x1ffd2d,{'showHidden':!![],'depth':null}));});};exports[_0x9f14('0x64')]=function(_0x2808ad,_0x579fb6,_0x15eb34,_0x1434ce,_0x5c38c9,_0x1d4b24){var _0x1487fb,_0x231b1b;_0x1d4b24[_0x9f14('0x1c')]=intUtil[_0x9f14('0x45')](_0x1d4b24[_0x9f14('0x1c')]);_0x1d4b24[_0x9f14('0x46')]=intUtil[_0x9f14('0x45')](_0x1d4b24[_0x9f14('0x46')]);if(_0x5c38c9&&_0x5c38c9[_0x9f14('0x47')]){logger[_0x9f14('0xb')]('['+_0x579fb6[_0x9f14('0x65')][_0x9f14('0x66')]()+']',_0x9f14('0x67'));_0x579fb6['recordingURL']=util[_0x9f14('0xd')](_0x9f14('0x4a'),_0x1d4b24[_0x9f14('0x46')],_0x579fb6['uniqueid'],md5(_0x579fb6['uniqueid']));}else{_0x579fb6[_0x9f14('0x49')]='';}headers['Authorization']=getAuth(_0x1d4b24);return getUser(_0x1d4b24)[_0x9f14('0x16')](function(_0xcf512d){_0x1487fb=_0xcf512d;logger[_0x9f14('0xb')]('The\x20User\x20ID\x20is:',_0x1487fb['id']);return getEndUser(_0x1d4b24,_0x579fb6[_0x9f14('0x4d')],_0x579fb6[_0x9f14('0x68')]);})['then'](function(_0x575442){_0x231b1b=_0x575442;logger[_0x9f14('0xb')](_0x9f14('0x69'),_0x231b1b['id']);return getTicket(_0x1d4b24,_0x1487fb,_0x231b1b,_0x15eb34,_0x579fb6);})[_0x9f14('0x16')](function(_0x30f62e){if(_0x30f62e){logger[_0x9f14('0xb')](_0x9f14('0x4e'),_0x30f62e['id']);}})[_0x9f14('0x61')](function(_0x1ca45c){logger['error']('['+_0x579fb6[_0x9f14('0x65')][_0x9f14('0x66')]()+']'+'\x20Error\x20running\x20Zendesk\x20integration',util[_0x9f14('0x63')](_0x1ca45c,{'showHidden':!![],'depth':null}));});};
\ No newline at end of file