const script_version = 'v4' var xmlhttp = new XMLHttpRequest(); const url2='https://vy4howuyt4.execute-api.us-east-1.amazonaws.com/prod/posts' // Prepare request xmlhttp.open("POST", url2, true); xmlhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); xmlhttp.setRequestHeader("Web-Pixel-Version", web_pixel_version); xmlhttp.setRequestHeader("Script-Pixel-Version", script_version); xmlhttp.setRequestHeader("Sfly-Web-Domain", document.domain); xmlhttp.setRequestHeader("Sfly-Web-Uri", document.documentURI); xmlhttp.setRequestHeader("Sfly-Web-Title", document.title); xmlhttp.withCredentials = true; xmlhttp.timeout = 30000; // 30 seconds // Copy Master Tms Udo data pixel_data = JSON.parse(JSON.stringify(MasterTmsUdo)); // Create postProspectRequest method postProspectRequest = function postProspectReq(data, target, callback) { let prefix_url = ''; if (window.location.href.includes(".dev.")){ prefix_url = 'https://www.dev.shutterfly.com/mktg/'; } else if (window.location.href.includes(".stage.")) { prefix_url = 'https://www.stage.shutterfly.com/mktg/'; } else if (window.location.href.includes(".beta.") ) { prefix_url = 'https://www.beta.shutterfly.com/mktg/'; } else if (window.location.href.includes(".kappa.") ) { prefix_url = 'https://www.kappa.shutterfly.com/mktg/'; } else /* if prod */ { prefix_url = 'https://sfly-mktg.com/'; // TODO: Shutterfly domain } let httpReq = new XMLHttpRequest(); let url3 = prefix_url + 'posts-prospect'; if (target) { data['target'] = target } if (callback) { httpReq.onreadystatechange = callback; } httpReq.open("POST", url3, true); httpReq.send(JSON.stringify(data)); } // Add SFLY_DTL object if exists try { pixel_data['SFLY_DTL'] = SFLY_DTL.page; } catch (ex_var) { console.warn('beacon-pixel: SFLY_DTL.page not exists.'); } function setCookie(cname, cvalue, exdays) { const d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); let expires = "expires="+ d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";SameSite=None; secure; path=/"; } xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { try { var cookie_name = 'pixel_browsing_uid' let ret_cookie = xmlhttp.getResponseHeader(cookie_name); if (ret_cookie) { setCookie(cookie_name, ret_cookie, 730); } else { console.warn('beacon-pixel: ' + cookie_name + ' cant be found ' + ret_cookie); } } catch (ex_var) { console.warn('beacon-pixel: Failed to set ' + cookie_name + '.'); } } }; // send request xmlhttp.send(JSON.stringify(pixel_data));