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.
Si vous utilisiez l'API gdprRequest, vous pouvez la conserver, mais il est recommandé d'utiliser la nouvelle API privacyRequest.
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>
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».
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 :
Téléchargez le WSDL xtk:session depuis cette URL : <server url>/nl/jsp/schemawsdl.jsp?schema=xtk:session.
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.

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 :
Téléchargez le WSDL depuis cette URL : <server url>/nl/jsp/schemawsdl.jsp?schema=nms:privacyRequest.
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 trouverez ci-dessous un exemple d'appel de l'API depuis un script JS dans Campaign Classic.
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.