Aller au contenu principal
Was this helpful?

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

Source

  • Contrôleur : backend-nestjs/src/compliance/compliance.controller.ts
  • DTO : backend-nestjs/src/compliance/dto/compliance.dto.ts

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êteAuthentificationSource
GET/api/compliance/me/privacy/accessGénérez le rapport d’accès à la confidentialité.AucunClé JWT ou utilisateur APIcompliance/compliance.controller.ts
GET/api/compliance/me/privacy/exportExportez les données personnelles de l'utilisateur.AucunClé JWT ou utilisateur APIcompliance/compliance.controller.ts
POST/api/compliance/me/privacy/requestsCréez une demande de personne concernée.Corps : requestType,reason,confirmEmailClé JWT ou utilisateur APIcompliance/compliance.controller.ts
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 APIcompliance/compliance.controller.ts
GET/api/compliance/me/privacy/consentsÉnumérez les décisions de consentement actuelles.AucunClé JWT ou utilisateur APIcompliance/compliance.controller.ts
PUT/api/compliance/me/privacy/consents/:consentTypeRenverser une décision de consentement.Chemin : consentType, corps : decision,policyVersion,source,metadataClé JWT ou utilisateur APIcompliance/compliance.controller.ts
POST/api/compliance/me/privacy/policy-acceptanceAcceptez une version de politique de confidentialité.Corps : versionClé JWT ou utilisateur APIcompliance/compliance.controller.ts

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.