Documentation for a newer release is available. View Latest

Alcance CSM (Reachability) - Cambios y Correcciones

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

API de CSM Reachability

Nuevo

  • Nuevos atributos de solicitud para el endpoint determine-processing-entity - deriveDirectParticipant y csmAgentId.

  • Cuando deriveDirectParticipant se establece en true, el servicio CSM Reachability buscará un participante directo asociado con el identificador de entidad proporcionado antes de usar el identificador del participante directo derivado para derivar la Entidad de Proceso. El valor predeterminado es false.

CSM Reachability

Nuevo

  • Nuevo campo buscable agentParticipantCsmAgentId para AgentSettings.

  • Nuevo atributo de configuración que se utiliza para la generación de todos los endpoints de API para una configuración en particular. También se utilizan en la construcción index-config.<setting-type> que se describe a continuación.

    • Processing Entity: SETTING_TYPE = "processingentity".

    • Party Entity: SETTING_TYPE = "partyentity".

    • Generic Processing Settings: SETTING_TYPE = "genericprocessingsettings".

    • Agent Clearing Settings: SETTING_TYPE = "agentclearingsettings".

    • Cs Agent Selection Settings: SETTING_TYPE = "csagentselectionsettings".

    • Agent Settings: SETTING_TYPE = "agentsettings".

    • Agent Settlement Settings: SETTING_TYPE = "agentsettlementsettings".

    • Participant Settings: SETTING_TYPE = "participant".

    • Exclusion List Settings: SETTING_TYPE = "exclusionlist".

    • IbanPlus Settings: SETTING_TYPE = "ibanplus"

    • IbanStructure Settings: SETTING_TYPE = ibanstructure"

    • BicDir2018 Settings: SETTING_TYPE = "bicdir2018"

  • DPS v2 permite configurar índices a través de configuración HOCON. Todos los índices existentes para cada configuración se agregan mediante nuevos parámetros de configuración:

    • ipf.dps.mongodb.index-config.processingentity

    • ipf.dps.mongodb.index-config.partyentity

    • ipf.dps.mongodb.index-config.genericprocessingsettings

    • ipf.dps.mongodb.index-config.agentclearingsetting

    • ipf.dps.mongodb.index-config.csagentselectionsetting

    • ipf.dps.mongodb.index-config.agentsettingsettings

    • ipf.dps.mongodb.index-config.agentsettlementsettings

    • ipf.dps.mongodb.index-config.participant

    • ipf.dps.mongodb.index-config.exclusionlist

    • ipf.dps.mongodb.index-config.ibanplus

    • ipf.dps.mongodb.index-config.ibanstructure

    • ipf.dps.mongodb.index-config.bicdir2018

  • Los índices pueden añadirse mediante estas propiedades. Tenga en cuenta que los campos dentro del payload de la configuración deben definirse como ["values.payload.fields"]. Ejemplo de creación de índice:

ipf.dps.mongodb.index-config.agentsettlementsettings.index-3 = ["values.payload.agentUniqueId:ASC"]
  • Nuevas propiedades para habilitar notificaciones a nivel de configuración:

    ipf.csm-reachability.should-send-notification.agent-clearing-settings-settings = false
    ipf.csm-reachability.should-send-notification.agent-settings-settings = false
    ipf.csm-reachability.should-send-notification.agent-settlement-settings-settings = false
    ipf.csm-reachability.should-send-notification.cs-agent-selection-settings-settings = false
    ipf.csm-reachability.should-send-notification.generic-processing-settings-settings = false
    ipf.csm-reachability.should-send-notification.participant-settings = false
    ipf.csm-reachability.should-send-notification.party-entity-settings = false
    ipf.csm-reachability.should-send-notification.processing-entity-settings = false
    ipf.csm-reachability.should-send-notification.exclusion-list-settings = false
    ipf.csm-reachability.should-send-notification.iban-plus-settings = false
    ipf.csm-reachability.should-send-notification.iban-structure-settings = false
    ipf.csm-reachability.should-send-notification.bicdir2018-settings = false
  • Estas notificaciones están deshabilitadas por defecto para cada una de estas configuraciones.

CAMBIOS INCOMPATIBLES

  • Los módulos de repositorio de configuración se eliminan del proyecto CSM Reachability. Toda la configuración ahora está bajo los módulos de dominio de configuración.

  • Se eliminan los siguientes módulos:

    • setting-processingentity-repository

    • setting-partyentity-repository

    • setting-genericprocessingsettings-repository

    • setting-agentclearingsettings-repository

    • setting-csagentselectionsettings-repository

    • setting-agentsettings-repository

    • setting-agentsettlementsettings-repository

    • setting-participant-repository

    • setting-ibanplus-repository

    • setting-exclusionlist-repository

    • setting-ibanstructure-repository

    • setting-bicvalidationfilehandling-repository

  • Dado que DPS v2 proporciona conectores y consultas directas de fábrica, se elimina la siguiente configuración de conectores de csm-reachability:

    • ipf.csm-reachability.settings-api.connector.processing-entity

    • ipf.csm-reachability.settings-api.connector.party-entity

    • ipf.csm-reachability.settings-api.connector.generic-processing-settings

    • ipf.csm-reachability.settings-api.connector.agent-clearing-settings

    • ipf.csm-reachability.settings-api.connector.cs-agent-selection-settings

    • ipf.csm-reachability.settings-api.connector.agent-settings

    • ipf.csm-reachability.settings-api.connector.agent-settlement-settings

    • ipf.csm-reachability.settings-api.connector.participant

    • ipf.csm-reachability.settings-api.connector.participant-batch

    • ipf.csm-reachability.settings-api.connector.participant-get-ids

    • ipf.csm-reachability.settings-api.connector.exclusion-list

    • ipf.csm-reachability.settings-api.connector.exclusion-list-batch

    • ipf.csm-reachability.settings-api.connector.exclusion-list-get-ids

    • ipf.csm-reachability.settings-api.connector.get-all-iban-plus

    • ipf.csm-reachability.settings-api.connector.get-all-iban-structure

    • ipf.csm-reachability.settings-api.connector.get-batch-iban-structure

  • Se usa esta configuración en su lugar:

ipf.dps-api {
  http.client {
    host = "localhost"
    endpoint-url = "/settings-objects/"
    port = 8080
  }
  http.client = ${?settings-api.http.client}

  connection = http
  connection = ${?settings-api.connection}
  connector {
    search-setting = ${ipf.dps-api.default-connector}
    search-ids-setting = ${ipf.dps-api.default-connector}
    search-request-setting = ${ipf.dps-api.default-connector}
    delete-setting = ${ipf.dps-api.default-connector}
    get-scheduled-settings = ${ipf.dps-api.default-connector}
    get-scheduled-setting = ${ipf.dps-api.default-connector}
    delete-scheduled-setting = ${ipf.dps-api.default-connector}
    update-scheduled-setting = ${ipf.dps-api.default-connector}
    create-setting = ${ipf.dps-api.default-connector}
    update-setting = ${ipf.dps-api.default-connector}
    get-setting = ${ipf.dps-api.default-connector}
    setting-schemas = ${ipf.dps-api.default-connector}
    history-settings = ${ipf.dps-api.default-connector}
    approve-settings = ${ipf.dps-api.default-connector}
    get-approvals-setting = ${ipf.dps-api.default-connector}
    get-approval-setting = ${ipf.dps-api.default-connector}
    reject-setting = ${ipf.dps-api.default-connector}
  }

  default-connector {
    resiliency-settings {
      # Determina el número máximo de reintentos. Incluye el primer intento fallido.
      max-attempts = 2
      # Reintenta si el código de error HTTP está en la lista
      retryable-status-codes = [500, 503]
      # Número mínimo de llamadas (en una ventana deslizante) antes de que el disyuntor calcule la tasa de error para determinar la salud del transporte.
      minimum-number-of-calls = 10
    }
    resiliency-settings = ${?csm-reachability-api.resiliency-settings}
  }
}
  • La propiedad ipf.csm-reachability.settings-api.http.client se elimina y se usa la siguiente configuración para gestionar las APIs de gestión de configuraciones:

    ipf.dps-api {
      http.client {
        host = "localhost"
        endpoint-url = "/settings-objects/"
        port = 8080
      }
    }
  • En cada creación de configuración, DPS v2 consulta la colección settings-approvals para verificar si esa configuración ya fue creada y está esperando aprobación. Por lo tanto, debe crearse la colección settings-approvals.

  • DPS v2 introduce configuraciones programadas y utiliza Persistent Scheduler para su mantenimiento. Para configurar correctamente el programador persistente es necesario crear dos nuevas colecciones y sus índices.

  • Debe añadirse la siguiente configuración a su base de datos (ejemplo cosmos-schema.yaml):

- name: settings-approvals
  shard_key: _id
  throughput: 10000
  additional_indexes:
    - keys:
        - entityId
      unique: false
    - keys:
        - resolvedStatus
      unique: false
    - keys:
        - entityCollection
      unique: false
    - keys:
        - lastUpdatedAt
      unique: false
- name: jobSpecification
  throughput: 400
  default_ttl_seconds: 3600 # should be tied to deleteTime
  additional_indexes:
    - keys:
        - deleteTime
      unique: false
    - keys:
        - _id.jobSpecificationId
        - _id.lastUpdated
      unique: false
- name: jobExecutionStatus
  throughput: 400
  default_ttl_seconds: 3600 # should be tied to deleteTime
  additional_indexes:
    - keys:
        - deleteTime
      unique: false
    - keys:
        - _id.jobSpecificationId
        - _id.lastUpdated
      unique: false

NOTA: Los clientes que usan Cosmos deben desactivar la creación automática de índices estableciendo la siguiente propiedad:

  ipf.mongodb.create-indexes = false

Ingesta de Datos

Cambiado

  • DPS v2 proporciona conectores y consultas directas, y en csm-reachability usamos esa implementación (se elimina la implementación personalizada de csm-reachability).

  • Para configurar correctamente la ingesta de archivos, debemos establecer las siguientes propiedades:

    # opciones posibles ['direct' | 'connector'], el valor por defecto es 'direct' desde DpsClientDirectAutoConfiguration y DpsClientConnectorAutoConfiguration respectivamente
    ipf.dps-api.client-type = "direct"
    # opciones posibles ['direct' | 'http'], el valor por defecto es 'direct' desde ApiDirectQueryConfiguration y CsmSettingsApiConnectorConfiguration respectivamente
    ipf.csm-reachability.settings-api.connection = "direct"

     # opciones posibles ['direct' | 'http'], el valor por defecto es 'direct' desde GenericFileConverterConfiguration
    ipf.csm-reachability.settings-api.file-handling.connection = "direct"
  • Las dos primeras propiedades deben coincidir (direct-direct o connector-http) para configurar correctamente las consultas directas o la implementación del conector de DPS v2.

Corregido

  • La convención de nombres de archivos para TIPS File Ingestion se corrige, el formato es TIPSXXXTTTTYYYYMMDD.

    • TTTT es el tipo, p. ej. FULL para la versión completa y DLTA para la versión delta. XXX es la moneda relacionada con los registros incluidos en el directorio; YYYYMMDD especifica año, mes y día de validez del Directorio TIPS.

CAMBIOS INCOMPATIBLES

  • Dado que DPS v2 proporciona conectores y consultas directas de fábrica, se elimina la siguiente configuración de csm-reachability-data-ingestion:

    • ipf.csm-reachability.settings-api.connector.settings-api-rr

    • ipf.csm-reachability.settings-api.http.client

  • Se usa esta configuración en su lugar:

    ipf.dps-api {
      http.client {
        host = "localhost"
        endpoint-url = "/settings-objects/"
        port = 8080
      }
    }