Démarrage rapide en 60 secondes

Protégez un usage de données réel en moins d'une minute. Toute l'intégration tient en un seul appel.

1. Installer

# TypeScript / Node
npm install @agreely/sdk

# PHP
composer require agreely/sdk

# CLI (agent-native, one binary)
npm install -g @agreely/cli

2. Définir votre clé

Une clé suffit à identifier votre locataire. Il n'y a ni session ni CSRF; chaque appel est sans état et de serveur à serveur.

export AGREELY_API_KEY=agr_live_xxx

Les clés portent des portées (scopes) : check autorise la vérification de consentement, issue autorise les points d'accès de demande de consentement, et l'une ou l'autre portée peut lire le catalogue.

3. Protéger un usage de données

Envoyez les libellés bruts de catégorie et de finalité, tels que lus par un humain. Agreely les normalise côté serveur vers la clé exacte qu'ont inscrite le catalogue et l'approbation. Ne normalisez jamais côté client.

import { Agreely } from "@agreely/sdk";

const agreely = new Agreely({ apiKey: process.env.AGREELY_API_KEY! });

// Send RAW human labels. Agreely normalizes them server-side. if (await agreely.check("cust_8812", "Phone number", "Billing")) { // allowed: use the phone number for billing } else { // denied: do not use it }

use Agreely\Sdk\Agreely;

$agreely = new Agreely(['apiKey' => getenv('AGREELY_API_KEY')]);

if ($agreely->check('cust_8812', 'Phone number', 'Billing')) { // allowed: use the phone number for billing } else { // denied: do not use it }

export AGREELY_API_KEY=agr_live_xxx

agreely check cust_8812 "Phone number" "Billing" --json

{"decision":"allow","status":"active","consentRef":"0x..."}

exit 0 on allow, 10 on deny

curl -sS https://api.agreely.ca/v1/check \
  -H "Authorization: Bearer $AGREELY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"customerId":"cust_8812","category":"Phone number","purpose":"Billing"}'
# {"decision":"allow","status":"active","consentRef":"0x...","checkedAt":"2026-...Z"}

Voilà toute l'intégration. Quelques propriétés à connaître tout de suite :

  • Un refus est un 200 normal. Une décision de consentement, qu'elle autorise ou refuse, est toujours une réponse réussie. Seuls l'authentification, la validation, la limite de débit et les pannes sont des erreurs.
  • Refus par défaut. Si Agreely est injoignable, check() renvoie false. Il est possible d'inscrire des catégories précises dans une ouverture en cas de panne (fail-open) restreinte et auditée, mais c'est délibérément difficile. Voir composer avec les pannes.
  • customerId est votre référence, jamais un DID de citoyen. Agreely ne le relie jamais à l'identité de la personne (voir non-corrélation).

Ensuite