Built motion from commit f861bcb808219e66da88ba48b61bddb35224a65e. Version 3.0.0...
[motion-next.git] / server / services / ami / trigger / integration / freshdesk.js
1 'use strict';const a1330_0x180f=['content','Authorization','format','lodash','10939hlyVTN','contact','338609aXaEZJ','Enduser\x20created.','picklist','queue','Recording\x20is\x20enabled!','The\x20Enduser\x20ID\x20is:','uniqueid','1313350heMKSz','destcalleridnum','1WfawUx','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','keyBy','Subjects','toString','push','10ItPASi','recordingURL','66SnoyGF','serverUrl','remoteUri','custom_fields','none','%s/api/v2/agents/me','1CLIJza','monitor_format','[OUTBOUND]','debug','380150Rzlwdt','info','error','outbound','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','Ticket\x20created!','@config/logger','Searching\x20enduser\x20with\x20phone','GET','stringify','name','%s/api/v2/tickets','nameField','idField','customVariable','length','[HTTP]','validateEmail','customField','map','203snLedw','freshdesk','forEach','4235yjQbYl','then','calleridname','type','toUpperCase','Variable','POST','lastevent','toLowerCase','recordingFormat','catch','Tags','The\x20Ticket\x20ID\x20is:','Enduser\x20found!','trigger:browser:url','272407RSSZwV','Admin\x20account\x20selected.','%s/api/v2/contacts','base64','md5','%s/api/v2/agents','variableName','string','emit','calleridnum','Invalid\x20email\x20format,\x20using\x20the\x20admin\x20account!','Creating\x20new\x20ticket...','2EFMZTz','mapValues','stripTrailingSlash','variable','@rediscache','Caller\x20-\x20%s','getString','The\x20User\x20ID\x20is:','Basic\x20%s','email','[QUEUE]','114088AjLFIF','defaults','find','user:%s','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','includes','application/json','destcalleridname','unmanaged'];const a1330_0x2bb9=function(_0x2be758,_0x12ac86){_0x2be758=_0x2be758-0x142;let _0x180f94=a1330_0x180f[_0x2be758];return _0x180f94;};const a1330_0x378e06=a1330_0x2bb9;(function(_0x307d14,_0x35571d){const _0x108071=a1330_0x2bb9;while(!![]){try{const _0x33db70=parseInt(_0x108071(0x170))+parseInt(_0x108071(0x15c))*parseInt(_0x108071(0x16c))+parseInt(_0x108071(0x187))*-parseInt(_0x108071(0x184))+parseInt(_0x108071(0x166))*parseInt(_0x108071(0x153))+parseInt(_0x108071(0x1a2))*parseInt(_0x108071(0x155))+-parseInt(_0x108071(0x146))*parseInt(_0x108071(0x164))+-parseInt(_0x108071(0x15e))*parseInt(_0x108071(0x196));if(_0x33db70===_0x35571d)break;else _0x307d14['push'](_0x307d14['shift']());}catch(_0x23bb40){_0x307d14['push'](_0x307d14['shift']());}}}(a1330_0x180f,0xc81f4));const _=require(a1330_0x378e06(0x152)),rp=require('request-promise-native'),md5=require(a1330_0x378e06(0x19a)),util=require('util'),intUtil=require('./util'),logger=require(a1330_0x378e06(0x176))(a1330_0x378e06(0x185)),{getSocket}=require(a1330_0x378e06(0x1a6)),io=getSocket(),headers={'Content-Type':a1330_0x378e06(0x14c),'Accept':'application/json'};function emit(_0x89ce7a,_0x220330,_0x21918c){const _0x15ee50=a1330_0x378e06;io['to'](_0x89ce7a)[_0x15ee50(0x19e)](_0x220330,_0x21918c);}function getTicket(_0xba34c5,_0x573f40,_0x1989a8,_0x55e25d,_0x42ed49){const _0x5e3d8d=a1330_0x378e06;logger['info'](_0x5e3d8d(0x1a1));const _0x5f03cb=_['merge']({'responder_id':_0x573f40['id'],'requester_id':_0x1989a8['id'],'name':util[_0x5e3d8d(0x151)](_0x5e3d8d(0x1a7),_0x42ed49[_0x5e3d8d(0x189)]),'phone':_0x42ed49[_0x5e3d8d(0x19f)],'source':0x3,'priority':0x1,'status':0x2,'subject':intUtil[_0x5e3d8d(0x1a8)](_0x55e25d[_0x5e3d8d(0x161)],_0x42ed49,'\x20'),'description':intUtil[_0x5e3d8d(0x1a8)](_0x55e25d['Descriptions'],_0x42ed49,'<br>'),'tags':getTags(_0x55e25d[_0x5e3d8d(0x192)],'name')},getCustomFields(_0x55e25d['Fields'],_0x42ed49));return _0x5f03cb['custom_fields']=_[_0x5e3d8d(0x1a3)](_[_0x5e3d8d(0x160)](_0x5f03cb['custom_fields'],'id'),'value'),request({'uri':util[_0x5e3d8d(0x151)](_0x5e3d8d(0x17b),_0xba34c5[_0x5e3d8d(0x168)]),'method':_0x5e3d8d(0x18d),'body':_0x5f03cb})[_0x5e3d8d(0x188)](function(_0x13718a){const _0x39e46=_0x5e3d8d;return logger[_0x39e46(0x171)]('Ticket\x20created!'),_0x13718a;});}function getUser(_0x2f1a2f,_0x30df0a){const _0x3118cd=a1330_0x378e06;return intUtil[_0x3118cd(0x181)](_0x30df0a)?request({'uri':util[_0x3118cd(0x151)](_0x3118cd(0x19b),_0x2f1a2f['remoteUri']),'qs':{'email':_0x30df0a}})['then'](function(_0x9818a3){const _0xf47d7f=_0x3118cd;return _0x9818a3['length']?(logger['info']('Agent\x20found!'),_[_0xf47d7f(0x148)](_0x9818a3,function(_0x55f529){const _0x38d568=_0xf47d7f;return _0x55f529[_0x38d568(0x154)]['email']===_0x30df0a;})):(logger[_0xf47d7f(0x171)]('Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!'),request({'uri':util[_0xf47d7f(0x151)](_0xf47d7f(0x16b),_0x2f1a2f[_0xf47d7f(0x168)])})[_0xf47d7f(0x188)](function(_0x5b8829){const _0x89b1ac=_0xf47d7f;return logger[_0x89b1ac(0x171)](_0x89b1ac(0x197)),_0x5b8829;}));}):(logger[_0x3118cd(0x171)](_0x3118cd(0x1a0)),request({'uri':util[_0x3118cd(0x151)](_0x3118cd(0x16b),_0x2f1a2f['remoteUri'])})[_0x3118cd(0x188)](function(_0x1a62a5){const _0xe14c75=_0x3118cd;return logger[_0xe14c75(0x171)](_0xe14c75(0x197)),_0x1a62a5;}));}function getEndUser(_0x1ba612,_0x95f3b5,_0x10256d){const _0x3a6faa=a1330_0x378e06;return logger[_0x3a6faa(0x171)](_0x3a6faa(0x177),_0x10256d),request({'uri':util[_0x3a6faa(0x151)]('%s/api/v2/contacts',_0x1ba612[_0x3a6faa(0x168)]),'qs':{'phone':_0x10256d}})[_0x3a6faa(0x188)](function(_0x55f2a5){const _0x584599=_0x3a6faa;return _0x55f2a5[_0x584599(0x17f)]?(logger[_0x584599(0x171)](_0x584599(0x194)),_[_0x584599(0x148)](_0x55f2a5,{'phone':_0x10256d})):(logger['info'](_0x584599(0x15f)),request({'uri':util[_0x584599(0x151)](_0x584599(0x198),_0x1ba612[_0x584599(0x168)]),'method':_0x584599(0x18d),'body':{'name':_0x95f3b5,'phone':_0x10256d}})[_0x584599(0x188)](function(_0x151abb){const _0x4ecc19=_0x584599;return logger['info'](_0x4ecc19(0x156)),_0x151abb;}));});}function getAuth(_0x26d69d){const _0x36b3f8=a1330_0x378e06;return util['format'](_0x36b3f8(0x143),Buffer['from'](_0x26d69d['apiKey']+':X')[_0x36b3f8(0x162)](_0x36b3f8(0x199)));}function request(_0x28c516){const _0x358662=a1330_0x378e06;return logger[_0x358662(0x16f)](_0x358662(0x180),JSON[_0x358662(0x179)](_0x28c516)),rp(_[_0x358662(0x147)](_0x28c516,{'method':_0x358662(0x178),'headers':headers,'json':!![]}));}function getTags(_0x506fcf,_0x522ae8){const _0x5c27d2=a1330_0x378e06;let _0x163229=[];return _0x506fcf&&_0x506fcf[_0x5c27d2(0x17f)]>0x0&&(_0x163229=_[_0x5c27d2(0x183)](_0x506fcf,_0x522ae8)),_0x163229;}function getCustomFields(_0x2112b8,_0x32d309){const _0x2eaf35=a1330_0x378e06,_0xe9dda6={'custom_fields':[]};return _0x2112b8[_0x2eaf35(0x17f)]>0x0&&_[_0x2eaf35(0x186)](_0x2112b8,function(_0x2427fe){const _0x1dff18=_0x2eaf35;if(_[_0x1dff18(0x14b)](['string',_0x1dff18(0x157)],_0x2427fe[_0x1dff18(0x18a)])&&_0x2427fe[_0x1dff18(0x17c)]&&!_0x2427fe[_0x1dff18(0x182)])_0xe9dda6[_0x2427fe[_0x1dff18(0x17c)][_0x1dff18(0x18f)]()]=_0x2427fe['content'][_0x1dff18(0x162)]();else{if(_[_0x1dff18(0x14b)]([_0x1dff18(0x19d),_0x1dff18(0x157)],_0x2427fe['type'])&&_0x2427fe[_0x1dff18(0x17d)]&&_0x2427fe[_0x1dff18(0x182)])_0xe9dda6[_0x1dff18(0x169)][_0x1dff18(0x163)]({'id':_0x2427fe[_0x1dff18(0x17d)],'value':_0x2427fe[_0x1dff18(0x14f)][_0x1dff18(0x162)]()});else{if(_0x2427fe[_0x1dff18(0x18a)]===_0x1dff18(0x1a5)&&_0x2427fe[_0x1dff18(0x19c)]&&_0x2427fe[_0x1dff18(0x17d)]&&_0x2427fe[_0x1dff18(0x182)])_0x32d309[_0x2427fe[_0x1dff18(0x19c)]]&&_0xe9dda6[_0x1dff18(0x169)][_0x1dff18(0x163)]({'id':_0x2427fe[_0x1dff18(0x17d)],'value':_0x32d309[_0x2427fe[_0x1dff18(0x19c)]][_0x1dff18(0x162)]()});else _0x2427fe[_0x1dff18(0x18a)]===_0x1dff18(0x17e)&&_0x2427fe['Variable']&&_0x2427fe[_0x1dff18(0x18c)][_0x1dff18(0x17a)]&&_0x2427fe[_0x1dff18(0x17d)]&&_0x2427fe[_0x1dff18(0x182)]&&(_0x32d309[_0x2427fe['Variable'][_0x1dff18(0x17a)][_0x1dff18(0x18f)]()]&&_0xe9dda6[_0x1dff18(0x169)]['push']({'id':_0x2427fe[_0x1dff18(0x17d)],'value':_0x32d309[_0x2427fe[_0x1dff18(0x18c)]['name'][_0x1dff18(0x18f)]()]['toString']()}));}}}),_0xe9dda6;}exports[a1330_0x378e06(0x158)]=function(_0x161e52,_0x2d678a,_0x3ae603,_0x1220e5,_0x5397de,_0x1c9f57){const _0x31f5e9=a1330_0x378e06;let _0xf8ab,_0x25f5af;return _0x1c9f57[_0x31f5e9(0x168)]=intUtil['stripTrailingSlash'](_0x1c9f57['remoteUri']),_0x1c9f57['serverUrl']=intUtil[_0x31f5e9(0x1a4)](_0x1c9f57[_0x31f5e9(0x167)]),_0x5397de&&_0x5397de[_0x31f5e9(0x16d)]?(logger['info'](_0x31f5e9(0x145),_0x31f5e9(0x159)),_0x2d678a[_0x31f5e9(0x165)]=util[_0x31f5e9(0x151)](_0x31f5e9(0x14a),_0x1c9f57['serverUrl'],_0x2d678a[_0x31f5e9(0x15b)],md5(_0x2d678a[_0x31f5e9(0x15b)]))):_0x2d678a[_0x31f5e9(0x165)]='',headers[_0x31f5e9(0x150)]=getAuth(_0x1c9f57),getUser(_0x1c9f57,_0x1220e5[_0x31f5e9(0x144)])[_0x31f5e9(0x188)](function(_0x167684){const _0x52d74f=_0x31f5e9;return _0xf8ab=_0x167684,logger[_0x52d74f(0x171)](_0x52d74f(0x142),_0xf8ab['id']),getEndUser(_0x1c9f57,_0x2d678a[_0x52d74f(0x189)],_0x2d678a[_0x52d74f(0x19f)]);})[_0x31f5e9(0x188)](function(_0x14b466){const _0x585f1f=_0x31f5e9;return _0x25f5af=_0x14b466,logger[_0x585f1f(0x171)]('The\x20Enduser\x20ID\x20is:',_0x25f5af['id']),getTicket(_0x1c9f57,_0xf8ab,_0x25f5af,_0x3ae603,_0x2d678a);})['then'](function(_0x259f34){const _0x103c8d=_0x31f5e9;_0x259f34&&_0x259f34['id']&&(logger[_0x103c8d(0x171)](_0x103c8d(0x175)),logger[_0x103c8d(0x171)](_0x103c8d(0x193),_0x259f34['id']),logger[_0x103c8d(0x171)](_0x103c8d(0x145),_0x103c8d(0x174)),emit(util['format']('user:%s',_0x1220e5[_0x103c8d(0x17a)]),_0x103c8d(0x195),{'uri':util[_0x103c8d(0x151)]('%s/helpdesk/tickets/%d',_0x1c9f57[_0x103c8d(0x168)],_0x259f34['id'])}));})[_0x31f5e9(0x191)](function(_0x5da1c4){const _0x2d0beb=_0x31f5e9;logger[_0x2d0beb(0x172)]('[QUEUE]',JSON['stringify'](_0x5da1c4));});},exports[a1330_0x378e06(0x173)]=function(_0x12b5f9,_0xaf9382,_0x18de16,_0x1da98a,_0x34529c,_0x43de1b,_0x353c89){const _0xc51d59=a1330_0x378e06;let _0x536b77,_0x5dc3fe;return _0x43de1b['remoteUri']=intUtil['stripTrailingSlash'](_0x43de1b['remoteUri']),_0x43de1b[_0xc51d59(0x167)]=intUtil[_0xc51d59(0x1a4)](_0x43de1b[_0xc51d59(0x167)]),_0x353c89&&_0x353c89['recordingFormat']&&_0x353c89[_0xc51d59(0x190)]!==_0xc51d59(0x16a)&&(logger[_0xc51d59(0x171)](_0xc51d59(0x16e),'Recording\x20is\x20enabled!'),_0xaf9382['recordingURL']=util['format'](_0xc51d59(0x14a),_0x43de1b[_0xc51d59(0x167)],_0xaf9382[_0xc51d59(0x15b)],md5(_0xaf9382[_0xc51d59(0x15b)]))),headers[_0xc51d59(0x150)]=getAuth(_0x43de1b),getUser(_0x43de1b,_0x1da98a['email'])[_0xc51d59(0x188)](function(_0x39be5b){const _0x3c4eb3=_0xc51d59;return _0x536b77=_0x39be5b,logger['info'](_0x3c4eb3(0x142),_0x536b77['id']),getEndUser(_0x43de1b,_0xaf9382[_0x3c4eb3(0x14d)],_0xaf9382[_0x3c4eb3(0x15d)]);})['then'](function(_0x3c745d){return _0x5dc3fe=_0x3c745d,logger['info']('The\x20Enduser\x20ID\x20is:',_0x5dc3fe['id']),getTicket(_0x43de1b,_0x536b77,_0x5dc3fe,_0x18de16,_0xaf9382);})[_0xc51d59(0x188)](function(_0x3752a2){const _0x24043f=_0xc51d59;_0x3752a2&&_0x3752a2['id']&&(logger[_0x24043f(0x171)](_0x24043f(0x175)),logger['info']('The\x20Ticket\x20ID\x20is:',_0x3752a2['id']),logger['info'](_0x24043f(0x16e),_0x24043f(0x174)),emit(util[_0x24043f(0x151)](_0x24043f(0x149),_0x1da98a[_0x24043f(0x17a)]),_0x24043f(0x195),{'uri':util[_0x24043f(0x151)]('%s/helpdesk/tickets/%d',_0x43de1b['remoteUri'],_0x3752a2['id'])}));})['catch'](function(_0x346360){const _0x4ec722=_0xc51d59;logger[_0x4ec722(0x172)](_0x4ec722(0x16e),JSON[_0x4ec722(0x179)](_0x346360));});},exports[a1330_0x378e06(0x14e)]=function(_0x32fdd7,_0x19a803,_0x437732,_0x21a690,_0x321e2a,_0x56de08){const _0x1b5567=a1330_0x378e06;let _0x15a16a,_0x502485;return _0x56de08[_0x1b5567(0x168)]=intUtil[_0x1b5567(0x1a4)](_0x56de08['remoteUri']),_0x56de08[_0x1b5567(0x167)]=intUtil[_0x1b5567(0x1a4)](_0x56de08[_0x1b5567(0x167)]),_0x321e2a&&_0x321e2a[_0x1b5567(0x16d)]?(logger[_0x1b5567(0x171)]('['+_0x19a803[_0x1b5567(0x18e)][_0x1b5567(0x18b)]()+']','Recording\x20is\x20enabled!'),_0x19a803[_0x1b5567(0x165)]=util[_0x1b5567(0x151)](_0x1b5567(0x14a),_0x56de08[_0x1b5567(0x167)],_0x19a803[_0x1b5567(0x15b)],md5(_0x19a803[_0x1b5567(0x15b)]))):_0x19a803['recordingURL']='',headers[_0x1b5567(0x150)]=getAuth(_0x56de08),getUser(_0x56de08,'')[_0x1b5567(0x188)](function(_0x568848){const _0x3e46ce=_0x1b5567;return _0x15a16a=_0x568848,logger['info']('The\x20User\x20ID\x20is:',_0x15a16a['id']),getEndUser(_0x56de08,_0x19a803[_0x3e46ce(0x189)],_0x19a803[_0x3e46ce(0x19f)]);})['then'](function(_0x10b1ba){const _0x304d72=_0x1b5567;return _0x502485=_0x10b1ba,logger['info'](_0x304d72(0x15a),_0x502485['id']),getTicket(_0x56de08,_0x15a16a,_0x502485,_0x437732,_0x19a803);})['then'](function(_0x3ebdb0){const _0x5ca914=_0x1b5567;_0x3ebdb0&&(logger['info'](_0x5ca914(0x175)),logger[_0x5ca914(0x171)]('The\x20Ticket\x20ID\x20is:',_0x3ebdb0['id']));})[_0x1b5567(0x191)](function(_0x4d26c3){const _0x49384e=_0x1b5567;logger[_0x49384e(0x172)]('['+_0x19a803['lastevent']['toUpperCase']()+']',JSON[_0x49384e(0x179)](_0x4d26c3));});};