Documentation for a newer release is available. View Latest

ODS - Cambios y Correcciones

Esta página cubre los cambios y correcciones proporcionados a ODS en la versión IPF-2025.2.0

ODS

Nuevo

  • Versionado de Objetos PDS

    • Se añadieron pdsObjectId, versión y metadatos a los payloads y entradas de PDS.

    • Se añadieron enlaces tanto al historial de PDS como a la URL de ODS Object ID para el objeto PDS buscado utilizando cualquiera de las API V2 de PDS.

    • Se puede habilitar un nuevo Akka Cluster Singleton para ejecutar una tarea de mantenimiento recurrente que enriquece el campo pdsObjectId para objetos PDS persistidos antes de la versión IPF-2025.2.0. Cuando está habilitado, las entradas heredadas de PDS en la base de datos se migrarán gradualmente, permitiendo que ODS Inquiry las busque usando su valor pdsObjectId. Esta tarea se aplica a objetos PDS que actualmente no tienen valor para el campo pdsObjectId.

  • Cambios de configuración:

    • Para habilitar la tarea de mantenimiento recurrente que enriquece el pdsObjectId debe establecerse a true, por defecto es false.

      • ods.housekeeping.pds-object-id-enrichment.enabled

    • Para controlar el número máximo de objetos PDS que se enriquecerán en una sola ejecución, por defecto es 1000.

      • ods.housekeeping.pds-object-id-enrichment.limit

  • Tarea de mantenimiento de campo de búsqueda CSM

    • Una tarea de mantenimiento que enriquece el campo de búsqueda CSM de Summary para resúmenes persistidos antes de IPF-2025.1.0.

    • Ver la documentación Summary Csm Enrichment.

Cambiado

  • Versionado de Objetos PDS

    Se cambió /api/v2/all/pds-objects/{name} a /api/v2/all/pds-objects/{odsObjectId} para alinearse con otras APIs de datos de proceso; este es un CAMBIO INCOMPATIBLE.
    • Se cambió /api/v2/all/pds-objects/{name}/history a /api/v2/all/pds-objects/{pdsObjectId}/history; se mantuvo compatibilidad hacia atrás ya que pdsObjectId se compone de unitOfWorkId y el nombre del tipo.

    • Se desaprobaron getLatestByUnitOfWorkIdAndName y getHistoryByUnitOfWorkIdAndName, en favor de getByOdsObjectId y getHistoryByPdsObjectId

    • Se desaprobó GetPdsObjectRequest en favor de GetPdsRequest que solo depende de odsObjectId en lugar de unitOfWorkId y un nombre de tipo.

    • Se desaprobó GetHistoryRequest en favor de GetPdsHistoryRequest que solo depende de pdsObjectId en lugar de unitOfWorkId y un nombre de tipo (pdsObjectId se compone de unitOfWorkId y el nombre de tipo, por lo que es equivalente).

  • Cambio de ruta de configuración para la tarea de enriquecimiento de Identidad

    • La ruta de configuración para la tarea de mantenimiento Summary Identity Enrichment se actualizó de ods.persistence.housekeeping.summary.identity-enrichment a ods.housekeeping.summary-identity-enrichment.

    • Por compatibilidad hacia atrás, el enriquecedor de identidad aún soporta las rutas de configuración antiguas. Si se especifican tanto las rutas nuevas como las antiguas, la nueva ruta tendrá prioridad.

    • La tabla siguiente lista todas las claves de configuración afectadas y sus nuevos valores correspondientes

Configuración previa Nueva configuración

ods.persistence.housekeeping.summary.identity-enrichment.enabled

ods.housekeeping.summary-identity-enrichment.enabled

ods.persistence.housekeeping.summary.identity-enrichment.initial-delay

ods.housekeeping.summary-identity-enrichment.initial-delay

ods.persistence.housekeeping.summary.identity-enrichment.frequency

ods.housekeeping.summary-identity-enrichment.frequency

ods.persistence.housekeeping.summary.identity-enrichment.restart-settings.min-backoff

ods.housekeeping.summary-identity-enrichment.restart-settings.min-backoff

ods.persistence.housekeeping.summary.identity-enrichment.restart-settings.max-backoff

ods.housekeeping.summary-identity-enrichment.restart-settings.max-backoff

ods.persistence.housekeeping.summary.identity-enrichment.restart-settings.jitter-factor

ods.housekeeping.summary-identity-enrichment.restart-settings.jitter-factor

  • Reformateo de transactionData en la API de detalles de ODS (/api/v2/views/details/{unitOfWorkId})

    El campo transactionData ahora devuelve un objeto vacío y está desaprobado.
    • Nuevo campo mds añadido al esquema de detalles, que devuelve todos los mdsObjects más recientes para un unitOfWorkId, agrupados por tipo de objeto MDS.

  • Hacer que los datos de ODS sean agnósticos de versión

    • Los tipos PDS de CSM y PaymentType ahora son configurables para métricas, pero también tienen una configuración predeterminada si usa IPF y no tipos específicos de cliente.

    • Los valores PDS para métricas ahora se extraen a través de configuración usando notación JsonPointer; se mantuvo compatibilidad hacia atrás para notación de puntos.

      • Para migrar de notación de puntos a notación JsonPointer, deberá reemplazar todos los puntos . por barras / y añadir una barra / al inicio de su ruta; esto se debe a que JsonPointer requiere una barra inicial para indicar la raíz de la ruta. A continuación un ejemplo:

Antes:
ipf.business-metrics-processor.payment-metrics {
    currency {
      pds-type = SomeClientSpecificPdsType
      path = "details.paymentAmount.currency"
    }
}
Después:
ipf.business-metrics-processor.payment-metrics {
    currency {
      pds-type = SomeClientSpecificPdsType
      path = "/details/paymentAmount/currency"
    }
}

Corregido

  • Ahora existe la posibilidad de emitir OdsIngestionFailed (evento de sistema) en ODS cuando falla la ingestión. Requiere configuración explicada en la documentación de ODS. PAY-13828

  • Ahora existe la posibilidad de emitir ArchiveBundlingFailed (evento de sistema) en archiving cuando falla el empaquetado. Requiere configuración explicada en la documentación de archiving. PAY-13828