Fonctionnement

Dans cette section, vous trouverez les commandes JavaScript vous permettant d'interagir avec la CMP sur votre site.

Sirdata CMP fournit une liste de commandes standards décrites dans l'IAB Tech Lab CMP JavaScript API.

Toutes les commandes sont exécutées à travers la fonction API __tcfapi.

window.__tcfapi(command, version, callback, parameter);

Le paramètre version correspond à la version de la spécification TCF (= 2).

COMMANDE

CALLBACK

PARAMETRE

DESCRIPTION

ping

function(PingReturn, success)

-

Renvoie des informations sur le statut de chargement de la CMP et le mode d'application du RGPD configuré.

getTCData

function(TCData, success)

vendorIds (int array) - optionnel Liste des IDs des partenaires de la Global Vendor List pour lesquels le consentement est demandé. Si elle est renseignée, TCData incluera uniquement les partenaires de cette liste. Sinon, tous les partenaires de la Global Vendor List seront renvoyés.

Renvoie les TC Data de l'utilisateur.

getVendorList

function(GlobalVendorList, success)

vendorListVersion (int) - optionnel Version de la Global Vendor List à récupérer. Si elle n'est pas renseignée, la version utilisée par Sirdata CMP sera renvoyée. Si la valeur est LATEST, la dernière version disponible sera renvoyée. Si la valeur est invalide, GlobalVendorList sera nul et success sera false.

Renvoie la Global Vendor List contenant les finalités et les partenaires participant au Transparency & Consent Framework.

addEventListener

function(TCData, success)

-

Ajoute une fonction JavaScript à appeler avec les TC Data lorsqu'un évènement CMP se produit. Voir la liste des évènements

removeEventListener

function(success)

listenerId (int) ID du listener à supprimer.

Supprime un listener précédemment ajouté avec la commande addEventListener.

PingReturn

{
    gdprApplies: *Boolean*,
    cmpLoaded: *Boolean*,
    cmpStatus: *String*,
    displayStatus: *String*,
    apiVersion: '2.0',
    cmpVersion: *Integer*,
    cmpId: *Integer*,
    gvlVersion: *Integer*,
    tcfPolicyVersion: *Integer*
}

TCData

{
    tcString: [base64url-encoded] *String*,
    addtlConsent: *String*,
    tcfPolicyVersion: *Integer*,
    cmpId: *Integer*,
    cmpVersion: *Integer*,
    gdprApplies: *Boolean*,
    eventStatus: *String*,
    cmpStatus: *String*,
    isServiceSpecific: *Boolean*,
    useNonStandardStacks: *Boolean*,
    publisherCC: *String*,
    purposeOneTreatment: *Boolean*,
    outOfBand: {
        allowedVendors: {
            *vendorId*: *Boolean*,
            ?
        },
        disclosedVendors: {
            *vendorId*: *Boolean*,
            ?
        }
    },
    purpose: {
        consents: {
            *purposeId*: *Boolean*,
            ?
        },
        legitimateInterests: {
            *purposeId*: *Boolean*,
            ?
        }
    },
    vendor: {
        consents: {
            *vendorId* : *Boolean*,
            ?
        },
        legitimateInterests: {
            *vendorId* : *Boolean*,
            ?
        }
    },
    specialFeatureOptins: {
        *specialFeatureId*: *Boolean*,
        ?
    },
    publisher: {
        consents: {
            *purposeId*: *Boolean*,
            ?
        },
        legitimateInterests: {
            *purposeId*: *Boolean*,
            ?
        },
        customPurpose: {
            consents: {
                *customPurposeId*: *Boolean*,
                ?
            },
            legitimateInterests: {
                *customPurposeId*: *Boolean*,
                ?
            }
        },
        restrictions: {
            *purposeId*: {
                *vendorId* : *Integer*,
                ?
            },
            ?
        }
    }
}

GlobalVendorList

{
    gvlSpecificationVersion: *Integer*,
    vendorListVersion: *Integer*,
    tcfPolicyVersion: *Integer*,
    lastUpdated: *String*,
    purposes: {
        *purposeId*: {
            id: *Integer*,
            name: *String*,
            description: *String*,
            descriptionLegal: *String*,
        },
        ?
    },
    specialPurposes: {
        *specialPurposeId*: {
            id: *Integer*,
            name: *String*,
            description: *String*,
            descriptionLegal: *String*,
        },
        ?
    },
    features: {
        *featureId*: {
            id: *Integer*,
            name: *String*,
            description: *String*,
            descriptionLegal: *String*,
        },
        ?
    },
    specialFeatures: {
        *specialFeatureId*: {
            id: *Integer*,
            name: *String*,
            description: *String*,
            descriptionLegal: *String*,
        },
        ?
    },
    stacks: {
        *stackId*: {
            id: *Integer*,
            name: *String*,
            description: *String*,
            purposes: [
                *Integer*,
                ?
            ],
            specialFeatures: [
                *Integer*,
                ?
            ],
        },
        ?
    },
    vendors: {
        *vendorId*: {
        {
            id: *Integer*,
            name: *String*,
            purposes: [
                *Integer*,
                ?
            ],
            legIntPurposes: [
                *Integer*,
                ?
            ],
            flexiblePurposes: [
                *Integer*,
                ?
            ],
            specialPurposes: [
                *Integer*,
                ?
            ],
            features: [
                *Integer*,
                ?
            ],
            specialFeatures: [
                *Integer*,
                ?
            ],
            policyUrl: *String*,
            usesCookies: *Boolean*,
            cookieMaxAgeSeconds: *Integer*,            
            usesNonCookieAccess: *Boolean*,
            deviceStorageDisclosureUrl: *String*
        },
        ?
    }
}

Evènements

Vous trouverez dans le tableau ci-dessous la liste des évènements qui peuvent être déclenchés par la CMP :

EVENEMENT

DESCRIPTION

tcloaded

Cet évènement se déclenche lorsque la CMP est chargée, qu'une TC String valide est disponible et que l'UI n'est pas affichée.

cmpuishown

Cet évènement se déclenche lorsque l'UI est affichée ou ré-affichée. S'il n'y a pas de TC String existante pour l'utilisateur, la CMP crée une TC String avec tous les signaux d'intérêt légitime définis à true et tous les signaux de consentement définis à false.

useractioncomplete

Cet évènement se déclenche lorsqu'un utilisateur valide ou re-valide ses choix et que la TC String mise à jour est prête à être exposée.

cmpuiclosed

Cet évènement se déclenche lorsqu'un utilisateur ferme l'UI affichée en cliquant sur le bouton fermer (si activé) et donc que la TC String courante est inchangée par la CMP.

Dernière mise à jour