Exemples

Lecture des TC Data

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

Dernière mise à jour