APPI-yhteensopivuus
Tietojen oikaisu
Voit päivittää tilitietosi alla olevan linkin avulla, jos ne eivät pidä paikkaansa.
Tietojen siirrettävyys
Voit käyttää alla olevia linkkejä ladataksesi kaikki tallentamamme tiedot ja joita käytämme paremman käyttökokemuksen saavuttamiseksi myymälässämme.
Pääsy henkilötietoihin
Voit käyttää alla olevaa linkkiä pyytääksesi raportin, joka sisältää kaikki sinulle tallentamamme henkilötiedot.
Älä myy henkilötietojani kolmannelle osapuolelle
Voit lähettää meille pyynnön ilmoittaaksesi, että et hyväksy henkilötietojesi keräämistä tai myymistä kolmannelle osapuolelle.
Oikeus tulla unohdetuksi
Käytä tätä vaihtoehtoa, jos haluat poistaa henkilökohtaiset ja muut tietosi myymälästämme. Muista, että tämä prosessi poistaa tilisi, joten et voi enää käyttää sitä.
I give my consent on collecting my email and IP address for the purpose of processing this request. For more check Privacy Policy & Terms of Service.
'; var appiSendRequest = function(callback) { fetch('https://www.cloudflare.com/cdn-cgi/trace', { method: 'GET' , headers: { 'Content-Type': 'text/plain', }, }) .then(resp => resp.text()) .then(resp => { if (!resp.error) { let ipInfo = resp; let formData = new FormData(); if (type === 'customer/do-not-sell') { isenseGDPR.Cookies.set('cookieconsent_preferences_disabled', 'analytics,marketing,functionality,', { expires: 365 }); isenseGDPR.Cookies.set('cookieconsent_status', 'accept_selected', { expires: 365 }); window.Shopify.trackingConsent.setTrackingConsent(false,function() { console.log('setTrackingConsent false')}); if (document.querySelector('.cc-window')) { document.querySelector('.cc-window').style.display = 'none'; } // reset popup text document.querySelector('#appi-modal-container-text').innerHTML = 'I give my consent on collecting my email and IP address for the purpose of processing this request. For more check Privacy Policy & Terms of Service.'; } formData.append('shop', Shopify.shop); formData.append('email', email); formData.append('type', type); formData.append('sourceOfRequest', 3); formData.append('ipAddress', ipInfo); formData.append('consentGiven', consentGiven); formData.append('page', 'appi'); formData.append('lang', Shopify.locale ? Shopify.locale : ''); formData.append('gtranslateLang', isenseGDPR.Cookies.get('googtrans') ? isenseGDPR.Cookies.get('googtrans') : ''); fetch('https://gdpr.apps.isenselabs.com/gdprRequests/submitRequest', { method: 'POST', body: formData }) .then(resp => resp.json()) .then(resp => { if (!resp.error) { appiSlideUpAll(); if (resp.message.length) { alert(resp.message); } else { alert('Your request has been submitted successfully. Please check your email for more information.'); } } else { alert(resp.message); } if (typeof callback == 'function') { callback(resp); } }) .catch(error => { alert(error.message); }) } else { alert(resp.message); } }) } //Append modal to body, because otherwise it will not stay centered(even if position is fixed) document.querySelector("body").insertAdjacentHTML( 'beforeend', verificationModalContent); document.addEventListener("DOMContentLoaded", function() { let searchParams = new URLSearchParams(window.location.search); let param = searchParams.get('id'); if(param) { document.getElementById(param).scrollIntoView(); } // When the user clicks on (x), close the modal document.querySelector('.data-verification-close').addEventListener('click', function(e) { e.preventDefault(); closeVerificationModal(); // Focus the button of the request type that was picked let appiForms = document.querySelectorAll('.form-appi-request'); appiForms.forEach(function(appiForm) { if (appiForm.style.display !== "none") { let appiFormLinks = appiForm.previousElementSibling.querySelectorAll('li'); if (appiFormLinks.length === 1) { appiFormLinks[0].querySelector('button').focus(); } else if (appiFormLinks.length > 1) { appiFormPickedLinkValue = document.querySelector('#form-appi-data-account-request-request-type').value; switch (appiFormPickedLinkValue) { case 'customer/requests': appiFormLinks[0].querySelector('button').focus(); break; case 'customer/personal_info': appiFormLinks[1].querySelector('button').focus(); break; case 'customer/orders': appiFormLinks[2].querySelector('button').focus(); break; default: break; } } } }); }); document.querySelector('#data-verification-icon, #data-verification-container p').addEventListener('click', function(e) { e.preventDefault(); // Detect a href's click, because it is overwritten. if(e.target.tagName === "A") { window.open(e.target.href, '_blank'); return; } document.querySelector('#data-verification-icon').classList.add("clicked"); setTimeout(()=>{ toggleFadeiSense(document.querySelector("#data-verification-modal"), false); document.querySelector('#data-verification-background .loading').style.display = 'inline-block'; consentGiven = true; appiSendRequest(function(resp) { consentGiven = false; closeVerificationModal(); }); }, 400); }); }); function openVerificationModal(){ toggleFadeiSense(document.querySelector("#data-verification-modal"), true); toggleFadeiSense(document.querySelector('#data-verification-background'), true); document.querySelector('#data-verification-container input').focus(); } function closeVerificationModal(){ toggleFadeiSense(document.querySelector("#data-verification-background"), false); document.querySelector('#data-verification-icon').classList.remove("clicked"); document.querySelector('#data-verification-background .loading').style.display = 'none'; } document.querySelector('#btn-appi-edit-account-request').addEventListener('click', function(e) { e.preventDefault(); appiSlideUpAll(); slideDown(document.querySelector('#form-appi-edit-account-request'), 200); this.setAttribute("aria-expanded", "true"); }); document.querySelector('#form-appi-edit-account-request-submit').addEventListener('click', function(e) { e.preventDefault(); email = document.querySelector('#form-appi-edit-account-request-email').value; type = 'customer/edit'; openVerificationModal(); }); document.querySelectorAll('#btn-appi-requests-request, #btn-appi-personal-information-request, #btn-appi-orders-request').forEach(element => { element.addEventListener('click', function(e) { e.preventDefault(); appiSlideUpAll(); type = ''; // Reset the popup message document.querySelector('#appi-modal-container-text').innerHTML = 'I give my consent on collecting my email and IP address for the purpose of processing this request. For more check Privacy Policy & Terms of Service.'; switch(this.getAttribute('id')) { case 'btn-appi-requests-request': type = 'customer/requests'; break; case 'btn-appi-personal-information-request': type = 'customer/personal_info'; break; case 'btn-appi-orders-request': type = 'customer/orders'; break; } document.querySelector('#form-appi-data-account-request-request-type').value = type; slideDown(document.querySelector('#form-appi-data-account-request'), 200); this.setAttribute("aria-expanded", "true"); }) }); document.querySelector('#form-appi-data-account-request-submit').addEventListener('click', function(e) { e.preventDefault(); email = document.querySelector('#form-appi-data-account-request-email').value; type = document.querySelector('#form-appi-data-account-request-request-type').value; openVerificationModal(); }); document.querySelector('#btn-appi-personal-data-report-request').addEventListener('click', function(e) { e.preventDefault(); appiSlideUpAll(); slideDown(document.querySelector('#form-appi-personal-data-report-request'), 200); this.setAttribute("aria-expanded", "true"); }); document.querySelector('#form-appi-personal-data-report-request-submit').addEventListener('click', function(e) { e.preventDefault(); email = document.querySelector('#form-appi-personal-data-report-request-email').value; type = 'customer/report'; openVerificationModal(); }); document.querySelector('#btn-appi-do-not-sell-request').addEventListener('click', function(e) { e.preventDefault(); appiSlideUpAll(); slideDown(document.querySelector('#form-appi-do-not-sell-request'), 200); this.setAttribute("aria-expanded", "true"); }); document.querySelector('#form-appi-do-not-sell-request-submit').addEventListener('click', function(e) { e.preventDefault(); email = document.querySelector('#form-appi-do-not-sell-request-email').value; type = 'customer/do-not-sell'; // Check if customer is logged in if (__st.cid != undefined) { document.querySelector('#appi-modal-container-text').innerHTML = 'I give my consent on collecting my email and IP address for the purpose of processing this request. For more check Privacy Policy & Terms of Service.'; } else { document.querySelector('#appi-modal-container-text').innerHTML = 'I give my consent on collecting my email and IP address for the purpose of processing this request. For more check Privacy Policy & Terms of Service. Note: If you are a guest user or you are not logged into your account, your opt-out choice will only be effective for this browser session.'; } openVerificationModal(); }); document.querySelector('#btn-appi-delete-account-request').addEventListener('click', function(e) { e.preventDefault(); appiSlideUpAll(); slideDown(document.querySelector('#form-appi-delete-account-request'), 200); this.setAttribute("aria-expanded", "true"); }); document.querySelector('#form-appi-delete-account-request-submit').addEventListener('click', function(e) { e.preventDefault(); email = document.querySelector('#form-appi-delete-account-request-email').value; type = 'customer/delete'; openVerificationModal(); }); // Keyboard navigation for the compliance page's requests document.querySelector('#appi_page').addEventListener('keydown', function(e) { let isTabPressed = e.keyCode === 9 || e.key === "Tab" || e.code === "Tab"; // This function saves us the trouble of calling e.preventDefault() after every focusing let executeFocus = (focusElement) => {focusElement.focus();e.preventDefault();} if (isTabPressed) { let appiFormPickedLinkValue = document.querySelector('#form-appi-data-account-request-request-type').value; let appiRequestsButton = document.querySelector('#btn-appi-requests-request'); let personalInformationButton = document.querySelector('#btn-appi-personal-information-request'); let ordersButton = document.querySelector('#btn-appi-orders-request'); let personalDataReportButton = document.querySelector('#btn-appi-personal-data-report-request'); let dataAccountFormEmailField = document.querySelector('#form-appi-data-account-request-email'); let dataAccountFormSubmitButton = document.querySelector('#form-appi-data-account-request-submit'); if (e.shiftKey) { if ((document.activeElement === personalInformationButton && appiFormPickedLinkValue === 'customer/requests') || (document.activeElement === ordersButton && appiFormPickedLinkValue === 'customer/personal_info')) { executeFocus(dataAccountFormSubmitButton); } else if (document.activeElement === dataAccountFormEmailField) { if (appiFormPickedLinkValue === 'customer/requests') { executeFocus(appiRequestsButton); } else if (appiFormPickedLinkValue === 'customer/personal_info') { executeFocus(personalInformationButton); } } else if (document.activeElement === personalDataReportButton) { if (appiFormPickedLinkValue !== 'customer/orders') { executeFocus(ordersButton); } } } else { if ((document.activeElement === appiRequestsButton && appiFormPickedLinkValue === 'customer/requests') || (document.activeElement === personalInformationButton && appiFormPickedLinkValue === 'customer/personal_info')) { executeFocus(dataAccountFormEmailField); } else if (document.activeElement === dataAccountFormSubmitButton) { if (appiFormPickedLinkValue === 'customer/requests') { executeFocus(personalInformationButton); } else if (appiFormPickedLinkValue === 'customer/personal_info') { executeFocus(ordersButton); } } else if (document.activeElement === ordersButton) { if (appiFormPickedLinkValue !== 'customer/orders') { executeFocus(personalDataReportButton); } } } } }); // Keyboard navigation in data verification modal for accesibility document.querySelector('#data-verification-modal').addEventListener('keydown', function(e) { let isTabPressed = e.keyCode === 9 || e.key === "Tab" || e.code === "Tab"; let isEscapePressed = e.keyCode === 27 || e.key === "Escape" || e.code === "Escape"; let isSpacePressed = event.keyCode === 32 || e.key === " " || event.code === "Space"; let isEnterPressed = event.keyCode === 13 || e.key === "Enter" || event.code === "Enter"; let dataVerificationCloseButton = document.querySelector('.data-verification-close'); let dataVerificationCheckbox = document.querySelector('#data-verification-container input'); let dataVerificationLink = document.querySelector('#data-verification-container a'); // This function saves us the trouble of calling e.preventDefault() after every focusing let executeFocus = (focusElement) => {focusElement.focus();e.preventDefault();} if (isEscapePressed) { if (dataVerificationCloseButton) { dataVerificationCloseButton.click(); } } if (isSpacePressed || isEnterPressed) { if (document.activeElement === dataVerificationCheckbox) { document.querySelector('#data-verification-container #data-verification-icon').click(); } } if (isTabPressed) { if (e.shiftKey) { if (dataVerificationCloseButton && document.activeElement === dataVerificationCloseButton) { executeFocus(dataVerificationLink); } } else { if (dataVerificationLink && document.activeElement === dataVerificationLink) { executeFocus(dataVerificationCloseButton); } } } });