Aller au contenu principal
Cette page vous a-t-elle été utile ?

Conformité API

Confidentialité et conformité

Exporter des données personnelles, créer des demandes de personnes concernées et gérer l'état du consentement

Ces routes renvoient au centre de confidentialité destiné aux utilisateurs. Ils sont limités à l'utilisateur authentifié et exclure intentionnellement la surface de conformité de l'administrateur.

JWT ou clé utilisateur APIAccès et exportation de style RGPDÉtat de consentementVersion des politiques

Authentification et autorisations​

  • Tous les itinéraires sur cette page nécessitent une authentification.
  • Chaque itinéraire est limité à l'utilisateur authentifié.
  • Les routes de conformité administrative sous /api/admin/compliance/* sont explicitement hors de portée de cette référence.

Référence du point de terminaison​

MéthodeCheminObjectifDemande ou requêteAuthentification
GET/api/compliance/me/privacy/accessGénérez le rapport d’accès à la confidentialité.AucunClé JWT ou utilisateur API
GET/api/compliance/me/privacy/exportExportez les données personnelles de l'utilisateur.AucunClé JWT ou utilisateur API
POST/api/compliance/me/privacy/requestsCréez une demande de personne concernée.Corps : requestType,reason,confirmEmailClé JWT ou utilisateur API
GET/api/compliance/me/privacy/requestsRépertoriez les demandes des personnes concernées par les données de l'utilisateur.Requête : statuses,requestTypes,search,offset,limitClé JWT ou utilisateur API
GET/api/compliance/me/privacy/consentsÉnumérez les décisions de consentement actuelles.AucunClé JWT ou utilisateur API
PUT/api/compliance/me/privacy/consents/:consentTypeRenverser une décision de consentement.Chemin : consentType, corps : decision,policyVersion,source,metadataClé JWT ou utilisateur API
POST/api/compliance/me/privacy/policy-acceptanceAcceptez une version de politique de confidentialité.Corps : versionClé JWT ou utilisateur API

Demander des formes​

Demandes des personnes concernées​

CreateDataSubjectRequestDto

  • requestType : énumération requise access|export|delete
  • reason : chaîne facultative, maximum 1 000 caractères
  • confirmEmail : chaîne facultative, en minuscules, maximum 254 caractères

DataSubjectRequestQueryDto

  • statuses : tableau de chaînes facultatif, valeurs séparées par des virgules prises en charge
  • requestTypes : tableau de chaînes facultatif, valeurs séparées par des virgules prises en charge
  • search : chaîne facultative, maximum 120 caractères
  • offset : entier facultatif >= 0
  • limit : entier facultatif 1..500

Consentements​

UpsertConsentDto

  • decision : obligatoire accepted|revoked
  • policyVersion : chaîne obligatoire, 64 caractères maximum
  • source : chaîne facultative, 64 caractères maximum
  • metadata : objet facultatif

Types de consentement actuels exposés dans le code :

  • privacy_policy
  • terms_of_service
  • marketing_email
  • data_processing
  • cookie_analytics

Acceptation de la politique​

  • AcceptPrivacyPolicyDto.version : chaîne obligatoire, 64 caractères maximum

Exemples d'appels​

Créer une demande d'exportation​

curl -X POST "$PRIMECAL_API/api/compliance/me/privacy/requests" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"requestType": "export",
"reason": "Personal archive"
}'
curl -X PUT "$PRIMECAL_API/api/compliance/me/privacy/consents/marketing_email" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"decision": "revoked",
"policyVersion": "2026-03",
"source": "privacy-center"
}'

Accepter la version actuelle de la politique​

curl -X POST "$PRIMECAL_API/api/compliance/me/privacy/policy-acceptance" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"version": "2026-03"
}'

Notes de réponse et de comportement​

  • Les routes d’accès et d’exportation génèrent des rapports de confidentialité à l’échelle de l’utilisateur.
  • Les modifications de consentement enregistrent des métadonnées supplémentaires telles que la source, l'adresse IP et l'agent utilisateur dans la couche de service.
  • La liste des demandes des personnes concernées renvoie uniquement les propres demandes de l'utilisateur actuel.

Meilleures pratiques​

  • Utilisez des valeurs policyVersion explicites partout au lieu de modéliser le consentement comme un booléen simple.
  • Associez les actions de conformité à Personal Logs API dans les interfaces utilisateur du centre de confidentialité.
  • Exiger une étape de confirmation explicite avant d'envoyer requestType=delete à partir d'un client.
  • Gardez confirmEmail aligné avec l'e-mail actuel de l'utilisateur authentifié lorsque l'interface utilisateur demande une reconfirmation.