Avant de charger les scripts partenaires sur votre site, vous devez vérifier que l'utilisateur a donné son consentement ou ne s'est pas opposé à l'intérêt légitime.
Avec la commande addEventListener, vous pouvez déclarer un listener à la CMP qui sera appelé avec les TC Data lorsqu'un évènement se déclenche.
A l'ajout d'un listener, la callback est immédiatement appelée avec les TC Data courantes ainsi qu'un listenerId que vous devez conserver si vous avez ensuite besoin de supprimer le listener.
window.__tcfapi("addEventListener", 2, function (tcData, success) {
if (success && tcData && (tcData.eventStatus == "cmpuiclosed" || tcData.eventStatus == "tcloaded")) {
if (!tcData.gdprApplies) {
console.log("GDPR doesn't apply to user");
} else {
if (tcData.vendor.consents[53] && tcData.purpose.consents[1]) {
console.log("Vendor ID 53 has consent for purpose ID 1");
}
if (!tcData.vendor.consents[53] || !tcData.purpose.consents[2]) {
console.log("Vendor ID 53 has no consent for purpose ID 2");
}
if (tcData.vendor.legitimateInterests[53] && tcData.purpose.legitimateInterests[9]) {
console.log("User has been informed of vendor ID 53's legitimate interest for purpose ID 9 and hasn't objected to it");
}
if (!tcData.vendor.legitimateInterests[53] || !tcData.purpose.legitimateInterests[10]) {
console.log("User has objected to vendor ID 53's legitimate interest for purpose ID 10");
}
}
}
});
Vous pouvez également spécifier une liste d'ID partenaires pour lesquels les TC Data sont requêtées.
window.__tcfapi("addEventListener", 2, function (tcData, success) {
if (success && tcData && (tcData.eventStatus == "cmpuiclosed" || tcData.eventStatus == "tcloaded")) {
if (!tcData.gdprApplies) {
console.log("GDPR doesn't apply to user");
} else {
if (tcData.vendor.consents[53] && tcData.purpose.consents[1]) {
console.log('Vendor ID 53 has consent for purpose ID 1');
}
if (tcData.vendor.consents[100] && tcData.purpose.consents[1]) {
// This will never happen since vendor ID 100
// is not included in the vendorIDs parameter
console.log('Vendor ID 53 has consent for purpose ID 1');
}
}
}
});
Lecture de la Global Vendor List
La Global Vendor List contenant les finalités et les partenaires participant au Transparency & Consent Framework peut être récupérée avec la commande getVendorList.
window.__tcfapi("getVendorList", 2, function (globalVendorList, success) {
if (success) {
console.log("vendorListVersion = " + globalVendorList.vendorListVersion);
}
});
Vous pouvez également spécifier une vendorListVersion pour laquelle la Global Vendor List est requêtée.
window.__tcfapi("getVendorList", 2, function (globalVendorList, success) {
if (success) {
console.log("globalVendorList with version 10 is retrieved");
} else {
console.log("Invalid vendorListVersion");
}
}, 10);
Révoquer un consentement Utiq
Si l'utilisateur a révoqué son consentement pour Utiq en dehors de la CMP, vous pouvez mettre le statut de choix via l'API de la CMP grâce à la commande suivante :
window.__sdcmpapi("revokeUtiq", 2, function (success) {
if (success) {
console.log("Consent for Utiq is revoked");
}
});