Enviar solicitud GDPR

```html

#form-gdpr-edit-account-request,

#form-gdpr-requests-request,

#form-gdpr-personal-information-request,

#form-gdpr-orders-request,

#form-gdpr-personal-data-report-request,

#form-gdpr-delete-account-request {

display: none;

}

#gdpr_page button {

color de fondo: transparente;

border: 0;

border-bottom: 1px solid black;

relleno: 0px;

}

/* Fondo del modal */

#data-verification-background {

display: none;

position: fixed;

índice-z: 1;

padding-top: calc(50vh - 83px);

left: 0;

top: 0;

ancho: 100%;

altura: 100%;

desbordamiento: automático;

color de fondo: rgb(0,0,0);

color de fondo: rgba(0,0,0,0.4);

opacidad: sin establecer;

índice z: 9999;

}

/* Contenido del modal */

#data-verification-modal {

color de fondo: #fefefe;

margen: auto;

relleno: 16px;

borde: 1px sólido #888;

ancho: 38%;

opacity: 1;

}

/* Botón de cierre del modal */

.data-verification-close {

color: #aaaaaa;

flotar: derecha;

tamaño de fuente: 28px;

peso de fuente: negrita;

altura de línea: 17px;

color de fondo: transparente;

borde: 0px;

relleno: 0px;

}

.data-verification-close:hover {

color: #000;

decoración de texto: ninguno;

cursor: puntero;

}

/* Texto de la casilla de verificación */

#data-verification-container p {

mostrar: inline-block;

relleno: 0;

margen: 0;

altura de línea: 24px;

relleno izquierdo: 10px;

alineación vertical: arriba;

ancho: calc(100% - 45px);

}

#data-verification-container a, #data-verification-container a:hover{

decoración de texto: subrayado!important;

color: #4285f4;

}

#data-verification-container input {

opacidad: 0;

ancho: 0;

altura: 0;

margen: 0;

relleno: 0;

}

/* Icono de casilla de verificación */

#data-verification-icon {

cursor: puntero;

posición: relativa;

margen: auto;

ancho: 18px;

altura: 18px;

-webkit-tap-highlight-color: transparente;

transform: translate3d(0, 0, 0);

margen-superior: 2px;

}

#data-verification-icon:before {

contenido: "";

posición: absoluta;

arriba: -7px;

izquierda: -7px;

ancho: 32px;

altura: 32px;

radio-del-borde: 50%;

fondo: rgba(34,50,84,0.03);

opacidad: 0;

transición: opacidad 0.2s facilidad;

}

#data-verification-icon svg {

posición: relativa;

índice-z: 1;

relleno: ninguno;

stroke-linecap: round;

stroke-linejoin: round;

stroke: #c8ccd4;

stroke-width: 1.5;

transform: translate3d(0, 0, 0);

transition: all 0.2s ease;

}

#data-verification-icon svg path {

stroke-dasharray: 60;

stroke-dashoffset: 0;

}

#data-verification-icon svg polyline {

stroke-dasharray: 22;

stroke-dashoffset: 66;

}

#data-verification-icon:hover:before {

opacity: 1;

}

#data-verification-container:hover #data-verification-icon svg {

stroke: #4285f4;

}

#data-verification-icon.clicked svg {

stroke: #4285f4;

}

#data-verification-icon.clicked svg path {

stroke-dashoffset: 60;

transition: all 0.3s linear;

}

#data-verification-icon.clicked svg polyline {

stroke-dashoffset: 42;

transition: all 0.2s linear;

transition-delay: 0.15s;

}

/* Diseño de accesibilidad */

#data-verification-icon:focus, .data-verification-close:focus, #data-verification-container input:focus ~ #data-verification-icon svg, #data-verification-container a:focus {

box-shadow: 0 0 0 3px rgba(21, 156, 228, 0.4);

transition: all 0.3s ease;

outline: none;

transform: scale(1.06);

}

/* Elemento de carga */

.loading {

display: none;

top:50vh;

left:50vw;

position:fixed;

}

.loading:not(:required):after {

content: '';

display: block;

font-size: 10px;

width: 1em;

altura: 1em;

margen-superior: -0.5em;

-webkit-animación: spinner 1500ms infinito lineal;

-moz-animación: spinner 1500ms infinito lineal;

-ms-animación: spinner 1500ms infinito lineal;

-o-animación: spinner 1500ms infinito lineal;

animación: spinner 1500ms infinito lineal;

radio-del-borde: 0.5em;

-webkit-sombra-de-caja: rgba(255,255,255, 1) 1.5em 0 0 0, rgba(255,255,255, 1) 1.1em 1.1em 0 0, rgba(255,255,255, 1) 0 1.5em 0 0, rgba(255,255,255, 1) -1.1em 1.1em 0 0, rgba(255,255,255, 1) -1.5em 0 0 0, rgba(255,255,255, 1) -1.1em -1.1em 0 0, rgba(255,255,255, 1) 0 -1.5em 0 0, rgba(255,255,255, 1) 1.1em -1.1em 0 0;

sombra-de-caja: rgba(255,255,255, 1) 1.5em 0 0 0, rgba(255,255,255, 1) 1.1em 1.1em 0 0, rgba(255,255,255, 1) 0 1.5em 0 0, rgba(255,255,255, 1) -1.1em 1.1em 0 0, rgba(255,255,255, 1) -1.5em 0 0 0, rgba(255,255,255, 1) -1.1em -1.1em 0 0, rgba(255,255,255, 1) 0 -1.5em 0 0, rgba(255,255,255, 1) 1.1em -1.1em 0 0;

}

#gdpr_page .list-unstyled li button {

cursor: puntero;

}

.show-isense {

transición: opacidad 400ms !important;

}

.hide-isense {

opacidad: 0 !important;

transición: 0.4s ease-out;

}

/* Cambios del modal en resolución móvil */

@media solo pantalla y (ancho-máximo: 600px) {

#data-verification-modal {

ancho: 90%;

}

}

/* Animación */

@-webkit-keyframes spinner {

0% {

-webkit-transform: rotate(0deg);

-moz-transform: rotate(0deg);

-ms-transform: rotate(0deg);

-o-transform: rotate(0deg);

transform: rotate(0deg);

}

100% {

-webkit-transform: rotate(360deg);

-moz-transform: rotate(360deg);

-ms-transform: rotate(360deg);

-o-transform: rotate(360deg);

transform: rotate(360deg);

}

}

@-moz-keyframes spinner {

0% {

-webkit-transform: rotate(0deg);

-moz-transform: rotate(0deg);

-ms-transform: rotate(0deg);

-o-transform: rotate(0deg);

transform: rotate(0deg);

}

100% {

-webkit-transform: rotate(360deg);

-moz-transform: rotate(360deg);

-ms-transform: rotate(360deg);

-o-transform: rotate(360deg);

transform: rotate(360deg);

}

}

@-o-keyframes spinner {

0% {

-webkit-transform: rotate(0deg);

-moz-transform: rotate(0deg);

-ms-transform: rotate(0deg);

-o-transform: rotate(0deg);

transform: rotate(0deg);

}

100% {

-webkit-transform: rotate(360deg);

-moz-transform: rotate(360deg);

-ms-transform: rotate(360deg);

-o-transform: rotate(360deg);

transform: rotate(360deg);

}

}

@keyframes spinner {

0% {

-webkit-transform: rotate(0deg);

-moz-transform: rotate(0deg);

-ms-transform: rotate(0deg);

-o-transform: rotate(0deg);

transform: rotate(0deg);

}

100% {

-webkit-transform: rotate(360deg);

-moz-transform: rotate(360deg);

-ms-transform: rotate(360deg);

-o-transform: rotate(360deg);

transform: rotate(360deg);

}

}

Cuando envías una Solicitud de Acceso de Sujeto de Datos (DSAR) a través de nuestra página de Cumplimiento, nuestro proveedor de cumplimiento, Consentmo, procesa tu dirección IP y correo electrónico únicamente para cumplir con tu solicitud. Esto asegura un manejo seguro y verificado de tu información personal. Para más detalles sobre cómo se gestionan tus datos, puedes revisar la Política de Procesamiento de Datos de Consentmo haciendo clic en este enlace: Política de Procesamiento de Datos de Consentmo.


Rectificación de Datos

Si los datos de tu cuenta son inexactos o requieren actualizaciones, puedes corregirlos eficientemente usando el enlace proporcionado a continuación. Esta función garantiza que tu información personal, crucial para una experiencia fluida con nuestra gama de productos como bolsos y carteras para mujeres, se mantenga actualizada y precisa.

Portabilidad de Datos

Le damos la posibilidad de descargar todos los datos que almacenamos, los cuales se utilizan para mejorar su experiencia de compra, especialmente al navegar por nuestra exquisita colección de bolsos y carteras para mujeres. Esto asegura que mantenga el control total y accesibilidad sobre sus datos personales.

Acceso a Datos Personales

Puede solicitar un informe completo que detalle toda la información personal que conservamos sobre usted. Nos comprometemos a responder a su solicitud dentro de 30 días, proporcionándole transparencia y acceso a sus datos. Este proceso se facilita a través de la función gdprsendrequest resp, asegurando la entrega segura de su información.

Derecho al Olvido

Esta opción le permite eliminar permanentemente sus datos personales y otros datos asociados de nuestra tienda. Tenga en cuenta que iniciar este proceso conducirá a la eliminación de su cuenta, dejándola inaccesible para uso futuro. La animación de carga, que se asemeja a un spinner 1500ms infinito, girando a 360deg, indicará el procesamiento de su solicitud.

Derecho a Restringir el Procesamiento

Bajo circunstancias específicas, tiene derecho a solicitar que limitemos o cesemos temporalmente el procesamiento de sus datos personales. Para asistencia en el ejercicio de este derecho, por favor contáctenos directamente en stiledonnabags@gmail.com.

Derecho a Oponerse

Tiene derecho a oponerse a ciertos tipos de actividades de procesamiento de datos, incluyendo marketing directo y procesamiento basado en intereses legítimos. Para presentar su objeción y asegurar que sus preferencias sean respetadas, por favor contáctenos en stiledonnabags@gmail.com.

Información de Contacto

Para cualquier consulta relacionada con sus datos personales o derechos de privacidad, por favor contacte a nuestro Oficial de Protección de Datos (DPO) dedicado en los siguientes detalles:

Correo electrónico: stiledonnabags@gmail.com

Dirección: Via Testulla 149, 95122 Catania Catania, Italia

Derecho a Presentar una Queja

Si considera que sus preocupaciones no han sido adecuadamente atendidas, conserva el derecho de presentar una queja ante la autoridad nacional de protección de datos.

/* DESLIZAR HACIA ARRIBA */

let slideUp = (target, duration=500) => {

target.style.transitionProperty = 'height, margin, padding';

target.style.transitionDuration = duration + 'ms';

target.style.boxSizing = 'border-box';

target.style.height = target.offsetHeight + 'px';

target.offsetHeight;

target.style.overflow = 'hidden';

target.style.height = 0;

target.style.paddingTop = 0;

target.style.paddingBottom = 0;

target.style.marginTop = 0;

target.style.marginBottom = 0;

window.setTimeout( () => {

target.style.display = 'none';

target.style.removeProperty('height');

target.style.removeProperty('padding-top');

target.style.removeProperty('padding-bottom');

target.style.removeProperty('margin-top');

target.style.removeProperty('margin-bottom');

target.style.removeProperty('overflow');

target.style.removeProperty('transition-duration');

target.style.removeProperty('transition-property');

}, duration);

}

/* DESLIZAR HACIA ABAJO */

let slideDown = (target, duration=500) => {

setTimeout(function(){

target.style.removeProperty('display');

let display = window.getComputedStyle(target).display;

if (display === 'none') display = 'block';

target.style.display = display;

let height = target.offsetHeight;

target.style.overflow = 'hidden';

target.style.height = 0;

target.style.paddingTop = 0;

target.style.paddingBottom = 0;

target.style.marginTop = 0;

target.style.marginBottom = 0;

target.offsetHeight;

target.style.boxSizing = 'border-box';

target.style.transitionProperty = "height, margin, padding";

target.style.transitionDuration = duration + 'ms';

target.style.height = height + 'px';

target.style.removeProperty('padding-top');

target.style.removeProperty('padding-bottom');

target.style.removeProperty('margin-top');

target.style.removeProperty('margin-bottom');

window.setTimeout( () => {

target.style.removeProperty('height');

target.style.removeProperty('overflow');

target.style.removeProperty('transition-duration');

target.style.removeProperty('transition-property');

}, duration);

}, 100)

}

/* TOOGLE */

var slideToggle = (target, duration = 500) => {

if (window.getComputedStyle(target).display === 'none') {

return slideDown(target, duration);

} else {

return slideUp(target, duration);

}

}

/* DESVANECER */

var toggleFadeiSense = (elem, show) => {

if (show) {

elem.style.display = "block";

setTimeout(function(){

elem.classList.add('show-isense');

elem.classList.remove('hide-isense');

},20)

} else {

elem.classList.remove('show-isense');

elem.classList.add('hide-isense');

setTimeout(() => {

elem.style.display = 'none';

}, 400)

}

}

var gdprSlideUpAll = function() {

slideUp(document.querySelector('#form-gdpr-edit-account-request'), 100);

document.querySelector('#btn-gdpr-edit-account-request').setAttribute("aria-expanded", "false");

slideUp(document.querySelector('#form-gdpr-requests-request'), 100);

document.querySelector('#btn-gdpr-requests-request').setAttribute("aria-expanded", "false");

slideUp(document.querySelector('#form-gdpr-personal-information-request'), 100);

document.querySelector('#btn-gdpr-personal-information-request').setAttribute("aria-expanded", "false");

slideUp(document.querySelector('#form-gdpr-orders-request'), 100);

document.querySelector('#btn-gdpr-orders-request').setAttribute("aria-expanded", "false");

slideUp(document.querySelector('#form-gdpr-personal-data-report-request'), 100);

document.querySelector('#btn-gdpr-personal-data-report-request').setAttribute("aria-expanded", "false");

slideUp(document.querySelector('#form-gdpr-delete-account-request'), 100);

document.querySelector('#btn-gdpr-delete-account-request').setAttribute("aria-expanded", "false");

document.querySelector('#gdpr_page button').setAttribute("aria-expanded", "false");

};

var email, type, consentGiven = false;

var verificationModalContent = '

Doy mi consentimiento para la recopilación de mi correo electrónico y dirección IP con el fin de procesar esta solicitud. Para más información, consulte la Política de Privacidad &amp Términos de Servicio.

';

var isEmailValid = function(email) {

let regex = /^(([^()\[\]\\.,;:\s@"]+(\.[^()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

if (email == '' || email == undefined) {

return false;

} else {

return regex.test(email);

}

}

var gdprSendRequest = 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();

formData.append('shop', Shopify.shop);

formData.append('email', email);

formData.append('type', type);

formData.append('sourceOfRequest', 1);

formData.append('ipAddress', ipInfo);

formData.append('consentGiven', consentGiven);

formData.append('page', 'gdpr');

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) {

gdprSlideUpAll();

if (resp.message.length) {

alert(resp.message);

} else {

alert('Su solicitud ha sido enviada con éxito. Por favor, revise su correo electrónico para más información.');

}

} else {

alert(resp.message);

}

if (typeof callback == 'function') {

callback(resp);

}

})

.catch(error => {

alert(error.message);

})

}

else {

alert(resp.message);

}

})

}

//Agregar modal al body, porque de lo contrario no se mantendrá centrado (incluso si la posición es fija)

document.querySelector("body").insertAdjacentHTML( 'beforeend', verificationModalContent);

document.addEventListener("DOMContentLoaded", function() {

// Cuando el usuario hace clic en (x), cerrar el modal

document.querySelector('.data-verification-close').addEventListener('click', function(e) {

e.preventDefault();

closeVerificationModal();

});

document.querySelector('#data-verification-icon, #data-verification-container p').addEventListener('click', function(e) {

e.preventDefault();

// Detectar un clic en href, porque está sobrescrito.

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;

gdprSendRequest(function(resp) {

consentGiven = false;

closeVerificationModal();

});

}, 400);

});

});

function openVerificationModal(){

if(!isEmailValid(email)) {

alert('Correo electrónico inválido');

return;

}

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';

// Enfocar el botón del tipo de solicitud que fue seleccionado

let gdprForms = document.querySelectorAll('.form-gdpr-request');

gdprForms.forEach(function(gdprForm) {

if (gdprForm.style.display !== "none") {

let gdprFormLinks = gdprForm.previousElementSibling.querySelectorAll('li');

if (gdprFormLinks.length === 1) {

gdprFormLinks[0].querySelector('button').focus();

} else {

// Lógica de enfoque para solicitudes de Portabilidad de Datos

gdprFormLinks = gdprForm.parentElement;

if (gdprFormLinks.nodeName === 'LI') {

gdprFormLinks.querySelector('button').focus();

}

}

}

});

}

document.querySelector('#btn-gdpr-edit-account-request').addEventListener('click', function(e) {

e.preventDefault();

let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false;

gdprSlideUpAll();

if(!isExpanded) {

slideDown(document.querySelector('#form-gdpr-edit-account-request'), 200);

this.setAttribute("aria-expanded", "true");

} else {

slideUp(document.querySelector('#form-gdpr-edit-account-request'), 200);

this.setAttribute("aria-expanded", "false");

}

});

document.querySelector('#form-gdpr-edit-account-request-submit').addEventListener('click', function(e) {

e.preventDefault();

email = document.querySelector('#form-gdpr-edit-account-request-email').value;

type = 'customer/edit';

gdprSendRequest(function(resp) {

consentGiven = true;

});

});

document.querySelector('#btn-gdpr-requests-request').addEventListener('click', function(e) {

e.preventDefault();

let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false;

gdprSlideUpAll();

if(!isExpanded) {

slideDown(document.querySelector('#form-gdpr-requests-request'), 200);

this.setAttribute("aria-expanded", "true");

} else {

slideUp(document.querySelector('#form-gdpr-requests-request'), 200);

this.setAttribute("aria-expanded", "false");

}

});

document.querySelector('#form-gdpr-requests-request-submit').addEventListener('click', function(e) {

e.preventDefault();

email = document.querySelector('#form-gdpr-requests-request-email').value;

type = 'customer/requests';

gdprSendRequest(function(resp) {

consentGiven = true;

});

});

document.querySelector('#btn-gdpr-personal-information-request').addEventListener('click', function(e) {

e.preventDefault();

let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false;

gdprSlideUpAll();

if(!isExpanded) {

slideDown(document.querySelector('#form-gdpr-personal-information-request'), 200);

this.setAttribute("aria-expanded", "true");

} else {

slideUp(document.querySelector('#form-gdpr-personal-information-request'), 200);

this.setAttribute("aria-expanded", "false");

}

});

document.querySelector('#form-gdpr-personal-information-request-submit').addEventListener('click', function(e) {

e.preventDefault();

email = document.querySelector('#form-gdpr-personal-information-request-email').value;

type = 'customer/personal_info';

gdprSendRequest(function(resp) {

consentGiven = true;

});

});

document.querySelector('#btn-gdpr-orders-request').addEventListener('click', function(e) {

e.preventDefault();

let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false;

gdprSlideUpAll();

if(!isExpanded) {

slideDown(document.querySelector('#form-gdpr-orders-request'), 200);

this.setAttribute("aria-expanded", "true");

} else {

slideUp(document.querySelector('#form-gdpr-orders-request'), 200);

this.setAttribute("aria-expanded", "false");

}

});

document.querySelector('#form-gdpr-orders-request-submit').addEventListener('click', function(e) {

e.preventDefault();

email = document.querySelector('#form-gdpr-orders-request-email').value;

type = 'customer/orders';

gdprSendRequest(function(resp) {

consentGiven = true;

});

});

document.querySelector('#btn-gdpr-personal-data-report-request').addEventListener('click', function(e) {

e.preventDefault();

let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false;

gdprSlideUpAll();

if(!isExpanded) {

slideDown(document.querySelector('#form-gdpr-personal-data-report-request'), 200);

this.setAttribute("aria-expanded", "true");

} else {

slideUp(document.querySelector('#form-gdpr-personal-data-report-request'), 200);

this.setAttribute("aria-expanded", "false");

}

});

document.querySelector('#form-gdpr-personal-data-report-request-submit').addEventListener('click', function(e) {

e.preventDefault();

email = document.querySelector('#form-gdpr-personal-data-report-request-email').value;

type = 'customer/report';

gdprSendRequest(function(resp) {

consentGiven = true;

});

});

document.querySelector('#btn-gdpr-delete-account-request').addEventListener('click', function(e) {

e.preventDefault();

let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false;

gdprSlideUpAll();

if(!isExpanded) {

slideDown(document.querySelector('#form-gdpr-delete-account-request'), 200);

this.setAttribute("aria-expanded", "true");

} else {

slideUp(document.querySelector('#form-gdpr-delete-account-request'), 200);

this.setAttribute("aria-expanded", "false");

}

});

document.querySelector('#form-gdpr-delete-account-request-submit').addEventListener('click', function(e) {

e.preventDefault();

email = document.querySelector('#form-gdpr-delete-account-request-email').value;

type = 'customer/delete';

gdprSendRequest(function(resp) {

consentGiven = true;

});

});

// Navegación por teclado en el modal de verificación de datos para accesibilidad

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');

// Esta función nos ahorra la molestia de llamar a e.preventDefault() después de cada enfoque

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);

}

}

}

});

```