Technique

API de consentement RGPD : automatiser registre, statistiques et scans

Exporter votre registre comme preuve RGPD, suivre le taux d'acceptation et déclencher des scans cookies depuis votre CI : guide avec exemples curl.

Équipe ConsentLab10 min de lecture

Une API de consentement expose par programmation ce que votre CMP gère dans son interface : le registre des consentements (votre preuve RGPD), les statistiques d'acceptation, la configuration du bandeau et les scans de cookies. Concrètement, elle permet d'exporter automatiquement la preuve du consentement exigée par l'article 7 du RGPD, de brancher vos taux d'acceptation sur vos tableaux de bord internes, et de déclencher un scan de traceurs à chaque mise en production — sans ouvrir le dashboard.

Ce besoin d'automatisation concerne d'abord deux profils : les agences qui opèrent des dizaines de sites clients et ne peuvent pas cliquer dans autant d'interfaces, et les équipes techniques qui veulent intégrer la conformité dans leurs process existants (CI/CD, reporting, outils internes). ConsentLab expose pour cela une API REST publique versionnée (/v1), documentée dans notre documentation API, avec une référence OpenAPI explorable. Ce guide montre ce qu'une API de consentement doit couvrir, puis trois cas pratiques complets avec les requêtes curl correspondantes.

À quoi sert une API de consentement

Le consentement RGPD ne s'arrête pas au bandeau. Derrière l'interface, une CMP accumule des données qui ont de la valeur opérationnelle : chaque choix d'un visiteur est enregistré avec son horodatage (le registre), les choix agrégés forment vos statistiques d'acceptation, et la liste des traceurs détectés sur votre site évolue au fil de vos mises en production.

Tant que vous gérez un site, l'interface suffit. Les choses changent avec l'échelle : une agence qui administre quarante sites clients ne peut pas exporter quarante registres à la main chaque année, et une équipe data qui veut corréler taux d'acceptation et trafic ne va pas recopier des chiffres depuis un dashboard. C'est exactement le rôle d'une API : rendre ces données accessibles à vos scripts, vos tableaux de bord et votre chaîne de déploiement.

Un point de vocabulaire : l'API de consentement dont on parle ici est celle de gestion (lire le registre, piloter la configuration). Elle est distincte de l'API du bandeau lui-même, qui enregistre les choix des visiteurs — celle-là, votre CMP l'utilise déjà pour vous.

Ce qu'une API de consentement doit exposer

Quatre familles de ressources couvrent l'essentiel des besoins. Voici comment elles se traduisent dans l'API ConsentLab :

RessourceEndpointUsage principal
SitesGET /v1/sitesLister les sites du compte (boucle multi-sites pour les agences)
RegistreGET /v1/sites/{id}/consentsExporter la preuve de consentement (pagination par curseur)
StatistiquesGET /v1/sites/{id}/consent-statsTaux d'acceptation, répartition par catégorie, sur 7/30/90 jours ou tout l'historique
ConfigurationGET/PUT /v1/sites/{id}/banner-configLire ou modifier la configuration du bandeau à distance
ScansPOST /v1/sites/{id}/scansDéclencher un scan de cookies et traceurs

L'authentification se fait par clé portée en en-tête Authorization: Bearer. Chaque clé porte des scopes explicites — read:consents, read:stats, read:config, write:config, trigger:scan — ce qui permet de créer une clé strictement en lecture pour un outil de reporting, et de réserver l'écriture à un autre usage. Une clé peut aussi être cantonnée à un seul site : pratique pour donner un accès à un client final sans exposer le reste du portefeuille.

Cas pratique 1 : exporter le registre de consentement (preuve RGPD)

L'article 7 du RGPD impose de pouvoir démontrer que le consentement a été recueilli. En cas de contrôle CNIL ou de litige, votre registre — qui, quand, quels choix — est cette preuve. Notre article sur le registre des traitements détaille le volet documentaire ; ici, on automatise l'export.

curl -s "https://api.consentlab.eu/v1/sites/{SITE_ID}/consents?limit=100" \
  -H "Authorization: Bearer cl_live_votre_cle"

La réponse contient les enregistrements (identifiant de consentement, choix par catégorie, horodatage) et un curseur opaque : tant qu'un next_cursor est présent, rappelez l'endpoint avec ?cursor= pour la page suivante. Un script d'une vingtaine de lignes suffit à reconstituer le registre complet et à l'archiver où vous voulez — coffre interne, S3, ou pièce jointe d'un e-mail annuel.

Pourquoi c'est important : les enregistrements bruts sont conservés cinq ans (prescription civile), puis purgés. Un export périodique — annuel, par exemple — vous constitue une archive qui dépasse cette fenêtre. C'est le réflexe que nous recommandons à tous les comptes, et le premier script à écrire quand vous activez l'API.

Cas pratique 2 : brancher le taux d'acceptation sur vos tableaux de bord

Le taux d'acceptation est un indicateur de pilotage : une chute soudaine signale souvent un bandeau cassé par une mise en production, un texte mal traduit, ou un changement de design contre-productif.

curl -s "https://api.consentlab.eu/v1/sites/{SITE_ID}/consent-stats?period=30d" \
  -H "Authorization: Bearer cl_live_votre_cle"

La réponse agrège le total de consentements, les taux d'acceptation et de refus, la répartition par catégorie (nécessaires, analytics, marketing) et l'évolution jour par jour sur la période (7d, 30d, 90d ou all). De quoi alimenter un widget Grafana, une feuille de calcul automatisée ou le reporting mensuel qu'une agence envoie à ses clients — en bouclant sur GET /v1/sites pour couvrir tout le portefeuille.

Cas pratique 3 : déclencher un scan cookies après chaque mise en production

Le scénario classique de non-conformité : une équipe ajoute un widget tiers (chat, vidéo, A/B testing), qui dépose des cookies avant consentement — et personne ne s'en aperçoit avant des mois. Notre scanner de cookies détecte ces traceurs ; l'API permet de le déclencher au bon moment, c'est-à-dire juste après chaque déploiement :

curl -s -X POST "https://api.consentlab.eu/v1/sites/{SITE_ID}/scans" \
  -H "Authorization: Bearer cl_live_votre_cle"

L'endpoint répond 202 Accepted : le scan s'exécute en arrière-plan, et si de nouveaux traceurs apparaissent par rapport au scan précédent, l'alerte e-mail habituelle part vers les propriétaires du site. Ajoutez cette requête en dernière étape de votre pipeline CI/CD (GitHub Actions, GitLab CI…) avec une clé dédiée portant le seul scope trigger:scan : même si la clé fuite dans un log de CI, elle ne peut ni lire votre registre ni modifier votre bandeau.

Sécurité des clés : ce qu'il faut exiger d'une API de consentement

Une clé API donne accès à des données de conformité : sa gestion mérite les mêmes standards qu'un accès de production. Points à vérifier — et ce que fait ConsentLab :

  • Scopes en lecture seule pour tout ce qui n'écrit pas ; la clé de reporting n'a pas besoin de write:config.
  • Limitation de débit : 600 requêtes par minute et par clé, avec les en-têtes X-RateLimit-* pour piloter vos scripts proprement.
  • Durée de vie optionnelle (TTL) et liste d'adresses IP autorisées par clé : une clé de CI peut expirer à date fixe et n'accepter que les IP de vos runners.
  • Rotation en deux temps : la nouvelle clé est émise pendant que l'ancienne reste valide le temps de basculer, sans interruption de service.
  • Révocation automatique en cas de fuite : ConsentLab est intégré au secret scanning de GitHub — une clé cl_live_ committée par erreur dans un dépôt public est détectée et révoquée automatiquement, et vous êtes alerté.
  • Journal d'appels : chaque requête est tracée (endpoint, date, code de réponse), consultable 90 jours — utile pour l'audit comme pour le débogage.

Le secret d'une clé n'est affiché qu'une seule fois à la création : stockez-le dans un gestionnaire de secrets, jamais en clair dans le code.

Comment activer l'API ConsentLab

L'API publique est incluse dans les offres Business à partir de 500 000 sessions et Agence — voir les tarifs. L'activation se fait dans le dashboard, onglet « API » des paramètres : création de la clé (scopes, site, TTL, IP), copie unique du secret, et journal des appels.

Trois ressources pour démarrer :

  1. La documentation API : démarrage en 5 minutes, recettes par cas d'usage et référence des endpoints.
  2. La référence OpenAPI explorable sur api.consentlab.eu/v1/docs (spécification exportable en JSON pour générer un client dans votre langage).
  3. La politique de versionnement : l'API est versionnée (/v1) avec un engagement de compatibilité — tout changement cassant passe par une nouvelle version, l'ancienne restant disponible 12 mois.

Qu'est-ce qu'une API de consentement ? C'est une interface de programmation exposée par une CMP pour accéder à ses données et fonctions sans passer par l'interface : export du registre des consentements, statistiques d'acceptation, configuration du bandeau et déclenchement de scans de cookies. Elle sert à automatiser la conformité RGPD à l'échelle, notamment pour les agences multi-sites.

L'export du registre de consentement est-il une obligation RGPD ? L'article 7 du RGPD impose de pouvoir démontrer que le consentement a été recueilli. Le registre horodaté des choix est cette preuve. L'export automatisé via API permet de l'archiver durablement, y compris au-delà de la rétention de cinq ans appliquée aux enregistrements bruts.

Comment sécuriser une clé API de consentement ? Utilisez des scopes minimaux (lecture seule si possible), une clé par usage, un stockage en gestionnaire de secrets, et si votre CMP le permet : durée de vie limitée, liste d'IP autorisées et rotation sans interruption. ConsentLab révoque en plus automatiquement les clés qui fuitent dans des dépôts GitHub publics.

Peut-on déclencher un scan de cookies depuis une CI/CD ? Oui : un appel POST à l'endpoint de scan en fin de pipeline lance l'analyse en arrière-plan. Si de nouveaux traceurs sont détectés par rapport au scan précédent, une alerte est envoyée — le traceur ajouté par une mise en production est repéré immédiatement plutôt que des mois plus tard.

L'API ConsentLab est-elle incluse dans les offres ? Elle est incluse sans surcoût dans les offres Business à partir de 500 000 sessions mensuelles et dans l'offre Agence. Les clés se créent depuis le dashboard, et la documentation publique avec référence OpenAPI est accessible sans compte.

Conclusion

Une API de consentement transforme votre CMP en brique d'infrastructure : le registre s'exporte tout seul, les taux d'acceptation vivent dans vos tableaux de bord, et chaque mise en production déclenche son scan de traceurs. Les trois scripts de ce guide tiennent chacun en quelques lignes — le plus long est de décider où archiver le registre.

Si vous gérez plusieurs sites, commencez par la boucle GET /v1/sites + export du registre : c'est la preuve RGPD de tout votre portefeuille, automatisée en une fois. Et si votre CMP actuelle n'expose pas d'API, c'est un critère de comparaison qui mérite de remonter dans votre grille — chez la plupart des acteurs, c'est réservé aux offres Enterprise sur devis.

Automatisez votre conformité avec l'API ConsentLab

Registre exportable, statistiques, configuration et scans de cookies en REST — clés scopées, rate limiting, OpenAPI. Incluse dans les offres Business 500k+ et Agence, documentation publique accessible sans compte.

Vous avez aimé cet article ?

Recevez les prochains directement par email.