Implementación del punto de recopilación con API de REST
UUID-b039d8c3-091a-a89b-ce4e-e26e68fcffa1
Article Content
La finalidad principal del SDK de JavaScript es ofrecer una forma rápida de implementar puntos de recopilación de OneTrust. El SDK utiliza una arquitectura de API de RESTful abierta para comunicarse con los sistemas de OneTrust.
Como alternativa a la implementación del SDK, puedes escribir tu propio código para que interactúe con nuestras API directamente. De esta forma, puedes crear tus propios flujos de trabajo personalizados y usar el servicio en aplicaciones que no sean compatibles con JavaScript.
Uso de la API de acuses de recibo del consentimiento para crear transacciones
La API de acuses de recibo de consentimiento permite que una aplicación externa envíe una solicitud para almacenar las transacciones de consentimiento para un único punto de recopilación. Cada punto de recopilación debe configurarse primero en OneTrust para generar un token de solicitud válido.
Cuerpo de la solicitud de la API de acuses de recibo del consentimiento
A continuación, se muestran los datos de la carga útil admitidos cuando se realizan llamadas del POST en https://{BASEURL}/request/v1/consentreceipts.
Valor requerido para el identificador DS (identificador del interesado). El tipo se basa en el tipo de elemento de datos del punto de recopilación y no se valida al realizar el envío.
identifierType
Solo es compatible con los puntos de recopilación de tipo API que están configurados para la configuración dinámica. Este valor es necesario para los puntos de recopilación de configuración dinámica. El valor (p. ej., «Email» (Correo electrónico)) debe coincidir con uno de los elementos de datos del identificador definidos en la lista elementos de datos.
Nota
Estos datos solo se deben enviar para los puntos de recopilación de configuración dinámica.
dsDataElements
(Opcional)
Opcional para capturar valores de elementos de datos desde el punto de recopilación. Los elementos de datos se deben definir en el punto de recopilación o se ignorarán.
language
(Opcional)
Se utiliza para establecer el idioma para el interesado. Admite formatos de código ISO. Solo se aceptará el código de idioma o de idioma-cultura.
interactionDate
(Opcional)
Solo es compatible con puntos de recopilación de tipo API. Se utiliza para registrar la fecha y hora de la interacción del usuario con un punto de recopilación. Cuando se utiliza en combinación con un TransactionType declarado, se pueden publicar varios TransactionTypes diferentes, y cada transacción se registrará como que ha ocurrido en la interactionDate (fecha de interacción). Cuando se utiliza interactionDate, no se deben incluir otras fechas en la publicación. Si interactionDate y una de las otras fechas se envían en la misma publicación, se generará un error.
Los recibos se pueden publicar fuera de fecha utilizando la fecha de interacción en la API de acuses de recibo del consentimiento, que puede ser especialmente útil cuando se envían datos de consentimiento históricos. Esto significa que los nuevos recibos entrantes, con una fecha de interacción anterior a la última fecha registrada en cada perfil del interesado específico, crearán una transacción, pero no actualizarán el estado del objetivo.
Por ejemplo, si publicas un recibo WITHDRAWN (Retirado) con una fecha de interacción del 3 de mayo, seguido de un recibo NOT_GIVEN (Sin otorgar) para el mismo objetivo con una fecha de interacción anterior al 2 de mayo, el perfil del interesado mostrará un estado del objetivo de WITHDRAWN (Retirado) basado en la fecha de interacción más reciente.
Nota
Se recomienda utilizar interactionDate en lugar de consentDate y withdrawnDate.
customPayload
(Opcional)
Almacena cualquier dato personalizado en pares clave-valor en comparación con el recibo. El tamaño total de los datos customPayload no debe superar los 4000 caracteres.
requestInformation
Token generado por un punto de recopilación. Debe utilizarse sin modificarlo.
Objetivos
La lista de objetivos para los que se otorga o cambia el consentimiento.
Purpose Id
Valor requerido. Incluye solo los identificadores únicos globales (GUID) de los objetivos a los que se haya otorgado el consentimiento, a menos que se utilice Transaction Type (Tipo de transacción). Establecerá el estado del consentimiento en estado ACTIVE (Activo) o PENDING (Pendiente), según la configuración de la opción de inclusión doble del punto de recopilación.
TransactionType
(Opcional)
Solo es compatible con puntos de recopilación de tipo API. Valores admitidos: PENDING (Pendiente), CONFIRMED (Confirmado), WITHDRAWN (Retirado), EXPIRED (Vencido), NOTGIVEN (Sin otorgar), EXTEND (Prorrogar), OPT_OUT (Opción de excluirse), HARD_OPT_OUT (Exclusión dura), NO_CHOICE (Sin elección), CHANGE_PREFERENCES (Cambiar preferencias), CANCEL (Cancelar).
Los valores aceptables también se pueden determinar con otras configuraciones en el punto de recopilación. Por ejemplo, PENDING (Pendiente) solo se aceptará si el punto de recopilación está establecido para la opción de inclusión doble. Actualmente, NO_CHOICE (Sin elección) solo está disponible para los puntos de recopilación de tipo Cookie Compliance (Consentimiento de cookies).
ExpiryDate
(Opcional)
Fecha de vencimiento explícita opcional. Si se introduce un valor, anulará la duración del consentimiento en el objetivo. La fecha se debe establecer en el futuro en relación con la fecha y hora actuales. Cuando se haya alcanzado la fecha de vencimiento, se ejecutará una tarea programada para actualizar el estado del consentimiento a Expired (Vencido).
Nota
Puede haber un retraso de hasta 12 horas después de que se haya alcanzado la fecha de vencimiento para que el estado Expired (Vencido) se refleje en el perfil del interesado.
purposeNote
Datos opcionales que pueden incluir noteId (ID de la nota), noteType (Tipo de nota), noteLanguage (Idioma de la nota) y noteText (Texto de la nota).
noteId
(Opcional)
Identificador único universal (UUID) de una plantilla de razón. Este ID debe ser válido o se ignorará. Utiliza este ID solo si quieres vincular la nota a una plantilla de razón.
noteType
(Opcional)
Tipo de plantilla de razón. Si se utiliza, el valor debe ser UNSUBSCRIBE_REASON.
noteLanguage
(Opcional)
Código ISO para el idioma del texto de la nota.
noteText
(Opcional)
Texto de la nota que se almacenará con un máximo de 500 caracteres. Al incluir purposeNote en tu carga útil, este valor debe estar presente.
CustomPreferences
(Opcional)
Valor opcional basado en las preferencias personalizadas vinculadas al objetivo.
Options (Opciones)
Las preferencias personalizadas pueden ser de selección única o múltiple, opcionales u obligatorias, pero esto no está validado por la API. Se aceptará establecer más de un valor en una única selección, pero puede provocar problemas cuando el interesado inicie sesión en un centro de preferencias que incluya estos datos. Incluye solo los identificadores globales únicos (GUID) para las opciones por las que los interesados opten por incluirse.
[en] generateInstantLinkToken
[en] (Optional)
[en] Flag to generate an instant access magic link token for the Preference Center that expires after one year, with a default value of false.
Nota
[en] This flag requires an API type collection point.
Un JWT que contiene el registro de la transacción.
[en] instantLinkToken
[en] This token can be appended to the Preference Center login URL for a data subject login.
Modificación de las preferencias a través de la API de acuses de recibo del consentimiento
Puedes incluir la API de acuses de recibo del consentimiento con el tipo de transacción CHANGE_PREFERENCES (Cambiar preferencias) para modificar el tema existente y las selecciones de la opción Custom Preference (Preferencia personalizada) para los interesados existentes. El uso de este tipo de transacción te permite optar por incluir o excluir explícitamente a cualquier interesado de las opciones de preferencias individuales sin tener que incluir todas las opciones existentes dentro de la carga útil.
Información importante
Al incluir el tipo de transacción CHANGE_PREFERENCES (Cambiar preferencias), es importante tener en cuenta lo siguiente:
El tipo de transacción CHANGE_PREFERENCES solo está disponible para los puntos de recopilación de tipo API.
Existen diferencias significativas en la carga útil de las preferencias personalizadas al incluir este tipo de transacción, por lo que debes tener cuidado al implementarla.
Puedes declarar OPT_IN como un parámetro de TransactionType o dejarlo en blanco para optar por incluir a un interesado en un tema u opción de preferencia personalizada.
No incluyas los ID de los elementos que no estás modificando.
Si no hay ningún registro de consentimiento para el interesado (es decir, si el tipo de transacción CHANGE_PREFERENCES es la primera transacción para el interesado para estos objetivos), entonces el registro de consentimiento se creará con un estado ACTIVE (Activo) y las preferencias se aplicarán.
[en] The CHANGE_PREFERENCES transactionType should only be used to modify preferences for an existing data subject with a purpose in Active status, or to create a new data subject record.
Omitir el flujo de trabajo de la opción de inclusión doble
Puedes omitir el flujo de trabajo de la opción de inclusión doble para una interacción del interesado individual al incluir el siguiente parámetro en la API de acuses de recibo del consentimiento:
“doubleOptIn”: false
Cuando se realiza una llamada del POST con el parámetro adicional, se generará un tipo de transacción CONFIRMED (Confirmado) en lugar de PENDING (Pendiente). A continuación, se le dará al interesado un estado ACTIVE (Activo) para todos los objetivos en el punto de recopilación.
Nota
No se activarán ni el correo electrónico de confirmación de la opción de inclusión doble ni los eventos de flujo de trabajo personalizados en los que el identificador no sea una dirección de correo electrónico.