# Objet Consent

The Consent Object est une manière standardisée de représenter le consentement dans toutes les méthodes de l'onsite JavaScript API (similaire à la Consent String IAB TCF). L'objet contient une `meta` propriété qui inclut des métadonnées comme la validité du cookie et une `consentement` propriété qui contient les paramètres de consentement actuels stockés dans le navigateur.L'onsite API et le Consent Object sont la manière officielle d'accéder aux paramètres de consentement de Commanders Act CMP avec JavaScript. L'utilisation directe du [Consent Cookie](https://doc.commandersact.com/fr/fonctionnalites/consent-management/knowledge-base/consent-cookie) est dépréciée.

### Exemple de Consent Object <a href="#example-consent-object" id="example-consent-object"></a>

```
{
    meta: {
        version: "1.0",
        tcfPolicyVersion: "2",
        siteId: "1234",
        bannerId: "12",
        bannerVersion: "50",
        consentId: "183049723840253",
        dateCreated: 1614174067000,
        dateUpdated: 1614185078030,
        dateExpires: 1614236789942
    },
    consent: {
        status: "all-on|all-off|mixed|unset",
        categories: {
            "1": {
                status: "on",
                required: true
            },
            "2": {
                status: "on|off|unset"
            },
            "tcf2_1": {
                status: "on|off|unset"
            },
            "tcf2_2": {
                status: "on|off|unset",
                legIntStatus: "on|off|unset"
            },
            "tcf2_sf_1": {
                status: "on|off|unset"
            }
        },
        vendors: {
          "1": {
                status: "on|off|unset"
          },
          "tcf2_1": {
                status: "on|off|unset"
          },
          "tcf2_2": {
                status: "on|off|unset",
                legIntStatus: "on|off|unset"
          },
          "acm_1": {
                status: "on|off|unset"
          }
        }
    }
}
```

### Propriétés Meta <a href="#meta-properties" id="meta-properties"></a>

La `meta` la propriété inclut des métadonnées et le contexte du consentement qui a été fourni sur un navigateur.

| Propriété               | Description                                                                          | Type   |
| ----------------------- | ------------------------------------------------------------------------------------ | ------ |
| `meta.version`          | Version du Consent Object.                                                           | String |
| `meta.tcfPolicyVersion` | Version du consentement IAB TCF.                                                     | String |
| `meta.siteId`           | ID du site Commanders Act associé au consentement.                                   | String |
| `meta.bannerId`         | ID de la bannière associée au consentement.                                          | String |
| `meta.bannerVersion`    | Version de la bannière associée au consentement.                                     | String |
| `meta.consentId`        | ID du consentement stocké dans le `TCPID` cookie.                                    | String |
| `meta.dateCreated`      | Horodatage du moment où le consentement a été fourni (UNIX Epoch en millisecondes).  | Number |
| `meta.dateUpdated`      | Horodatage de la dernière mise à jour du consentement (UNIX Epoch en millisecondes). | Number |
| `meta.dateExpires`      | Horodatage du moment où le consentement expirera (UNIX Epoch en millisecondes).      | Number |

### Propriétés du Consentement <a href="#consent-properties" id="consent-properties"></a>

La propriété consent inclut des informations détaillées sur le consentement fourni dans le navigateur.

| Propriété                                  | Description                                                                                                                                                                                                                                                                                                                                                                                         |
| ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `consent.status`                           | Statut global du consentement qui peut avoir l'une des valeurs suivantes : **all-on:** Toutes les catégories de consentement ont été acceptées.**all-off:** Toutes les catégories de consentement ont été refusées (sauf blocked on).**mixed:** Certaines catégories de consentement ont été refusées.**unset:** Aucun consentement n'a encore été fourni.                                          |
| `consent.categories[category_id].status`   | Statut d'une catégorie individuelle :**on:** Le consentement a été donné.**off:** Le consentement a été refusé.**unset:** Aucun consentement n'a encore été fourni (si la position du bouton neutral est configurée, elle passera en position neutral pour cette catégorie).​`category_id` est l'ID de la catégorie configurée sous `Data Governance > Consent Management > Settings > Categories`. |
| `consent.categories[category_id].required` | La propriété a été réglée sur blocked on et le statut est toujours **on**.                                                                                                                                                                                                                                                                                                                          |
| `consent.vendors[vendor_id].status`        | Statut d'un vendor individuel :**on:** Le consentement a été donné.**off:** Le consentement a été refusé.**unset:** Aucun consentement n'a encore été fourni (si la position du bouton neutral est configurée, elle passera en position neutral pour ce vendor).​`vendor_id` est l'ID du vendor configuré sous `Data Governance > Consent Management > Settings > Vendors`.                         |

Les IDs de Category et de Vendor sont préfixés avec un identifiant au cas où ils sont gérés par un framework de consentement.

| Framework | Préfixe                                                                              |
| --------- | ------------------------------------------------------------------------------------ |
| `tcf2_`   | Framework IAB TCF 2. Les fonctionnalités spéciales sont en outre préfixées par `sf_` |
| `acm_`    | Vendors de Google's Additional Consent Mode.                                         |

​
