feaf89b43774d51ac4e5f8c223e3d3420247beb4
[motion2.git] / server / services / ami / trigger / integration / salesforce.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xc513=['content','toString','variable','variableName','customVariable','Variable','name','toLowerCase','password','securityToken','Connection','clientSecret','username','Connection\x20established.','queue','stripTrailingSlash','serverUrl','remoteUri','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','email','calleridname','Fields','[QUEUE]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','integrationTab','user:%s','newTab','trigger:browser:url','%s/%s/e','instanceUrl','error','catch','outbound','recordingFormat','none','[OUTBOUND]','destcalleridnum','[OUTBOUND]\x20Ticket\x20%s\x20created.','trigger:salesforce:display','Salesforce\x20account\x20type\x20not\x20recognized','unmanaged','lastevent','toUpperCase','calleridnum',']\x20Ticket\x20%s\x20created.',']\x20Integration\x20account\x20type\x20%s.','lodash','request-promise','moment','bluebird','jsforce','util','ioredis','./util','../../../../config/environment','../../../../config/logger','salesforce','redis','socket.io-emitter','assign','getString','Subjects','Descriptions','ticketType','Task','ActivityDate','IsRecurrence','endUserType','lead','WhoId','account','Case','ContactId','leadId','info','Association\x20between\x20Case\x20and\x20Lead\x20skipped','sobject','create','User','find','execute','then','Email','Agent\x20%s\x20found.','resolve','Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.','display_name','user_id','moduleSearch','contact_lead','additionalSearchContact','$or','length','cloneDeep','additionalSearchLead','merge','Lead','account_contact_lead','additionalSearchAccount','Account','Contact','contact','first','Name','Phone','type','Enduser\x20(%s)\x20with\x20phone\x20%s\x20found','Enduser\x20with\x20phone\x20%s\x20not\x20found','moduleCreate','Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.','LastName','<unknown>','Caller\x20-\x20%s','format','Company','No\x20Company','forEach','includes','picklist','idField'];(function(_0x33628a,_0x2df134){var _0x25d370=function(_0x5567fc){while(--_0x5567fc){_0x33628a['push'](_0x33628a['shift']());}};_0x25d370(++_0x2df134);}(_0xc513,0x12a));var _0x3c51=function(_0x3c1229,_0x7e25a4){_0x3c1229=_0x3c1229-0x0;var _0x5e0dfd=_0xc513[_0x3c1229];return _0x5e0dfd;};'use strict';var _=require(_0x3c51('0x0'));var rp=require(_0x3c51('0x1'));var moment=require(_0x3c51('0x2'));var BPromise=require(_0x3c51('0x3'));var md5=require('md5');var jsforce=require(_0x3c51('0x4'));var util=require(_0x3c51('0x5'));var Redis=require(_0x3c51('0x6'));var intUtil=require(_0x3c51('0x7'));var config=require(_0x3c51('0x8'));var logger=require(_0x3c51('0x9'))(_0x3c51('0xa'));config[_0x3c51('0xb')]=_['defaults'](config[_0x3c51('0xb')],{'host':'localhost','port':0x18eb});var io=require(_0x3c51('0xc'))(new Redis(config['redis']));function emit(_0x4a7670,_0x8e07,_0x550945){io['to'](_0x4a7670)['emit'](_0x8e07,_0x550945);}function getTicket(_0x3edc25,_0x1105d2,_0x527046,_0x30203f,_0x374a49,_0x2bd945,_0x25e2ae,_0x17cfa0){var _0x1ad7d9=Object[_0x3c51('0xd')]({},{'OwnerId':_0x1105d2['id'],'Subject':intUtil[_0x3c51('0xe')](_0x30203f[_0x3c51('0xf')],_0x374a49,'\x20'),'Description':intUtil[_0x3c51('0xe')](_0x30203f[_0x3c51('0x10')],_0x374a49,'\x0a')},getCustomFields(_0x2bd945,_0x374a49));if(_0x527046){if(_0x30203f[_0x3c51('0x11')]===_0x3c51('0x12')){_0x1ad7d9[_0x3c51('0x13')]=moment['utc']();_0x1ad7d9['IsReminderSet']=![];_0x1ad7d9[_0x3c51('0x14')]=![];if(_0x527046[_0x3c51('0x15')]==='contact'||_0x527046['endUserType']===_0x3c51('0x16')){_0x1ad7d9[_0x3c51('0x17')]=_0x527046['id'];}else if(_0x527046[_0x3c51('0x15')]===_0x3c51('0x18')){_0x1ad7d9['WhatId']=_0x527046['id'];}}else if(_0x30203f['ticketType']===_0x3c51('0x19')){if(_0x527046[_0x3c51('0x15')]==='contact'){_0x1ad7d9[_0x3c51('0x1a')]=_0x527046['id'];}else if(_0x527046[_0x3c51('0x15')]===_0x3c51('0x18')){_0x1ad7d9['AccountId']=_0x527046['id'];}else if(_0x527046[_0x3c51('0x15')]===_0x3c51('0x16')&&_0x30203f[_0x3c51('0x1b')]){_0x1ad7d9[_0x30203f[_0x3c51('0x1b')]]=_0x527046['id'];}else{logger[_0x3c51('0x1c')](_0x3c51('0x1d'));}}}return _0x25e2ae[_0x3c51('0x1e')](_0x30203f[_0x3c51('0x11')])[_0x3c51('0x1f')](_0x1ad7d9);}function getUser(_0x397f71,_0x3f38f7,_0x2d81e2){if(!_['isNil'](_0x3f38f7)&&intUtil['validateEmail'](_0x3f38f7)){var _0x5645d={'Email':_0x3f38f7};var _0x26eb50={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x2d81e2[_0x3c51('0x1e')](_0x3c51('0x20'))[_0x3c51('0x21')](_0x5645d,_0x26eb50)[_0x3c51('0x22')]()[_0x3c51('0x23')](function(_0x37e6f4){if(_0x37e6f4['length']){var _0x33f8a7=_['find'](_0x37e6f4,function(_0xf197f1){return _0xf197f1[_0x3c51('0x24')]===_0x3f38f7;});if(_0x33f8a7){logger[_0x3c51('0x1c')](_0x3c51('0x25'),_0x3f38f7);return BPromise[_0x3c51('0x26')]({'id':_0x33f8a7['Id'],'name':_0x33f8a7['Name']});}}else{logger[_0x3c51('0x1c')](_0x3c51('0x27'),_0x3f38f7);return _0x2d81e2['identity']()['then'](function(_0x540ec3){return BPromise[_0x3c51('0x26')]({'id':_0x540ec3['user_id'],'name':_0x540ec3[_0x3c51('0x28')]});});}});}else{logger[_0x3c51('0x1c')](_0x3c51('0x27'),_0x3f38f7);return _0x2d81e2['identity']()[_0x3c51('0x23')](function(_0x118a2c){return BPromise['resolve']({'id':_0x118a2c[_0x3c51('0x29')],'name':_0x118a2c[_0x3c51('0x28')]});});}}function getEndUser(_0x4dde3a,_0x2733a8,_0x4ba723,_0x4987d3,_0x4b28d4){var _0x345b1d={'$or':{'Phone':_0x4987d3}};var _0x5ea5f0={'Id':!![],'Name':!![],'Phone':!![]};return BPromise[_0x3c51('0x26')]()[_0x3c51('0x23')](function(){logger[_0x3c51('0x1c')]('Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.',_0x4987d3,_0x2733a8[_0x3c51('0x2a')]);switch(_0x2733a8[_0x3c51('0x2a')]){case _0x3c51('0x2b'):var _0x3971e2=_['cloneDeep'](_0x345b1d);if(_0x2733a8[_0x3c51('0x2c')]){var _0x31de5d={};_0x31de5d[_0x2733a8['additionalSearchContact']]=_0x4987d3;_['merge'](_0x3971e2[_0x3c51('0x2d')],_0x31de5d);}return _0x4b28d4[_0x3c51('0x1e')]('Contact')[_0x3c51('0x21')](_0x3971e2,_0x5ea5f0)[_0x3c51('0x22')]()[_0x3c51('0x23')](function(_0x53b39c){if(_0x53b39c&&_0x53b39c[_0x3c51('0x2e')]){return _0x53b39c;}else{var _0x257c17=_[_0x3c51('0x2f')](_0x345b1d);if(_0x2733a8['additionalSearchLead']){var _0x45bdf5={};_0x45bdf5[_0x2733a8[_0x3c51('0x30')]]=_0x4987d3;_[_0x3c51('0x31')](_0x257c17[_0x3c51('0x2d')],_0x45bdf5);}return _0x4b28d4['sobject'](_0x3c51('0x32'))['find'](_0x257c17,_0x5ea5f0);}});case _0x3c51('0x33'):var _0x13ec99=_[_0x3c51('0x2f')](_0x345b1d);if(_0x2733a8[_0x3c51('0x34')]){var _0x31de5d={};_0x31de5d[_0x2733a8[_0x3c51('0x34')]]=_0x4987d3;_['merge'](_0x13ec99[_0x3c51('0x2d')],_0x31de5d);}return _0x4b28d4[_0x3c51('0x1e')](_0x3c51('0x35'))[_0x3c51('0x21')](_0x13ec99,_0x5ea5f0)[_0x3c51('0x22')]()[_0x3c51('0x23')](function(_0xbe6927){if(_0xbe6927&&_0xbe6927[_0x3c51('0x2e')]){return _0xbe6927;}else{var _0x3daf26=_[_0x3c51('0x2f')](_0x345b1d);if(_0x2733a8[_0x3c51('0x2c')]){var _0x769216={};_0x769216[_0x2733a8[_0x3c51('0x2c')]]=_0x4987d3;_[_0x3c51('0x31')](_0x3daf26[_0x3c51('0x2d')],_0x769216);}return _0x4b28d4[_0x3c51('0x1e')](_0x3c51('0x36'))[_0x3c51('0x21')](_0x3daf26,_0x5ea5f0)[_0x3c51('0x23')](function(_0x53b744){if(_0x53b744&&_0x53b744[_0x3c51('0x2e')]){return _0x53b744;}else{var _0xc38021=_[_0x3c51('0x2f')](_0x345b1d);if(_0x2733a8[_0x3c51('0x30')]){var _0x5f416b={};_0x5f416b[_0x2733a8[_0x3c51('0x30')]]=_0x4987d3;_['merge'](_0xc38021[_0x3c51('0x2d')],_0x5f416b);}return _0x4b28d4['sobject'](_0x3c51('0x32'))['find'](_0xc38021,_0x5ea5f0);}});}});case _0x3c51('0x37'):var _0x3971e2=_['cloneDeep'](_0x345b1d);if(_0x2733a8[_0x3c51('0x2c')]){var _0x31de5d={};_0x31de5d[_0x2733a8[_0x3c51('0x2c')]]=_0x4987d3;_[_0x3c51('0x31')](_0x3971e2[_0x3c51('0x2d')],_0x31de5d);}return _0x4b28d4[_0x3c51('0x1e')](_0x3c51('0x36'))[_0x3c51('0x21')](_0x3971e2,_0x5ea5f0)[_0x3c51('0x22')]();case _0x3c51('0x16'):var _0x552618=_[_0x3c51('0x2f')](_0x345b1d);if(_0x2733a8[_0x3c51('0x30')]){var _0x31de5d={};_0x31de5d[_0x2733a8[_0x3c51('0x30')]]=_0x4987d3;_[_0x3c51('0x31')](_0x552618[_0x3c51('0x2d')],_0x31de5d);}return _0x4b28d4['sobject'](_0x3c51('0x32'))['find'](_0x552618,_0x5ea5f0);case _0x3c51('0x18'):var _0x13ec99=_[_0x3c51('0x2f')](_0x345b1d);if(_0x2733a8['additionalSearchAccount']){var _0x31de5d={};_0x31de5d[_0x2733a8[_0x3c51('0x34')]]=_0x4987d3;_['merge'](_0x13ec99[_0x3c51('0x2d')],_0x31de5d);}return _0x4b28d4['sobject'](_0x3c51('0x35'))['find'](_0x13ec99,_0x5ea5f0);default:return null;}})[_0x3c51('0x23')](function(_0x14e8f8){if(_0x14e8f8&&_0x14e8f8[_0x3c51('0x2e')]){var _0x47bc8d=_[_0x3c51('0x38')](_0x14e8f8);if(_0x47bc8d){return BPromise[_0x3c51('0x26')]({'id':_0x47bc8d['Id'],'name':_0x47bc8d[_0x3c51('0x39')],'phone':_0x47bc8d[_0x3c51('0x3a')],'endUserType':_0x47bc8d['attributes'][_0x3c51('0x3b')]['toLowerCase']()});}}})[_0x3c51('0x23')](function(_0xd4b099){if(_0xd4b099){logger['info'](_0x3c51('0x3c'),_0xd4b099[_0x3c51('0x15')],_0x4987d3);return BPromise[_0x3c51('0x26')](_0xd4b099);}else{logger[_0x3c51('0x1c')](_0x3c51('0x3d'),_0x4987d3);var _0x2cb5f6={'Phone':_0x4987d3};if(_0x2733a8[_0x3c51('0x3e')]){if(_0x2733a8['moduleCreate']==='contact'){logger[_0x3c51('0x1c')](_0x3c51('0x3f'),_0x4987d3,_0x2733a8['moduleCreate']);_0x2cb5f6[_0x3c51('0x40')]=_0x4ba723!==_0x3c51('0x41')?_0x4ba723:util['format'](_0x3c51('0x42'),_0x4987d3);}else if(_0x2733a8[_0x3c51('0x3e')]===_0x3c51('0x16')){logger[_0x3c51('0x1c')](_0x3c51('0x3f'),_0x4987d3,_0x2733a8[_0x3c51('0x3e')]);_0x2cb5f6[_0x3c51('0x40')]=_0x4ba723!==_0x3c51('0x41')?_0x4ba723:util[_0x3c51('0x43')](_0x3c51('0x42'),_0x4987d3);_0x2cb5f6[_0x3c51('0x44')]=_0x3c51('0x45');}else if(_0x2733a8['moduleCreate']===_0x3c51('0x18')){logger[_0x3c51('0x1c')](_0x3c51('0x3f'),_0x4987d3,_0x2733a8[_0x3c51('0x3e')]);_0x2cb5f6[_0x3c51('0x39')]=_0x4ba723!=='<unknown>'?_0x4ba723:util['format'](_0x3c51('0x42'),_0x4987d3);}else{return null;}}return _0x4b28d4['sobject'](_['upperFirst'](_0x2733a8['moduleCreate']))[_0x3c51('0x1f')](_0x2cb5f6)[_0x3c51('0x23')](function(_0x49d4d4){return BPromise[_0x3c51('0x26')]({'id':_0x49d4d4['id'],'endUserType':_0x2733a8[_0x3c51('0x3e')]});});}});}function getCustomFields(_0x194093,_0x46b660){var _0x4f998e={};if(_0x194093[_0x3c51('0x2e')]>0x0){_[_0x3c51('0x46')](_0x194093,function(_0x5f0425){if(_[_0x3c51('0x47')](['string',_0x3c51('0x48')],_0x5f0425['type'])&&_0x5f0425[_0x3c51('0x49')]){_0x4f998e[_0x5f0425['idField']]=_0x5f0425[_0x3c51('0x4a')][_0x3c51('0x4b')]();}else if(_0x5f0425[_0x3c51('0x3b')]===_0x3c51('0x4c')&&_0x5f0425[_0x3c51('0x4d')]&&_0x5f0425[_0x3c51('0x49')]){_0x46b660[_0x5f0425['variableName']]&&(_0x4f998e[_0x5f0425[_0x3c51('0x49')]]=_0x46b660[_0x5f0425[_0x3c51('0x4d')]][_0x3c51('0x4b')]());}else if(_0x5f0425[_0x3c51('0x3b')]===_0x3c51('0x4e')&&_0x5f0425[_0x3c51('0x4f')]&&_0x5f0425[_0x3c51('0x4f')][_0x3c51('0x50')]&&_0x5f0425[_0x3c51('0x49')]){_0x46b660[_0x5f0425[_0x3c51('0x4f')][_0x3c51('0x50')][_0x3c51('0x51')]()]&&(_0x4f998e[_0x5f0425[_0x3c51('0x49')]]=_0x46b660[_0x5f0425[_0x3c51('0x4f')]['name'][_0x3c51('0x51')]()][_0x3c51('0x4b')]());}});}return _0x4f998e;}function getConnection(_0x5d52c8){var _0x1d9baa=_0x5d52c8[_0x3c51('0x52')]['concat'](_0x5d52c8[_0x3c51('0x53')]);var _0x13e463=new jsforce[(_0x3c51('0x54'))]({'oauth2':{'loginUrl':_0x5d52c8['remoteUri']||'https://login.salesforce.com','clientId':_0x5d52c8['clientId'],'clientSecret':_0x5d52c8[_0x3c51('0x55')]}});return _0x13e463['login'](_0x5d52c8[_0x3c51('0x56')],_0x1d9baa)['then'](function(){logger[_0x3c51('0x1c')](_0x3c51('0x57'));return _0x13e463;});}exports[_0x3c51('0x58')]=function(_0x57e3f6,_0x133931,_0x502580,_0x234230,_0x3f3605,_0x4c40eb){var _0x5e6823,_0x49f185,_0x41c739,_0x3f26b9;_0x4c40eb['serverUrl']=intUtil[_0x3c51('0x59')](_0x4c40eb[_0x3c51('0x5a')]);_0x4c40eb[_0x3c51('0x5b')]=intUtil['stripTrailingSlash'](_0x4c40eb[_0x3c51('0x5b')]);if(_0x3f3605&&_0x3f3605[_0x3c51('0x5c')]){logger['info'](_0x3c51('0x5d'),_0x3c51('0x5e'));_0x133931[_0x3c51('0x5f')]=util[_0x3c51('0x43')](_0x3c51('0x60'),_0x4c40eb[_0x3c51('0x5a')],_0x133931[_0x3c51('0x61')],md5(_0x133931['uniqueid']));}else{_0x133931['recordingURL']='';}return getConnection(_0x4c40eb)[_0x3c51('0x23')](function(_0x46d58b){_0x3f26b9=_0x46d58b;return getUser(_0x4c40eb,_0x234230[_0x3c51('0x62')],_0x3f26b9);})[_0x3c51('0x23')](function(_0x2491f4){_0x5e6823=_0x2491f4;return getEndUser(_0x4c40eb,_0x502580,_0x133931[_0x3c51('0x63')],_0x133931['calleridnum'],_0x3f26b9);})[_0x3c51('0x23')](function(_0x2433ae){_0x49f185=_0x2433ae;return getTicket(_0x4c40eb,_0x5e6823,_0x49f185,_0x502580,_0x133931,_0x502580[_0x3c51('0x64')],_0x3f26b9,_0x3c51('0x58'));})[_0x3c51('0x23')](function(_0x16691b){_0x41c739=_0x16691b;logger[_0x3c51('0x1c')]('[QUEUE]\x20Ticket\x20%s\x20created',_0x41c739['id']);logger[_0x3c51('0x1c')](_0x3c51('0x65'),_0x41c739['id'],_0x234230[_0x3c51('0x50')],_0x4c40eb[_0x3c51('0x3b')]);switch(_0x4c40eb['type']){case _0x3c51('0x66'):emit(util[_0x3c51('0x43')](_0x3c51('0x67'),_0x234230[_0x3c51('0x50')]),'trigger:salesforce:display',{'recordId':_0x41c739['id']});break;case _0x3c51('0x68'):emit(util[_0x3c51('0x43')](_0x3c51('0x67'),_0x234230['name']),_0x3c51('0x69'),{'uri':util[_0x3c51('0x43')](_0x3c51('0x6a'),_0x3f26b9[_0x3c51('0x6b')],_0x41c739['id'])});break;default:logger[_0x3c51('0x6c')]('[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.');}})[_0x3c51('0x6d')](function(_0x1138f9){logger['error'](_0x3c51('0x5d'),_0x1138f9);});};exports[_0x3c51('0x6e')]=function(_0x11ac1e,_0x9d257a,_0x574b06,_0xe7dab2,_0x5be811,_0x480bdf,_0x4fce20){var _0x5c5dff,_0x40a8a3,_0x2e3a4b,_0x1c9189;_0x480bdf['serverUrl']=intUtil['stripTrailingSlash'](_0x480bdf[_0x3c51('0x5a')]);_0x480bdf[_0x3c51('0x5b')]=intUtil[_0x3c51('0x59')](_0x480bdf[_0x3c51('0x5b')]);if(_0x4fce20&&_0x4fce20[_0x3c51('0x6f')]&&_0x4fce20['recordingFormat']!==_0x3c51('0x70')){logger['info'](_0x3c51('0x71'),_0x3c51('0x5e'));_0x9d257a[_0x3c51('0x5f')]=util[_0x3c51('0x43')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x480bdf['serverUrl'],_0x9d257a[_0x3c51('0x61')],md5(_0x9d257a['uniqueid']));}return getConnection(_0x480bdf)[_0x3c51('0x23')](function(_0x4a04eb){_0x1c9189=_0x4a04eb;return getUser(_0x480bdf,_0xe7dab2[_0x3c51('0x62')],_0x1c9189);})[_0x3c51('0x23')](function(_0x2511d5){_0x5c5dff=_0x2511d5;return getEndUser(_0x480bdf,_0x574b06,_0x9d257a['destcalleridname'],_0x9d257a[_0x3c51('0x72')],_0x1c9189);})['then'](function(_0x5d5292){_0x40a8a3=_0x5d5292;return getTicket(_0x480bdf,_0x5c5dff,_0x40a8a3,_0x574b06,_0x9d257a,_0x574b06[_0x3c51('0x64')],_0x1c9189,_0x3c51('0x6e'));})[_0x3c51('0x23')](function(_0x5974f1){_0x2e3a4b=_0x5974f1;logger['info'](_0x3c51('0x73'),_0x2e3a4b['id']);logger[_0x3c51('0x1c')]('[OUTBOUND]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.',_0x2e3a4b['id'],_0xe7dab2['name'],_0x480bdf[_0x3c51('0x3b')]);switch(_0x480bdf[_0x3c51('0x3b')]){case'integrationTab':emit(util[_0x3c51('0x43')](_0x3c51('0x67'),_0xe7dab2[_0x3c51('0x50')]),_0x3c51('0x74'),{'recordId':_0x2e3a4b['id']});break;case _0x3c51('0x68'):emit(util[_0x3c51('0x43')](_0x3c51('0x67'),_0xe7dab2[_0x3c51('0x50')]),_0x3c51('0x69'),{'uri':util[_0x3c51('0x43')](_0x3c51('0x6a'),_0x1c9189[_0x3c51('0x6b')],_0x2e3a4b['id'])});break;default:logger[_0x3c51('0x6c')](_0x3c51('0x71'),_0x3c51('0x75'));}})['catch'](function(_0x4ab4e2){logger[_0x3c51('0x6c')](_0x3c51('0x71'),_0x4ab4e2);});};exports[_0x3c51('0x76')]=function(_0x44f6eb,_0x3ad335,_0x53aea1,_0xe4e74c,_0x324040,_0x3e9223){var _0x208c7f,_0x21e9c4,_0x24ab35,_0x24670d;_0x3e9223[_0x3c51('0x5a')]=intUtil['stripTrailingSlash'](_0x3e9223['serverUrl']);_0x3e9223[_0x3c51('0x5b')]=intUtil['stripTrailingSlash'](_0x3e9223[_0x3c51('0x5b')]);if(_0x324040&&_0x324040[_0x3c51('0x5c')]){logger[_0x3c51('0x1c')]('['+_0x3ad335[_0x3c51('0x77')][_0x3c51('0x78')]()+']',_0x3c51('0x5e'));_0x3ad335[_0x3c51('0x5f')]=util['format']('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x3e9223['serverUrl'],_0x3ad335[_0x3c51('0x61')],md5(_0x3ad335['uniqueid']));}else{_0x3ad335['recordingURL']='';}return getConnection(_0x3e9223)[_0x3c51('0x23')](function(_0x58450e){_0x24670d=_0x58450e;if(!_['isNil'](_0xe4e74c)){return getUser(_0x3e9223,_0xe4e74c[_0x3c51('0x50')],_0x24670d);}else{return getUser(_0x3e9223,null,_0x24670d);}})[_0x3c51('0x23')](function(_0x2cdb55){_0x208c7f=_0x2cdb55;return getEndUser(_0x3e9223,_0x53aea1,_0x3ad335[_0x3c51('0x63')],_0x3ad335[_0x3c51('0x79')],_0x24670d);})[_0x3c51('0x23')](function(_0x14f965){_0x21e9c4=_0x14f965;return getTicket(_0x3e9223,_0x208c7f,_0x21e9c4,_0x53aea1,_0x3ad335,_0x53aea1['Fields'],_0x24670d);})[_0x3c51('0x23')](function(_0x4eb458){_0x24ab35=_0x4eb458;logger[_0x3c51('0x1c')]('['+_0x3ad335[_0x3c51('0x77')][_0x3c51('0x78')]()+_0x3c51('0x7a'),_0x24ab35['id']);logger['info']('['+_0x3ad335['lastevent'][_0x3c51('0x78')]()+_0x3c51('0x7b'),_0x3e9223[_0x3c51('0x3b')]);})[_0x3c51('0x6d')](function(_0x27dc48){logger[_0x3c51('0x6c')]('['+_0x3ad335['lastevent'][_0x3c51('0x78')]()+']',_0x27dc48);});};