Fonctionnement

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

Toutes les commandes sont exécutables à travers la fonction API __sdcmpapi et Sirdata CMP fournit une liste de commandes standards décrites dans l'IAB Tech Lab CMP JavaScript API

Si vous utilisez une version compatible avec le Transparency and Consent Framework/TCF (c'est le cas par défaut), les commandes sont alors également exécutables à travers la fonction API __tcfapi.

window.__sdcmpapi(command, version, callback, parameter);
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é.

revokeUtiq

function(success)

-

Retire le consentement existant pour le partenaire Utiq et la finalité associée. Le signal associée et l'UI de la CMP (en cas de réaffichage) sont mis à jour. Renvoie true si Utiq et la finalité associée font partie du paramétrage de la CMP, et false sinon.

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