Gérer le consentement programmatiquement
Ce chapitre vous apprendra comment gérer les consentements de notre widget de cookies programmatiquement.
Où sont stockés les consentements ?
L'intégralité de la preuve du consentement de l'utilisateur est stocké dans le localStorage du navigateur (La clé de stockage est nommée dastra-consents) au format json. La propagation des consentements en dépend, c'est pourquoi, il n'est pas recommandé de modifier directement les données de cette clé
Accès au service de consentement
Le service de consentement de dastra est accessible de cette façon
<script>
window.dastra = window.dastra || [];
window.dastra.push(['cookieReady',function(manager)
{console.log(manager.consent)}]);
</script>Liste des méthodes disponibles dans le manageur de consentement
dans manager.consent, vous disposez des méthodes suivantes :
open() : ouvre le widget de consentement
close() : ferme le widget de consentement
getAllConsents() : récupère tous les consentements
hasConsented() : retourne
truesi l'utilisateur a déjà enregistré un consentement explicitegetPurposeConsent(purposeLabel:string) : récupère le consentement d'une catégorie de cookies
setPurposeConsent(purposeLabel:string, consent:bool): définit le consentement pour une catégorie
getServiceConsent(serviceShortName:string): récupère le consentement d'un service particulier.
setServiceConsent(serviceShortName:string, consent:bool): définit le consentement d'un élément particulier
Récupérer la liste des consentements de l'utilisateur (getAllConsents)
Une fois que vous accédez au manager de consentement, il est très aisé de récupérer les consentements de l'utilisateur courant :
Pour appeler getAllConsents() en dehors du callback cookieReady (par exemple depuis votre propre code après le chargement du widget), utilisez le chemin complet :
L'ancienne syntaxe dastra.getAllConsents() (à la racine) n'est plus supportée.
La méthode ci-dessus renvoie la liste de tous les consentements de l'utilisateur
Interroger les consentements par catégorie (getPurposeConsent/setPurposeConsent)
Les catégories de cookies sont identifiées par les labels suivants :
Nécessaires
Necessary
Préférences
Preference
Analytique
Analytical
Marketing
Marketing
Autre
Other
Non classé
Unclassified
Utilisez bien les labels en chaîne de caractères (ex. 'Analytical') et non les valeurs numériques, qui ne sont pas supportées par l'API.
Manipuler les consentements par service
Pour manipuler les consentements par service, vous aurez besoin du nom simplifié du service disponible dans l'interface de gestion des services de votre widget.

Exemple complet
L'exemple suivant montre comment appliquer un refus global par programmation — par exemple lorsque l'utilisateur clique sur un bouton "Tout refuser" personnalisé, ou pour honorer un signal de confidentialité navigateur.
Il est également possible d'accepter sélectivement certaines catégories — par exemple accepter uniquement l'analytique :
Réagir aux mises à jour de consentement (événement dastra:consents:updated)
Chaque fois qu'un utilisateur modifie ses choix de consentement (via le widget ou par programmation avec save()), Dastra émet un événement dastra:consents:updated sur window. Vous pouvez vous y abonner pour déclencher vos propres actions — rechargement de scripts tiers, mise à jour de l'interface, envoi d'un événement analytics, etc.
Mis à jour
Ce contenu vous a-t-il été utile ?