Built motion from commit d5e4af8c.|2.6.23
[motion2.git] / server / services / ami / trigger / integration / dynamics365.js
index fb65a00..dd992ff 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x1c1b=['lastIndexOf','enduserId','contacts?$select=telephone1','calleridnum','telephone1','contactid','info',']\x20Enduser\x20created!',']\x20Enduser\x20Created!','forEach','string','customField','idField','indexOf','content','incident','incidents','assign','getString','Subjects','Descriptions','Fields','ticketType','phonecalls','callDirection','queue','format','%s/main.aspx?pagetype=entityrecord&etn=%s&id=%s','user:%s','emit','stripTrailingSlash','serverUrl','unmanaged','%s/api/data/v9.0/','https://login.microsoftonline.com/%s/oauth2/token','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','recordingFormat','none','[OUTBOUND]',']\x20The\x20User\x20ID\x20is:',']\x20The\x20Enduser\x20phone\x20is:',']\x20The\x20%s\x20ID\x20is:\x20%s',']\x20Call\x20direction:\x20%s','Displaying\x20call\x20in\x20a\x20new\x20tab...','name','error',']\x20Error\x20running\x20Dynamics365\x20integration','inspect','lodash','bluebird','request-promise','util','./util','md5','ioredis','dynamics365','redis','localhost','socket.io-emitter','clientId','remoteUri','password','clientSecret','then','access_token','catch','toUpperCase',']\x20Wrong\x20credentials!','message','GET','systemusers?$select=internalemailaddress,isdisabled,systemuserid','4.0','value','isNil','validateEmail','userEmail','email','length','internalemailaddress','isdisabled',']\x20Agent\x20found\x20','systemuserid','userId','username','toLowerCase','outbound','destcalleridnum','POST','contacts','/systemusers(','Bearer\x20','odata-entityid','substring'];(function(_0x2ee493,_0x93aa97){var _0x49a010=function(_0x2ca57d){while(--_0x2ca57d){_0x2ee493['push'](_0x2ee493['shift']());}};_0x49a010(++_0x93aa97);}(_0x1c1b,0x1b8));var _0xb1c1=function(_0x5d28f6,_0x1b8f1a){_0x5d28f6=_0x5d28f6-0x0;var _0x138852=_0x1c1b[_0x5d28f6];return _0x138852;};'use strict';var _=require(_0xb1c1('0x0'));var BPromise=require(_0xb1c1('0x1'));var rp=require(_0xb1c1('0x2'));var util=require(_0xb1c1('0x3'));var intUtil=require(_0xb1c1('0x4'));var md5=require(_0xb1c1('0x5'));var Redis=require(_0xb1c1('0x6'));var logger=require('../../../../config/logger')(_0xb1c1('0x7'));var config=require('../../../../config/environment');config['redis']=_['defaults'](config[_0xb1c1('0x8')],{'host':_0xb1c1('0x9'),'port':0x18eb});var io=require(_0xb1c1('0xa'))(new Redis(config[_0xb1c1('0x8')]));function getAuthToken(_0x41da4d,_0x17dd54,_0x20c091){var _0x129bb0={'method':'POST','uri':_0x17dd54,'form':{'client_id':_0x41da4d[_0xb1c1('0xb')],'resource':_0x41da4d[_0xb1c1('0xc')],'username':_0x41da4d['username'],'password':_0x41da4d[_0xb1c1('0xd')],'grant_type':'password','client_secret':_0x41da4d[_0xb1c1('0xe')]},'json':!![]};return rp(_0x129bb0)[_0xb1c1('0xf')](function(_0x2b7af2){return _0x2b7af2[_0xb1c1('0x10')];})[_0xb1c1('0x11')](function(_0x573b13){logger['error']('['+[_0x20c091[_0xb1c1('0x12')]()]+_0xb1c1('0x13'));return _0x573b13[_0xb1c1('0x14')];});}function getUser(_0x3afda2,_0x16c3aa,_0xaa77a6,_0x7bacf1,_0x21207d,_0x4c5706){return new BPromise(function(_0x10239d,_0x8585af){return getAuthToken(_0x16c3aa,_0x7bacf1,_0x4c5706)['then'](function(_0x356d0b){var _0x1f857e={'method':_0xb1c1('0x15'),'uri':_0x21207d+_0xb1c1('0x16'),'headers':{'Authorization':'Bearer\x20'+_0x356d0b,'OData-Version':_0xb1c1('0x17')},'json':!![]};return rp(_0x1f857e);})[_0xb1c1('0xf')](function(_0x2d9885){var _0x33bd82=_0x2d9885[_0xb1c1('0x18')];var _0x1b9aa4=![];var _0x540a2e=null;if(!_[_0xb1c1('0x19')](_0xaa77a6)){if(intUtil[_0xb1c1('0x1a')](_0xaa77a6['email'])){_0x3afda2[_0xb1c1('0x1b')]=_0xaa77a6[_0xb1c1('0x1c')];for(_0x540a2e=0x0;_0x540a2e<_0x33bd82[_0xb1c1('0x1d')];_0x540a2e++){if(_0x33bd82[_0x540a2e][_0xb1c1('0x1e')]===_0xaa77a6[_0xb1c1('0x1c')]&&!_0x33bd82[_0x540a2e][_0xb1c1('0x1f')]){_0x1b9aa4=!![];logger['info']('['+[_0x4c5706[_0xb1c1('0x12')]()]+_0xb1c1('0x20')+_0x33bd82[_0x540a2e][_0xb1c1('0x21')]+'!');_0x3afda2[_0xb1c1('0x22')]=_0x33bd82[_0x540a2e][_0xb1c1('0x21')];}}}}if(!_0x1b9aa4){logger['info']('['+[_0x4c5706['toUpperCase']()]+']\x20Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!');_0x3afda2[_0xb1c1('0x1b')]=_0x16c3aa[_0xb1c1('0x23')];for(_0x540a2e=0x0;_0x540a2e<_0x33bd82[_0xb1c1('0x1d')];_0x540a2e++){if(_0x33bd82[_0x540a2e][_0xb1c1('0x1e')]===_0x16c3aa[_0xb1c1('0x23')]){_0x3afda2[_0xb1c1('0x22')]=_0x33bd82[_0x540a2e]['systemuserid'];}}}_0x10239d(_0x3afda2);})[_0xb1c1('0x11')](function(_0x5bd0e3){_0x8585af(_0x5bd0e3['message']);});});}function createEndUser(_0x21b856,_0x369199,_0x5e5c6a,_0x136cfe,_0x475821,_0x2438ac){return new BPromise(function(_0x379936,_0x1bfed2){return getAuthToken(_0x369199,_0x5e5c6a,_0x2438ac)[_0xb1c1('0xf')](function(_0x247ac0){var _0x31969a=_0x2438ac[_0xb1c1('0x24')]()===_0xb1c1('0x25')?_0x475821[_0xb1c1('0x26')]:_0x475821['calleridnum'];var _0x389f11={'method':_0xb1c1('0x27'),'uri':_0x136cfe+_0xb1c1('0x28'),'body':{'telephone1':_0x31969a,'fullname':_0x31969a,'firstname':_0x31969a,'lastname':'_','mobilephone':null,'address1_telephone1':null,'ownerid@odata.bind':_0xb1c1('0x29')+_0x21b856[_0xb1c1('0x22')]+')'},'headers':{'Authorization':_0xb1c1('0x2a')+_0x247ac0,'OData-Version':'4.0'},'json':!![],'resolveWithFullResponse':!![]};return rp(_0x389f11);})[_0xb1c1('0xf')](function(_0x5922b8){var _0x474779=_0x5922b8['headers'][_0xb1c1('0x2b')];var _0x3b8b3f=_0x474779[_0xb1c1('0x2c')](_0x474779[_0xb1c1('0x2d')]('(')+0x1,_0x474779[_0xb1c1('0x2d')](')'));_0x21b856[_0xb1c1('0x2e')]=_0x3b8b3f;_0x379936(_0x21b856);})[_0xb1c1('0x11')](function(_0x2dd0bf){_0x1bfed2(_0x2dd0bf[_0xb1c1('0x14')]);});});}function getEndUser(_0x2de340,_0x452a01,_0x3dcadd,_0x357eec,_0x53fe31,_0x3710a8){return new BPromise(function(_0x320b4b,_0x218d38){return getAuthToken(_0x452a01,_0x3dcadd,_0x3710a8)[_0xb1c1('0xf')](function(_0x44a6f4){var _0x513c35={'method':_0xb1c1('0x15'),'uri':_0x357eec+_0xb1c1('0x2f'),'headers':{'Authorization':_0xb1c1('0x2a')+_0x44a6f4,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x513c35);})['then'](function(_0x1f8519){var _0x38819d=null;if(_0x1f8519){var _0x47fb24=_0x1f8519[_0xb1c1('0x18')];var _0x34988d=![];for(_0x38819d=0x0;_0x38819d<_0x47fb24[_0xb1c1('0x1d')];_0x38819d++){var _0x32c44b=_0x3710a8[_0xb1c1('0x24')]()==='outbound'?_0x53fe31[_0xb1c1('0x26')]:_0x53fe31[_0xb1c1('0x30')];if(_0x47fb24[_0x38819d][_0xb1c1('0x31')]===_0x32c44b){_0x34988d=!![];_0x2de340[_0xb1c1('0x2e')]=_0x47fb24[_0x38819d][_0xb1c1('0x32')];}}if(_0x34988d){_0x320b4b(_0x2de340);}else{return createEndUser(_0x2de340,_0x452a01,_0x3dcadd,_0x357eec,_0x53fe31,_0x3710a8)[_0xb1c1('0xf')](function(_0x265fe7){logger[_0xb1c1('0x33')]('['+[_0x3710a8[_0xb1c1('0x12')]()]+_0xb1c1('0x34'),_0x265fe7['enduserId']);_0x320b4b(_0x265fe7);});}}else{return createEndUser(_0x2de340,_0x452a01,_0x3dcadd,_0x357eec,_0x53fe31,_0x3710a8)['then'](function(_0x1aad5e){logger[_0xb1c1('0x33')]('['+[_0x3710a8['toUpperCase']()]+_0xb1c1('0x35'),_0x1aad5e['enduserId']);_0x320b4b(_0x1aad5e);});}});});}function getCustomFields(_0x5d4917,_0x947cc3,_0x48f4b3){var _0xc357f3={};if(_0x5d4917[_0xb1c1('0x1d')]>0x0){_[_0xb1c1('0x36')](_0x5d4917,function(_0x4da2b6){if(_0x4da2b6['type']===_0xb1c1('0x37')&&_0x4da2b6['nameField']&&!_0x4da2b6[_0xb1c1('0x38')]){var _0x44d9af=_0x4da2b6[_0xb1c1('0x39')][_0xb1c1('0x24')]();var _0xf946e4=_0x44d9af[_0xb1c1('0x2c')](0x0,_0x44d9af[_0xb1c1('0x3a')]('_'));var _0x385a21=_0x44d9af[_0xb1c1('0x2c')](_0x44d9af[_0xb1c1('0x3a')]('_')+0x1);if(_0xf946e4===_0x48f4b3){_0xc357f3[_0x385a21]=_0x4da2b6[_0xb1c1('0x3b')];}}});}return _0xc357f3;}function getTicket(_0x12df49,_0x54837f,_0x2b01fd,_0x2bbeaa,_0x5e7056,_0x3088cf,_0x22fea3){return new BPromise(function(_0x1d5522,_0x5cd19c){var _0x403502;return getAuthToken(_0x54837f,_0x2b01fd,_0x22fea3)[_0xb1c1('0xf')](function(_0x5a2206){if(_0x3088cf['ticketType']===_0xb1c1('0x3c')){_0x403502={'method':_0xb1c1('0x27'),'uri':_0x2bbeaa+_0xb1c1('0x3d'),'body':Object[_0xb1c1('0x3e')]({},{'title':intUtil[_0xb1c1('0x3f')](_0x3088cf[_0xb1c1('0x40')],_0x5e7056,'\x20'),'description':intUtil[_0xb1c1('0x3f')](_0x3088cf[_0xb1c1('0x41')],_0x5e7056,'\x0a'),'customerid_contact@odata.bind':'/contacts('+_0x12df49['enduserId']+')','ownerid@odata.bind':_0xb1c1('0x29')+_0x12df49[_0xb1c1('0x22')]+')','caseorigincode':'1'},getCustomFields(_0x3088cf[_0xb1c1('0x42')],_0x5e7056,_0x3088cf[_0xb1c1('0x43')])),'headers':{'Authorization':_0xb1c1('0x2a')+_0x5a2206,'OData-Version':_0xb1c1('0x17')},'json':!![],'resolveWithFullResponse':!![]};}if(_0x3088cf[_0xb1c1('0x43')]==='phonecall'){_0x403502={'method':_0xb1c1('0x27'),'uri':_0x2bbeaa+_0xb1c1('0x44'),'body':Object[_0xb1c1('0x3e')]({},{'subject':intUtil['getString'](_0x3088cf[_0xb1c1('0x40')],_0x5e7056,'\x20'),'phonenumber':String(_0x5e7056[_0xb1c1('0x30')]),'description':intUtil['getString'](_0x3088cf['Descriptions'],_0x5e7056,'\x0a'),'regardingobjectid_contact@odata.bind':'/contacts('+_0x12df49[_0xb1c1('0x2e')]+')','ownerid@odata.bind':_0xb1c1('0x29')+_0x12df49[_0xb1c1('0x22')]+')','directioncode':_0x12df49[_0xb1c1('0x45')]===_0xb1c1('0x46')?![]:!![],'phonecall_activity_parties':[{'partyid_systemuser@odata.bind':_0xb1c1('0x29')+_0x12df49['userId']+')','participationtypemask':_0x12df49[_0xb1c1('0x45')]===_0xb1c1('0x46')?0x2:0x1},{'partyid_contact@odata.bind':'/contacts('+_0x12df49[_0xb1c1('0x2e')]+')','participationtypemask':_0x12df49['callDirection']===_0xb1c1('0x46')?0x1:0x2}]},getCustomFields(_0x3088cf[_0xb1c1('0x42')],_0x5e7056,_0x3088cf[_0xb1c1('0x43')])),'headers':{'Authorization':_0xb1c1('0x2a')+_0x5a2206,'OData-Version':'4.0'},'json':!![],'resolveWithFullResponse':!![]};}return rp(_0x403502);})[_0xb1c1('0xf')](function(_0x41beab){var _0x43d3bf=_0x41beab['headers'][_0xb1c1('0x2b')];var _0x284016=_0x43d3bf[_0xb1c1('0x2c')](_0x43d3bf['lastIndexOf']('(')+0x1,_0x43d3bf[_0xb1c1('0x2d')](')'));_0x12df49['ticketId']=_0x284016;_0x1d5522(_0x12df49);})[_0xb1c1('0x11')](function(_0x176b85){_0x5cd19c(_0x176b85[_0xb1c1('0x14')]);});});}function emit(_0x44b575,_0x3bd8d6,_0xd3312b,_0x35e49f){var _0x42dace={'uri':util[_0xb1c1('0x47')](_0xb1c1('0x48'),_0x44b575,_0xd3312b,_0x35e49f)};io['to'](util[_0xb1c1('0x47')](_0xb1c1('0x49'),_0x3bd8d6))[_0xb1c1('0x4a')]('trigger:browser:url',_0x42dace);}exports['cs']=function(_0x49cb2d,_0x33828d,_0x4cc169,_0x886436,_0x4fdefd,_0x213b99,_0x28f5ea,_0x8ac80e){var _0x1411aa={};_0x213b99['remoteUri']=intUtil[_0xb1c1('0x4b')](_0x213b99['remoteUri']);_0x213b99['serverUrl']=intUtil[_0xb1c1('0x4b')](_0x213b99[_0xb1c1('0x4c')]);_0x1411aa[_0xb1c1('0x45')]=_0x8ac80e===_0xb1c1('0x46')||_0x8ac80e===_0xb1c1('0x4d')?_0xb1c1('0x46'):_0xb1c1('0x25');var _0xa96065=util[_0xb1c1('0x47')](_0xb1c1('0x4e'),_0x213b99[_0xb1c1('0xc')]);var _0xedbdd0=util[_0xb1c1('0x47')](_0xb1c1('0x4f'),_0x213b99['tenantId']);var _0x1be6ba=util[_0xb1c1('0x47')](_0xb1c1('0x50'),_0x213b99['serverUrl'],_0x33828d['uniqueid'],md5(_0x33828d['uniqueid']));if(_0x4fdefd&&_0x4fdefd[_0xb1c1('0x51')]){logger[_0xb1c1('0x33')](_0xb1c1('0x52'),_0xb1c1('0x53'));_0x33828d[_0xb1c1('0x54')]=_0x1be6ba;}else if(_0x28f5ea&&_0x28f5ea['recordingFormat']&&_0x28f5ea[_0xb1c1('0x55')]!==_0xb1c1('0x56')){logger[_0xb1c1('0x33')](_0xb1c1('0x57'),_0xb1c1('0x53'));_0x33828d[_0xb1c1('0x54')]=_0x1be6ba;}else{_0x33828d[_0xb1c1('0x54')]='';}return getUser(_0x1411aa,_0x213b99,_0x886436,_0xedbdd0,_0xa96065,_0x8ac80e)[_0xb1c1('0xf')](function(_0x552bcf){logger[_0xb1c1('0x33')]('['+_0x8ac80e[_0xb1c1('0x12')]()+_0xb1c1('0x58'),_0x552bcf[_0xb1c1('0x22')]);logger['info']('['+_0x8ac80e[_0xb1c1('0x12')]()+']\x20The\x20User\x20email\x20is:',_0x552bcf['userEmail']);return getEndUser(_0x552bcf,_0x213b99,_0xedbdd0,_0xa96065,_0x33828d,_0x8ac80e);})[_0xb1c1('0xf')](function(_0x28325f){logger[_0xb1c1('0x33')]('['+_0x8ac80e[_0xb1c1('0x12')]()+']\x20The\x20Enduser\x20ID\x20is:',_0x28325f[_0xb1c1('0x2e')]);logger[_0xb1c1('0x33')]('['+_0x8ac80e['toUpperCase']()+_0xb1c1('0x59'),_0x33828d[_0xb1c1('0x30')]);return getTicket(_0x28325f,_0x213b99,_0xedbdd0,_0xa96065,_0x33828d,_0x4cc169,_0x8ac80e);})[_0xb1c1('0xf')](function(_0x536515){logger[_0xb1c1('0x33')](util[_0xb1c1('0x47')]('['+_0x8ac80e['toUpperCase']()+_0xb1c1('0x5a'),_0x4cc169[_0xb1c1('0x43')],_0x536515['ticketId']));logger[_0xb1c1('0x33')](util[_0xb1c1('0x47')]('['+_0x8ac80e[_0xb1c1('0x12')]()+_0xb1c1('0x5b'),_0x8ac80e));if(_0x8ac80e!==_0xb1c1('0x4d')){logger[_0xb1c1('0x33')]('['+_0x8ac80e[_0xb1c1('0x12')]()+']',_0xb1c1('0x5c'));emit(_0x213b99['remoteUri'],_0x886436[_0xb1c1('0x5d')],_0x4cc169[_0xb1c1('0x43')],_0x536515['ticketId']);}})['catch'](function(_0x432bf1){logger[_0xb1c1('0x5e')]('['+_0x8ac80e['toUpperCase']()+_0xb1c1('0x5f'),util[_0xb1c1('0x60')](_0x432bf1,{'showHidden':!![],'depth':null}));});};
\ No newline at end of file
+var _0x49cb=['systemusers?$select=internalemailaddress,isdisabled,systemuserid','4.0','isNil','validateEmail','email','userEmail','length','internalemailaddress','isdisabled','info','toUpperCase',']\x20Agent\x20found\x20','systemuserid','userId',']\x20Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','toLowerCase','outbound','destcalleridnum','contacts','/systemusers(','body','headers','odata-entityid','substring','lastIndexOf','catch','calleridnum','telephone1','&$filter=','\x20eq\x20\x27','replace','%2b','Bearer\x20','enduserId','contactid',']\x20Enduser\x20NOT\x20Created\x20-\x20ModuleCreate\x20=\x20Nothing',']\x20Enduser\x20created!','forEach','includes','string','type','nameField','customField','idField','indexOf','content','ticketType','incident','incidents','assign','getString','Subjects','Descriptions','Fields','phonecall','callDirection','queue','/contacts(','phonecalls','%s/main.aspx?pagetype=entityrecord&etn=%s&id=%s','user:%s','emit','trigger:browser:url','stripTrailingSlash','serverUrl','unmanaged','format','%s/api/data/v9.0/','https://login.microsoftonline.com/%s/oauth2/token','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','monitor_format','recordingFormat','none','[OUTBOUND]','Recording\x20is\x20enabled!','recordingURL',']\x20The\x20User\x20ID\x20is:',']\x20The\x20User\x20email\x20is:','moduleCreate','additionalSearchContact',']\x20The\x20Enduser\x20ID\x20is:',']\x20The\x20Enduser\x20phone\x20is:',']\x20The\x20%s\x20ID\x20is:\x20%s',']\x20Call\x20direction:\x20%s','openNewTab','Displaying\x20call\x20in\x20a\x20new\x20tab...','name','ticketId','error','lodash','request-promise','util','./util','../../../../config/logger','../../../../config/environment','redis','defaults','localhost','socket.io-emitter','modernAuthentication','remoteUri','CloudProvider','data7','tenantId','POST','clientId','username','password','access_token','message','then','GET'];(function(_0x251a41,_0x351dad){var _0x1c2d5c=function(_0x15984b){while(--_0x15984b){_0x251a41['push'](_0x251a41['shift']());}};_0x1c2d5c(++_0x351dad);}(_0x49cb,0xc9));var _0xb49c=function(_0x216e1e,_0x5587d0){_0x216e1e=_0x216e1e-0x0;var _0xc109a=_0x49cb[_0x216e1e];return _0xc109a;};'use strict';var _=require(_0xb49c('0x0'));var rp=require(_0xb49c('0x1'));var util=require(_0xb49c('0x2'));var intUtil=require(_0xb49c('0x3'));var md5=require('md5');var Redis=require('ioredis');var logger=require(_0xb49c('0x4'))('dynamics365');var config=require(_0xb49c('0x5'));config[_0xb49c('0x6')]=_[_0xb49c('0x7')](config['redis'],{'host':_0xb49c('0x8'),'port':0x18eb});var io=require(_0xb49c('0x9'))(new Redis(config[_0xb49c('0x6')]));function getAuthToken(_0x3203d2,_0x2a8aef,_0x4d2e6f){if(_0x3203d2[_0xb49c('0xa')]){_0x3203d2[_0xb49c('0xb')]=_0x3203d2[_0xb49c('0xc')][_0xb49c('0xd')];_0x3203d2[_0xb49c('0xe')]=_0x3203d2['CloudProvider']['data2'];return Promise['resolve'](_0x3203d2[_0xb49c('0xc')]['data5']);}var _0x2c8f7b={'method':_0xb49c('0xf'),'uri':_0x2a8aef,'form':{'client_id':_0x3203d2[_0xb49c('0x10')],'resource':_0x3203d2[_0xb49c('0xb')],'username':_0x3203d2[_0xb49c('0x11')],'password':_0x3203d2[_0xb49c('0x12')],'grant_type':_0xb49c('0x12'),'client_secret':_0x3203d2['clientSecret']},'json':!![]};return rp(_0x2c8f7b)['then'](function(_0x523937){return _0x523937[_0xb49c('0x13')];})['catch'](function(_0x1f782b){logger['error']('['+[_0x4d2e6f['toUpperCase']()]+']\x20Wrong\x20credentials!');return _0x1f782b[_0xb49c('0x14')];});}function getUser(_0x1a10cd,_0x1e227d,_0x5795c4,_0x2ff5ae,_0x5c8524,_0x21b990){return new Promise(function(_0x2b89e8,_0xf9e46a){return getAuthToken(_0x1e227d,_0x2ff5ae,_0x21b990)[_0xb49c('0x15')](function(_0x550bf8){var _0x35a694={'method':_0xb49c('0x16'),'uri':_0x5c8524+_0xb49c('0x17'),'headers':{'Authorization':'Bearer\x20'+_0x550bf8,'OData-Version':_0xb49c('0x18')},'json':!![]};return rp(_0x35a694);})[_0xb49c('0x15')](function(_0x1f8e5d){var _0x44ea68=_0x1f8e5d['value'];var _0x3dae51=![];var _0x1b069c=null;if(!_[_0xb49c('0x19')](_0x5795c4)){if(intUtil[_0xb49c('0x1a')](_0x5795c4[_0xb49c('0x1b')])){_0x1a10cd[_0xb49c('0x1c')]=_0x5795c4['email'];for(_0x1b069c=0x0;_0x1b069c<_0x44ea68[_0xb49c('0x1d')];_0x1b069c++){if(_0x44ea68[_0x1b069c][_0xb49c('0x1e')]===_0x5795c4[_0xb49c('0x1b')]&&!_0x44ea68[_0x1b069c][_0xb49c('0x1f')]){_0x3dae51=!![];logger[_0xb49c('0x20')]('['+[_0x21b990[_0xb49c('0x21')]()]+_0xb49c('0x22')+_0x44ea68[_0x1b069c][_0xb49c('0x23')]+'!');_0x1a10cd[_0xb49c('0x24')]=_0x44ea68[_0x1b069c]['systemuserid'];}}}}if(!_0x3dae51){logger[_0xb49c('0x20')]('['+[_0x21b990[_0xb49c('0x21')]()]+_0xb49c('0x25'));_0x1a10cd[_0xb49c('0x1c')]=_0x1e227d[_0xb49c('0x11')];for(_0x1b069c=0x0;_0x1b069c<_0x44ea68[_0xb49c('0x1d')];_0x1b069c++){if(_0x44ea68[_0x1b069c][_0xb49c('0x1e')]===_0x1e227d[_0xb49c('0x11')]){_0x1a10cd[_0xb49c('0x24')]=_0x44ea68[_0x1b069c][_0xb49c('0x23')];}}}_0x2b89e8(_0x1a10cd);})['catch'](function(_0x2de711){_0xf9e46a(_0x2de711['message']);});});}function createEndUser(_0xa9eabb,_0x43a446,_0xc76de5,_0x511d3f,_0x1b55b7,_0x586ffd,_0x2b0705){return new Promise(function(_0x222504,_0x10795a){return getAuthToken(_0x43a446,_0xc76de5,_0x586ffd)[_0xb49c('0x15')](function(_0x2911e6){var _0x313a6f=_0x586ffd[_0xb49c('0x26')]()===_0xb49c('0x27')?_0x1b55b7[_0xb49c('0x28')]:_0x1b55b7['calleridnum'];var _0x212a25={'method':_0xb49c('0xf'),'uri':_0x511d3f+_0xb49c('0x29'),'body':{'fullname':_0x313a6f,'firstname':_0x313a6f,'lastname':'_','mobilephone':null,'address1_telephone1':null,'ownerid@odata.bind':_0xb49c('0x2a')+_0xa9eabb[_0xb49c('0x24')]+')'},'headers':{'Authorization':'Bearer\x20'+_0x2911e6,'OData-Version':'4.0'},'json':!![],'resolveWithFullResponse':!![]};_0x212a25[_0xb49c('0x2b')][_0x2b0705]=_0x313a6f;return rp(_0x212a25);})[_0xb49c('0x15')](function(_0x5860bf){var _0x32afc1=_0x5860bf[_0xb49c('0x2c')][_0xb49c('0x2d')];var _0x14fe5c=_0x32afc1[_0xb49c('0x2e')](_0x32afc1[_0xb49c('0x2f')]('(')+0x1,_0x32afc1[_0xb49c('0x2f')](')'));_0xa9eabb['enduserId']=_0x14fe5c;_0x222504(_0xa9eabb);})[_0xb49c('0x30')](function(_0x580235){_0x10795a(_0x580235[_0xb49c('0x14')]);});});}function getEndUser(_0x50aec6,_0x5e81a3,_0x5052bb,_0x2929e5,_0x2c4769,_0x4de55,_0x297d58,_0x3e3b69){var _0x462256=_0x4de55[_0xb49c('0x26')]()===_0xb49c('0x27')?_0x2c4769['destcalleridnum']:_0x2c4769[_0xb49c('0x31')];return getAuthToken(_0x5e81a3,_0x5052bb,_0x4de55)[_0xb49c('0x15')](function(_0x51bcb5){_0x3e3b69=_0x3e3b69?_0x3e3b69:_0xb49c('0x32');var _0x2b0a03={'method':_0xb49c('0x16'),'uri':_0x2929e5+'contacts?$select='+_0x3e3b69+_0xb49c('0x33')+_0x3e3b69+_0xb49c('0x34')+_0x462256[_0xb49c('0x35')]('+',_0xb49c('0x36'))+'\x27','headers':{'Authorization':_0xb49c('0x37')+_0x51bcb5,'If-None-Match':null,'OData-Version':_0xb49c('0x18')},'json':!![]};return rp(_0x2b0a03);})[_0xb49c('0x15')](function(_0x36c8c7){var _0x1d0969=![];if(!_0x36c8c7)return _0x1d0969;var _0x3c52a8=_0x36c8c7['value'];for(var _0x2af077=0x0;_0x2af077<_0x3c52a8[_0xb49c('0x1d')];_0x2af077++){if(_0x3c52a8[_0x2af077][_0x3e3b69]===_0x462256){_0x1d0969=!![];_0x50aec6[_0xb49c('0x38')]=_0x3c52a8[_0x2af077][_0xb49c('0x39')];}}return _0x1d0969;})['then'](function(_0x2e5697){if(_0x2e5697)return _0x50aec6;if(_0x297d58==='nothing'){logger[_0xb49c('0x20')]('['+[_0x4de55[_0xb49c('0x21')]()]+_0xb49c('0x3a'));return _0x50aec6;}return createEndUser(_0x50aec6,_0x5e81a3,_0x5052bb,_0x2929e5,_0x2c4769,_0x4de55,_0x3e3b69)[_0xb49c('0x15')](function(_0x44979e){logger[_0xb49c('0x20')]('['+[_0x4de55['toUpperCase']()]+_0xb49c('0x3b'),_0x44979e[_0xb49c('0x38')]);return _0x44979e;});});}function getCustomFields(_0x3fc6ab,_0x41902a,_0x13c306){var _0x2f450b={};if(_0x3fc6ab[_0xb49c('0x1d')]>0x0){_[_0xb49c('0x3c')](_0x3fc6ab,function(_0x2d1d49){if(_[_0xb49c('0x3d')]([_0xb49c('0x3e'),'picklist'],_0x2d1d49[_0xb49c('0x3f')])&&_0x2d1d49[_0xb49c('0x40')]&&!_0x2d1d49[_0xb49c('0x41')]){var _0x59e127=_0x2d1d49[_0xb49c('0x42')][_0xb49c('0x26')]();var _0x3c6029=_0x59e127[_0xb49c('0x2e')](0x0,_0x59e127[_0xb49c('0x43')]('_'));var _0x4736fa=_0x59e127['substring'](_0x59e127[_0xb49c('0x43')]('_')+0x1);if(_0x3c6029===_0x13c306){_0x2f450b[_0x4736fa]=_0x2d1d49[_0xb49c('0x44')];}}});}return _0x2f450b;}function getTicket(_0x2a1bf9,_0x23291a,_0x334931,_0x1f40dc,_0x305deb,_0x75ec1f,_0x51cc64){return new Promise(function(_0x18c6f8,_0x3a5d01){var _0x2fd753;return getAuthToken(_0x23291a,_0x334931,_0x51cc64)[_0xb49c('0x15')](function(_0x5915ee){if(_0x75ec1f[_0xb49c('0x45')]===_0xb49c('0x46')){_0x2fd753={'method':'POST','uri':_0x1f40dc+_0xb49c('0x47'),'body':Object[_0xb49c('0x48')]({},{'title':intUtil[_0xb49c('0x49')](_0x75ec1f[_0xb49c('0x4a')],_0x305deb,'\x20'),'description':intUtil[_0xb49c('0x49')](_0x75ec1f[_0xb49c('0x4b')],_0x305deb,'\x0a'),'customerid_contact@odata.bind':_0x2a1bf9[_0xb49c('0x38')]?'/contacts('+_0x2a1bf9[_0xb49c('0x38')]+')':undefined,'ownerid@odata.bind':'/systemusers('+_0x2a1bf9['userId']+')','caseorigincode':'1'},getCustomFields(_0x75ec1f[_0xb49c('0x4c')],_0x305deb,_0x75ec1f[_0xb49c('0x45')])),'headers':{'Authorization':_0xb49c('0x37')+_0x5915ee,'OData-Version':_0xb49c('0x18')},'json':!![],'resolveWithFullResponse':!![]};}if(_0x75ec1f[_0xb49c('0x45')]===_0xb49c('0x4d')){var _0x1afa31=_0x2a1bf9[_0xb49c('0x38')]?[{'partyid_systemuser@odata.bind':'/systemusers('+_0x2a1bf9[_0xb49c('0x24')]+')','participationtypemask':_0x2a1bf9[_0xb49c('0x4e')]===_0xb49c('0x4f')?0x2:0x1},{'partyid_contact@odata.bind':_0xb49c('0x50')+_0x2a1bf9[_0xb49c('0x38')]+')','participationtypemask':_0x2a1bf9['callDirection']===_0xb49c('0x4f')?0x1:0x2}]:[{'partyid_systemuser@odata.bind':_0xb49c('0x2a')+_0x2a1bf9[_0xb49c('0x24')]+')','participationtypemask':_0x2a1bf9[_0xb49c('0x4e')]===_0xb49c('0x4f')?0x2:0x1}];_0x2fd753={'method':_0xb49c('0xf'),'uri':_0x1f40dc+_0xb49c('0x51'),'body':Object[_0xb49c('0x48')]({},{'subject':intUtil['getString'](_0x75ec1f[_0xb49c('0x4a')],_0x305deb,'\x20'),'phonenumber':String(_0x305deb[_0xb49c('0x31')]),'description':intUtil['getString'](_0x75ec1f[_0xb49c('0x4b')],_0x305deb,'\x0a'),'regardingobjectid_contact@odata.bind':_0x2a1bf9[_0xb49c('0x38')]?_0xb49c('0x50')+_0x2a1bf9[_0xb49c('0x38')]+')':undefined,'ownerid@odata.bind':'/systemusers('+_0x2a1bf9[_0xb49c('0x24')]+')','directioncode':_0x2a1bf9['callDirection']===_0xb49c('0x4f')?![]:!![],'phonecall_activity_parties':_0x1afa31},getCustomFields(_0x75ec1f[_0xb49c('0x4c')],_0x305deb,_0x75ec1f['ticketType'])),'headers':{'Authorization':_0xb49c('0x37')+_0x5915ee,'OData-Version':_0xb49c('0x18')},'json':!![],'resolveWithFullResponse':!![]};}return rp(_0x2fd753);})['then'](function(_0x3356fb){var _0x1a029d=_0x3356fb[_0xb49c('0x2c')][_0xb49c('0x2d')];var _0x3cd8f2=_0x1a029d[_0xb49c('0x2e')](_0x1a029d[_0xb49c('0x2f')]('(')+0x1,_0x1a029d[_0xb49c('0x2f')](')'));_0x2a1bf9['ticketId']=_0x3cd8f2;_0x18c6f8(_0x2a1bf9);})['catch'](function(_0x529b6d){_0x3a5d01(_0x529b6d[_0xb49c('0x14')]);});});}function emit(_0x5706ae,_0x142342,_0x1d85d9,_0x4547d3){var _0x1e5775={'uri':util['format'](_0xb49c('0x52'),_0x5706ae,_0x1d85d9,_0x4547d3)};io['to'](util['format'](_0xb49c('0x53'),_0x142342))[_0xb49c('0x54')](_0xb49c('0x55'),_0x1e5775);}exports['cs']=function(_0xc610b5,_0x44eb3f,_0x254c46,_0x2fc07d,_0x18da17,_0x151b9d,_0x416ec3,_0x551122){var _0x5cb7ab={};_0x151b9d[_0xb49c('0xb')]=_0x151b9d[_0xb49c('0xa')]?intUtil['stripTrailingSlash'](_0x151b9d[_0xb49c('0xc')][_0xb49c('0xd')]):intUtil[_0xb49c('0x56')](_0x151b9d[_0xb49c('0xb')]);_0x151b9d[_0xb49c('0x57')]=intUtil['stripTrailingSlash'](_0x151b9d['serverUrl']);_0x5cb7ab[_0xb49c('0x4e')]=_0x551122===_0xb49c('0x4f')||_0x551122===_0xb49c('0x58')?_0xb49c('0x4f'):'outbound';var _0x1df2ec=_0x151b9d[_0xb49c('0xa')]?util[_0xb49c('0x59')]('%s/api/data/v9.0/',_0x151b9d[_0xb49c('0xc')][_0xb49c('0xd')]):util['format'](_0xb49c('0x5a'),_0x151b9d[_0xb49c('0xb')]);var _0x55e058=util['format'](_0xb49c('0x5b'),_0x151b9d['tenantId']);var _0x32f00a=util[_0xb49c('0x59')](_0xb49c('0x5c'),_0x151b9d['serverUrl'],_0x44eb3f['uniqueid'],md5(_0x44eb3f['uniqueid']));if(_0x18da17&&_0x18da17[_0xb49c('0x5d')]){logger[_0xb49c('0x20')]('[QUEUE]','Recording\x20is\x20enabled!');_0x44eb3f['recordingURL']=_0x32f00a;}else if(_0x416ec3&&_0x416ec3[_0xb49c('0x5e')]&&_0x416ec3[_0xb49c('0x5e')]!==_0xb49c('0x5f')){logger['info'](_0xb49c('0x60'),_0xb49c('0x61'));_0x44eb3f[_0xb49c('0x62')]=_0x32f00a;}else{_0x44eb3f['recordingURL']='';}return getUser(_0x5cb7ab,_0x151b9d,_0x2fc07d,_0x55e058,_0x1df2ec,_0x551122)[_0xb49c('0x15')](function(_0x5a1cff){logger[_0xb49c('0x20')]('['+_0x551122[_0xb49c('0x21')]()+_0xb49c('0x63'),_0x5a1cff['userId']);logger[_0xb49c('0x20')]('['+_0x551122['toUpperCase']()+_0xb49c('0x64'),_0x5a1cff[_0xb49c('0x1c')]);return getEndUser(_0x5a1cff,_0x151b9d,_0x55e058,_0x1df2ec,_0x44eb3f,_0x551122,_0x254c46[_0xb49c('0x65')],_0x254c46[_0xb49c('0x66')]);})[_0xb49c('0x15')](function(_0x1b4e52){logger[_0xb49c('0x20')]('['+_0x551122[_0xb49c('0x21')]()+_0xb49c('0x67'),_0x1b4e52[_0xb49c('0x38')]);logger['info']('['+_0x551122[_0xb49c('0x21')]()+_0xb49c('0x68'),_0x44eb3f['calleridnum']);return getTicket(_0x1b4e52,_0x151b9d,_0x55e058,_0x1df2ec,_0x44eb3f,_0x254c46,_0x551122);})['then'](function(_0xae48bb){logger[_0xb49c('0x20')](util[_0xb49c('0x59')]('['+_0x551122[_0xb49c('0x21')]()+_0xb49c('0x69'),_0x254c46[_0xb49c('0x45')],_0xae48bb['ticketId']));logger['info'](util[_0xb49c('0x59')]('['+_0x551122[_0xb49c('0x21')]()+_0xb49c('0x6a'),_0x551122));if(_0x551122!==_0xb49c('0x58')&&_0x254c46[_0xb49c('0x6b')]){logger[_0xb49c('0x20')]('['+_0x551122[_0xb49c('0x21')]()+']',_0xb49c('0x6c'));emit(_0x151b9d[_0xb49c('0xb')],_0x2fc07d[_0xb49c('0x6d')],_0x254c46[_0xb49c('0x45')],_0xae48bb[_0xb49c('0x6e')]);}})[_0xb49c('0x30')](function(_0x2f8c34){logger[_0xb49c('0x6f')]('['+_0x551122[_0xb49c('0x21')]()+']\x20Error\x20running\x20Dynamics365\x20integration',_0x2f8c34[_0xb49c('0x14')]);console[_0xb49c('0x6f')]('Error\x20running\x20Dynamics365\x20integration',_0x2f8c34);});};
\ No newline at end of file