Configuración CRUD

La Configuración API soporta todas las operaciones de Crear, Leer, Actualizar y Eliminar (CRUD) relacionadas con un tipo de configuración.

Los cambios en la configuración se escriben en la base de datos de Configuración.

Las operaciones CRUD son compatibles a través de cuatro puntos finales dedicados:

POST/ajustes-objetos/{settingType}

Crea un entorno por primera vez. Un entorno debe pertenecer a una Entidad de Procesamiento, en el event Si se crea una configuración sin la entidad de procesamiento definida, entonces la entidad de procesamiento propietaria se establecerá de forma predeterminada en DESCONOCIDO.

PONGA /settings-objects/{settingType}/{settingId}

Actualiza una configuración que está actualmente "en uso"/activa o, si un scheduled la configuración no existe ya, entonces un scheduled La configuración puede ser creada a través de este endpoint. Las solicitudes deben tener el valor processingEntity definido.

ELIMINAR /settings-objects/{settingType}/{settingId}

Elimina una configuración activa. El parámetro opcional processingEntity, si se proporciona en la solicitud, garantiza que una Entidad de Procesamiento solo pueda eliminar sus propias configuraciones.

OBTENER /objetos-de-configuración/{settingType}/{settingId}

Recupera las configuraciones "en uso"/activas. El parámetro opcional processingEntity, si se proporciona en la solicitud, asegura que una Entidad de Procesamiento solo pueda recuperar sus propias configuraciones.


Características

Estos puntos finales admiten dos funciones clave:

Aprobaciones

Se pueden crear, actualizar o eliminar configuraciones con o sin aprobaciones. Esta funcionalidad ya está disponible en DPS v1. El campo requiresApproval controla este comportamiento, aceptando valores verdaderos o falsos.

Si se establece en verdadero, la configuración permanece inactiva hasta que sea aprobada.

Si se omite o se establece en falso (por defecto), la configuración se activa inmediatamente.

Scheduling

Se pueden crear o actualizar configuraciones con una fecha activeFromDate futura. Esta función es nueva y no estaba disponible en DPS v1. El campo activeFromDate determina si una configuración es actual o scheduled:

Un ajuste actual está en uso activo. Para crear o actualizar un ajuste actual, establezca activeFromDate en la fecha y hora actuales o déjelo vacío (se establece de forma predeterminada en la fecha y hora actuales).

A scheduled La configuración entra en vigor en una fecha y hora futura. Para programar una configuración, establezca activeFromDate en la fecha y hora futura deseada. La configuración se activará automáticamente cuando se alcance la fecha y hora.

Estados

Después de enviar una solicitud para crear, actualizar o eliminar una configuración, se puede devolver uno de los cuatro estados posibles:

ACTIVO – Asignado cuando se crea o actualiza una configuración sin requerir aprobación. Este estado se aplica tanto a los actuales como a los scheduled configuraciones. Además, una configuración también se activa tras la aprobación de una operación de creación o actualización.

INACTIVO – Se aplica cuando se elimina una configuración actual sin requerir aprobación. Si se necesita aprobación, la configuración permanece inactiva hasta que se apruebe la solicitud de eliminación.

INACTIVE_APPROVAL_PENDING – Indica que una solicitud actual recién creada o scheduled la configuración está a la espera de aprobación antes de volverse activa.

ACTIVE_APPROVAL_PENDING – Asignado cuando se solicita una actualización o eliminación de un elemento actual o scheduled la configuración está pendiente de aprobación.

Manejo de Entidades de Procesamiento

Un ajuste solo puede estar asociado con una única Entidad de Procesamiento; el valor processingEntity en un ajuste identifica la Entidad de Procesamiento a la que se aplica el ajuste.

Crear, Leer, Actualizar y Eliminar operaciones que tengan la processingEntity definida permiten restricted acceso basado en el valor processingEntity en la solicitud y la Entidad de Procesamiento propietaria de la configuración. Las llamadas que no incluyen el processingEntity no permiten restricted basado en el acceso.

Las solicitudes de actualización DEBEN siempre tener definida la processingEntity.