Processus automatique de demande d'accès à des informations personnelles

Adobe Campaign fournit une API qui permet de configurer un processus automatique de demande d'accès à des informations personnelles.

Avec l'API, le processus général d'accès à des informations personnelles est identique à celui de l'interface. La seule différence est la création de la demande d'accès à des informations personnelles. Au lieu de créer la demande dans Adobe Campaign, une instruction POST contenant les informations de la demande est envoyée à Campaign. Pour chaque demande, une nouvelle entrée est ajoutée dans l'écran Demandes d'accès à des informations personnelles. Les workflows techniques d'accès à des informations personnelles traitent ensuite la demande, de la même manière que pour une demande ajoutée à l'aide de l'interface.

Si vous utilisez l'API pour soumettre des demandes d'accès à des informations personnelles, il est recommandé de conserver l'option Processus en 2 étapes activée pour les premières demandes de suppression, afin de tester les données renvoyées. Une fois vos tests terminés, vous pouvez désactiver le processus en 2 étapes de façon à ce que le processus de demande de suppression puisse s'exécuter automatiquement.

L'API JS CreateRequestByName est définie comme suit.

REMARQUE

Si vous utilisiez l'API gdprRequest, vous pouvez la conserver, mais il est recommandé d'utiliser la nouvelle API privacyRequest.

IMPORTANT

Le droit nommé Droit relatif aux données personnelles est nécessaire pour utiliser l'API.

<method library="nms:gdpr.js" name="CreateRequestByName" static="true">
 <help>Create a new GDPR Request using namespace internal name</help>
 <parameters>
  <param name="namespaceName" type="string" desc="Namespace internal name"/>
  <param name="reconciliationValue" type="string" desc="Reconciliation value"/>
  <param name="type" type="long" desc="Reconciliation value"/>
  <param name="confirmDeletePending" type="boolean" desc="Request confirm before deleting data"/>
  <param name="regulation" type="long" desc="regulation of newly created request"/>
  <param name="id" type="long" inout="out" desc="ID of newly created request"/>
 </parameters>
</method>
REMARQUE

Le champ "règlement" n'est disponible que si vous utilisez Campaign Classic 20.2 (build 9178+).

Si vous effectuez une migration vers la version 20.2 et que vous utilisiez déjà l'API, vous devez ajouter ce champ comme illustré ci-dessus. Si vous avez recours à un build précédent, vous pouvez continuer à utiliser l'API sans le champ «règlement».

Appel de l'API en externe

Voici un exemple d'appel externe de l'API (authentification via l'API et détails spécifiques sur l'API de protection des données). Pour en savoir plus sur l'API de protection des données, consultez la documentation de l'API. Vous pouvez également consulter la documentation sur les appels Web Service.

Tout d'abord, vous devez effectuer l'authentification par le biais de l'API :

  1. Téléchargez le WSDL xtk:session depuis cette URL : <server url>/nl/jsp/schemawsdl.jsp?schema=xtk:session.

  2. Utilisez la méthode "Logon" et transmettez un nom d'utilisateur et un mot de passe en tant que paramètres dans la demande. Vous obtiendrez une réponse contenant un jeton de session. Voici un exemple utilisant SoapUI.

  3. Utilisez le jeton de session retourné comme authentification pour tous les appels d'API suivants. Il arrive à expiration au bout de 24 heures.

Vous pouvez ensuite appeler l'API de protection des données :

  1. Téléchargez le WSDL depuis cette URL : <server url>/nl/jsp/schemawsdl.jsp?schema=nms:privacyRequest.

  2. Utilisez CreateRequestByName pour créer une demande d'accès à des informations personnelles spécifique.

    Voici un exemple utilisant CreateRequestByName. Remarquez comment nous utilisons le jeton de session fourni ci-dessus pour l'authentification. La réponse est l'identifiant de la demande créée.

    Pour vous aider à effectuer les étapes ci-dessus, tenez compte des points suivants :

    • Vous pouvez utiliser une queryDef sur le schéma nms:gdprRequest pour vérifier le statut de la demande d'accès.
    • Vous pouvez utiliser une queryDef sur le schéma nms:gdprRequestData pour obtenir le résultat de la demande d'accès.
    • Pour pouvoir télécharger le fichier XML à partir de "$(serverUrl)'/nms/gdpr.jssp?id='@id", vous devez être connecté et y accéder à partir d’une adresse IP placée sur la liste autorisée. Pour ce faire, créez une application web vous permettant d'accéder au fichier généré par le JSSP.

Appel de l'API depuis un script JS

Vous trouverez ci-dessous un exemple d'appel de l'API depuis un script JS dans Campaign Classic.

REMARQUE

Le champ "règlement" n'est disponible que si vous utilisez Campaign Classic 20.2 (build 9178+).

Si vous effectuez une migration vers la version 20.2 et que vous utilisiez déjà l'API, vous devez ajouter ce champ. Si vous avez recours à un build précédent, vous pouvez continuer à utiliser l'API sans le champ «règlement».

  • Si vous utilisez une version précédente (avec le package RGPD), vous pouvez continuer à utiliser l'API sans le champ 'regulation' comme illustré ci-dessous :

    loadLibrary("nms:gdpr.js");
    /****************************
    This code calls an API to create new Privacy request on the DB.
    It requires 4 parameters below.
    Feel free to change parameter values.
    ****************************/
    // 1. Namespace internal name
    var namespaceName = "defaultNamespace1";
    // 2. Reconciliation value for privacy request
    var reconciliationValue = "example@adobe.com";
    // 3. Privacy request type
    // GDPR_REQUEST_TYPE_ACCESS = 1;
    // GDPR_REQUEST_TYPE_DELETE = 2;
    var requestType = GDPR_REQUEST_TYPE_ACCESS;
    // 4. Confirm deleting data required.
    // value : true or false
    var ConfirmDeletePending = true;
    // BEGIN
    var requestId = nms.privacyRequest.CreateRequestByName(namespaceName, reconciliationValue, requestType, ConfirmDeletePending);
    // User can use a simple queryDef with requestID as a parameter to check request status.
    
  • Si vous effectuez une migration vers la version 20.2 et que vous utilisiez déjà l'API, vous devez ajouter ce champ comme illustré ci-dessous :

    loadLibrary("nms:gdpr.js");
    /****************************
    This code calls an API to create new Privacy request on the DB.
    It requires 5 parameters below.
    Feel free to change parameter values.
    ****************************/
    // 1. Namespace internal name
    var namespaceName = "defaultNamespace1";
    // 2. Reconciliation value for privacy request
    var reconciliationValue = "example@adobe.com";
    // 3. Privacy request type
    // PRIVACY_REQUEST_TYPE_ACCESS = 1;
    // PRIVACY_REQUEST_TYPE_DELETE = 2;
    var requestType = PRIVACY_REQUEST_TYPE_ACCESS;
    // 4. Confirm deleting data required.
    // value : true or false
    var ConfirmDeletePending = true;
    // 5. Specify which regulation applies to newly created request. This is mandatory parameter.
    // GDPR = 1
    // CCPA = 2
    // PDPA = 3
    // LGPD = 4
    var regulation = 1;
    // BEGIN
    var requestId = nms.privacyRequest.CreateRequestByName(namespaceName, reconciliationValue, requestType, ConfirmDeletePending, regulation);
    // User can use a simple queryDef with requestID as a parameter to check request status.
    
  • Si vous utilisez Campaign Classic 20.2 (version 9178+) ou une version ultérieure, le champ 'regulation' est facultatif, comme illustré ci-dessous :

    loadLibrary("nms:gdpr.js");
    /****************************
    This code calls an API to create new Privacy request on the DB.
    It requires 5 parameters below.
    Feel free to change parameter values
    ****************************/
    // 1. Namespace internal name
    var namespaceName = "defaultNamespace1";
    // 2. Reconciliation value for privacy request
    var reconciliationValue = "example@adobe.com";
    // 3. Privacy request type
    // PRIVACY_REQUEST_TYPE_ACCESS = 1;
    // PRIVACY_REQUEST_TYPE_DELETE = 2;
    var requestType = PRIVACY_REQUEST_TYPE_ACCESS;
    // 4. Confirm deleting data required.
    // value : true or false
    var ConfirmDeletePending = true;
    // 5. Specify which regulation applies to newly created request. This is optional parameter.
    // GDPR = 1
    // CCPA = 2
    // PDPA = 3
    // LGPD = 4
    var regulation = 1;
    // BEGIN
    var requestId = nms.privacyRequest.CreateRequestByName(namespaceName, reconciliationValue, requestType, ConfirmDeletePending, regulation);
    // User can use a simple queryDef with requestID as a parameter to check request status.
    

Sur cette page