Resumen Mapping
Los resúmenes son "proyecciones" de un unit of work, y se basan en datos recibidos por ODS. Representan el actual state of a unit of work, y puede ser buscado por una serie de diferentes campos.
Estos datos están "mapeados" en campos de resumen predefinidos, y por extension, algunos campos de búsqueda indexados, a través de la combinación de core, predeterminado, y custom mappings.
-
Núcleo mappings son generalmente esenciales para ODS funcionalidad, y no pueden ser anulados o customised.
-
Predeterminado mappings son los proporcionados por ODS listo para usar, y se aplican a ISO20022 MDS tipos y PDS tipos.
-
Personalizado mappings son específicos de la solución, y pueden anular el valor predeterminado mappings.
| Datos de origen | Core Mappings | Predeterminado Mappings | Customisable |
|---|---|---|---|
ISO20022 MDS |
Sí |
Sí |
Sí |
IPF PDS |
Sí |
Sí |
Sí |
Custom PDS |
No |
No |
Sí |
IPF Processing Data |
Sí |
No |
No |
Ambos MDS/PDS mappings tiene valores predeterminados y custom mappings.
Core Mappings
ISO20022 MDS
| Nombre del Campo | Fuente | Notas | Secuencia |
|---|---|---|---|
instrucción Recibida En |
pain. 001(fuente event timestamp) pacs. 008(fuente event timestamp) pacs. 004(fuente event timestamp) camt. 029( camt. 056( |
Poblado al recibir cada mensaje |
Más temprano |
ejecución Iniciada En |
pacs. 008(fuente event timestamp) |
Poblado al recibir cada mensaje |
Más temprano |
settlementCompletedAt |
pacs. 002(fuente event timestamp) |
Poblado al recibir cada mensaje |
Último |
IPF PDS
| Nombre del Campo | Fuente | Secuencia |
|---|---|---|
tipoDeViaje |
|
Siempre actualiza si hay un cambio. |
tipoDePago |
|
Último |
csm |
|
Último |
zonaHoraria |
|
Último |
prioridad |
|
Último |
relatedUnitOfWorkId |
|
Siempre actualiza si hay un cambio, pero no debe cambiar durante la vida útil de un unit of work |
Process Flow Event
| Nombre del Campo | Fuente | Secuencia | Notas |
|---|---|---|---|
tipoDeViaje |
|
Siempre actualiza si hay un cambio. |
Obsoleto |
tipoDePago |
|
Último |
Obsoleto |
csm |
|
Último |
Obsoleto |
zonaHoraria |
|
Último |
Obsoleto |
prioridad |
|
Último |
Obsoleto |
relatedUnitOfWorkId |
|
Siempre actualiza si hay un cambio, pero no debe cambiar durante la vida útil de un unit of work |
Obsoleto |
reasonText |
|
Último |
|
reasonCode |
|
Último |
|
startedAt |
|
Más temprano |
Típicamente, la marca de tiempo del primero event |
terminal |
|
Último |
Busca el process flow estado de process flow definitions para determinar si el state el cambio es terminal |
fallo |
|
Último |
Busca el process flow estado de process flow definitions para determinar si el state el cambio es un fracaso |
Predeterminado Mappings
| Campo de Resumen | Fuentes |
|---|---|
fecha YHora De Aceptación |
Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/accptncDtTm] |
batchBooking |
Instrucción De Pago {pain. 001. 001. 09}@[/btchBookg] |
cancellationId |
Transacción De Pago {camt. 056. 001. 08}@[/cxlId] |
chargeAmount |
Transacción De Pago {pacs. 004. 001. 09}@[/chrgsInf/0/amt/value] |
cargoMontoMoneda |
Transacción De Pago {pacs. 004. 001. 09}@[/chrgsInf/0/amt/ccy] |
controlSum |
CustomerCreditTransferInitiation{pain. 001. 001. 09}@[/grpHdr/ctrlSum] Instrucción De Pago {pain. 001. 001. 09}@[/ctrlSum] |
cantidad De Transacción Convertida |
Fx@[/convertedCurrencyAndAmount/value] |
convertedTransactionAmountCurrency |
Fx@[/convertedCurrencyAndAmount/ccy] |
cuenta De Crédito |
Notificación De Cuenta {camt. 054. 001. 10}@[/acct/id/othr/id o /acct/prxy/id o /acct/id/iban] cuando @[/ntry/0/cdtDbtInd] == "CRDT" |
monto De Crédito |
Notificación De Cuenta {camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/anncdPstngAmt/amt/value] cuando @[/ntry/0/cdtDbtInd] == "CRDT" |
creditAmountCurrency |
Notificación De Cuenta {camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/anncdPstngAmt/amt/ccy] cuando @[/ntry/0/cdtDbtInd] == "CRDT" |
cuentaAcreedora |
Transacción De Transferencia De Crédito {pain. 001. 001. 09}@[/cdtrAcct/id/iban o /cdtrAcct/id/othr/id] Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/cdtrAcct/id/iban o /cdtrAcct/id/othr/id] Transacción De Pago {pacs. 004. 001. 09}@[/orgnlTxRef/cdtrAcct/id/iban o /orgnlTxRef/cdtrAcct/id/othr/id] Transacción De Pago {camt. 029. 001. 09}@[/orgnlTxRef/cdtrAcct/id/iban o /orgnlTxRef/cdtrAcct/id/othr/id] Transacción De Pago {camt. 056. 001. 08}@[/orgnlTxRef/cdtrAcct/id/iban o /orgnlTxRef/cdtrAcct/id/othr/id] RequestToModifyPayment {camt. 087. 001. 06}@[/mod/cdtrAcct/id/iban o /mod/cdtrAcct/id/othr/id] |
agenteBICdelacreedor |
Transacción De Transferencia De Crédito {pain. 001. 001. 09}@[/cdtrAgt/finInstnId/bicfi] Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/cdtrAgt/finInstnId/bicfi] Transacción De Pago {pacs. 004. 001. 09}@[/orgnlTxRef/cdtrAgt/finInstnId/bicfi] Transacción De Pago {camt. 029. 001. 09}@[/orgnlTxRef/cdtrAgt/finInstnId/bicfi] Transacción De Pago {camt. 056. 001. 08}@[/orgnlTxRef/cdtrAgt/finInstnId/bicfi] |
creditorBIC |
Transacción De Transferencia De Crédito {pain. 001. 001. 09}@[/cdtr/id/orgId/anyBIC] Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/cdtr/id/orgId/anyBIC] SolicitudParaModificarPago {camt. 087. 001. 06}@[/mod/cdtr/id/orgId/anyBIC] |
nombreDelAcreedor |
Transacción De Transferencia De Crédito {pain. 001. 001. 09}@[/cdtr/nm] Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/cdtr/nm] Transacción De Pago {pacs. 004. 001. 09}@[/orgnlTxRef/cdtr/pty/nm] Transacción De Pago {camt. 029. 001. 09}@[/orgnlTxRef/cdtr/pty/nm] Transacción De Pago {camt. 056. 001. 08}@[/orgnlTxRef/cdtr/pty/nm] RequestToModifyPayment {camt. 087. 001. 06}@[/mod/cdtr/nm] |
csm |
Csm@[/value] |
cuenta De Débito |
Notificación De Cuenta {camt. 054. 001. 10}@[/acct/id/othr/id o /acct/prxy/id o /acct/id/iban] cuando @[/ntry/0/cdtDbtInd] == "DBIT" |
monto Débito |
Notificación De Cuenta {camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/anncdPstngAmt/amt/value] cuando @[/ntry/0/cdtDbtInd] == "DBIT" |
monto De Débito Moneda |
Notificación De Cuenta {camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/anncdPstngAmt/amt/ccy] cuando @[/ntry/0/cdtDbtInd] == "DBIT" |
cuentaDeudora |
Instrucción De Pago {pain. 001. 001. 09}@[/dbtrAcct/id/iban o /dbtrAcct/id/othr/id] Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/dbtrAcct/id/iban o /dbtrAcct/id/othr/id] Transacción De Pago {pacs. 004. 001. 09}@[/orgnlTxRef/dbtrAcct/id/iban o /orgnlTxRef/dbtrAcct/id/othr/id] Transacción De Pago {camt. 029. 001. 09}@[/orgnlTxRef/dbtrAcct/id/iban o /orgnlTxRef/dbtrAcct/id/othr/id] Transacción De Pago {camt. 056. 001. 08}@[/orgnlTxRef/dbtrAcct/id/iban o /orgnlTxRef/dbtrAcct/id/othr/id] RequestToModifyPayment {camt. 087. 001. 06}@[/mod/dbtrAcct/id/iban o /mod/dbtrAcct/id/othr/id] |
debtorAgentBIC |
Instrucción De Pago {pain. 001. 001. 09}@[/dbtrAgt/finInstnId/bicfi] Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/dbtrAgt/finInstnId/bicfi] Transacción De Pago {pacs. 004. 001. 09}@[/orgnlTxRef/dbtrAgt/finInstnId/bicfi] Transacción De Pago {camt. 029. 001. 09}@[/orgnlTxRef/dbtrAgt/finInstnId/bicfi] Transacción De Pago {camt. 056. 001. 08}@[/orgnlTxRef/dbtrAgt/finInstnId/bicfi] |
deudorBIC |
Instrucción De Pago {pain. 001. 001. 09}@[/dbtr/id/orgId/anyBIC] Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/dbtr/id/orgId/anyBIC] SolicitudParaModificarPago {camt. 087. 001. 06}@[/mod/dbtr/id/orgId/anyBIC] |
nombreDelDeudor |
Instrucción De Pago {pain. 001. 001. 09}@[/dbtr/nm o /dbtrAcct/nm] Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/dbtr/nm] Transacción De Pago {pacs. 004. 001. 09}@[/orgnlTxRef/dbtr/pty/nm] Transacción De Pago {camt. 029. 001. 09}@[/orgnlTxRef/dbtr/pty/nm] Transacción De Pago {camt. 056. 001. 08}@[/orgnlTxRef/dbtr/pty/nm] RequestToModifyPayment {camt. 087. 001. 06}@[/mod/dbtr/nm] |
tipoDeCambio |
Fx@[/tipoDeCambio] |
initiatingPartyName |
CustomerCreditTransferInitiation{pain. 001. 001. 09}@[/grpHdr/initgPty/nm] |
instruidoAgente |
FITo FICustomer Credit Transfer {pacs. 008. 001. 08}@[/grpHdr/instdAgt/finInstnId/bicfi] Devolución De Pago {pacs. 004. 001. 09}@[/grpHdr/instdAgt/finInstnId/bicfi] Transacción De Pago {pacs. 004. 001. 09}@[/instdAgt/finInstnId/bicfi] |
instruidoCantidad |
Transacción De Transferencia De Crédito {pain. 001. 001. 09}@[/amt/instdAmt/value] Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/amt/instdAmt/value] Notificación De Cuenta {camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/instdAmt/amt/value] RequestToModifyPayment {camt. 087. 001. 06}@[/mod/amt/instdAmt/value] |
instrucción Cantidad Moneda |
Transacción De Transferencia De Crédito {pain. 001. 001. 09}@[/amt/instdAmt/ccy] Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/amt/instdAmt/ccy] Notificación De Cuenta {camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/instdAmt/amt/ccy] RequestToModifyPayment {camt. 087. 001. 06}@[/mod/amt/instdAmt/ccy] |
partesInstruidas |
Solicitud De Cancelación De Pago FITo FIP {camt. 056. 001. 08}@[/assgnmt/assgne/agt/finInstnId/bicfi o /assgnmt/assgne/agt/finInstnId/lei o /assgnmt/assgne/agt/finInstnId/nm o /assgnmt/assgne/pty/id/orgId/cualquierBIC] |
instruyendoAgente |
FITo FICustomer Credit Transfer {pacs. 008. 001. 08}@[/grpHdr/instgAgt/finInstnId/bicfi] Devolución De Pago {pacs. 004. 001. 09}@[/grpHdr/instgAgt/finInstnId/bicfi] Transacción De Pago {pacs. 004. 001. 09}@[/instgAgt/finInstnId/bicfi] |
instruyendoParte |
Solicitud De Cancelación De Pago FITo FIP {camt. 056. 001. 08}@[/assgnmt/assgnr/agt/finInstnId/bicfi o /assgnmt/assgnr/agt/finInstnId/lei o /assgnmt/assgnr/agt/finInstnId/nm o /assgnmt/assgnr/pty/id/orgId/cualquierBIC] |
instructionId |
Transacción De Transferencia De Crédito {pain. 001. 001. 09}@[/pmtId/instrId] Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/pmtId/instrId] RequestToModifyPayment {camt. 087. 001. 06}@[/mod/instrId] |
fecha De Liquidación Interbancaria |
FITo FICustomer Credit Transfer {pacs. 008. 001. 08}@[/grpHdr/intrBkSttlmDt] Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/intrBkSttlmDt] Devolución De Pago {pacs. 004. 001. 09}@[/grpHdr/intrBkSttlmDt] RequestToModifyPayment {camt. 087. 001. 06}@[/mod/intrBkSttlmDt] |
tipoDeViaje |
JourneyType@[/value] |
messageId |
CustomerCreditTransferInitiation{pain. 001. 001. 09}@[/grpHdr/msgId] FITo FICustomer Credit Transfer {pacs. 008. 001. 08}@[/grpHdr/msgId] Devolución De Pago {pacs. 004. 001. 09}@[/grpHdr/msgId] |
número De Transacciones |
CustomerCreditTransferInitiation{pain. 001. 001. 09}@[/grpHdr/nbOfTxs] Instrucción De Pago {pain. 001. 001. 09}@[/nbOfTxs] FITo FICustomer Credit Transfer {pacs. 008. 001. 08}@[/grpHdr/nbOfTxs] |
originalEndToEndId |
Transacción De Pago {pacs. 004. 001. 09}@[/orgnlEndToEndId] Transacción De Pago {camt. 029. 001. 09}@[/orgnlEndToEndId] Transacción De Pago {camt. 056. 001. 08}@[/orgnlEndToEndId] RequestToModifyPayment {camt. 087. 001. 06}@[/undrlyg/initn/orgnlEndToEndId o /undrlyg/intrBk/orgnlEndToEndId] |
originalInstructionId |
Transacción De Pago {pacs. 004. 001. 09}@[/orgnlInstrId] Transacción De Pago {camt. 029. 001. 09}@[/orgnlInstrId] Transacción De Pago {camt. 056. 001. 08}@[/orgnlInstrId] RequestToModifyPayment {camt. 087. 001. 06}@[/undrlyg/initn/orgnlInstrId o /undrlyg/intrBk/orgnlInstrId] |
originalInterbankSettlementDate |
Transacción De Pago {pacs. 004. 001. 09}@[/orgnlTxRef/intrBkSttlmDt o /orgnlIntrBkSttlmDt] Transacción De Pago {camt. 029. 001. 09}@[/orgnlTxRef/intrBkSttlmDt o /orgnlIntrBkSttlmDt] Transacción De Pago {camt. 056. 001. 08}@[/orgnlTxRef/intrBkSttlmDt o /orgnlIntrBkSttlmDt] RequestToModifyPayment {camt. 087. 001. 06}@[/undrlyg/intrBk/orgnlIntrBkSttlmDt] |
originalMessageId |
Devolución De Pago {pacs. 004. 001. 09}@[/orgnlGrpInf/orgnlMsgId] Transacción De Pago {pacs. 004. 001. 09}@[/orgnlMsgId o /orgnlGrpInf/orgnlMsgId] Transacción De Pago {camt. 029. 001. 09}@[/orgnlMsgId o /orgnlGrpInf/orgnlMsgId] Transacción De Pago {camt. 056. 001. 08}@[/orgnlMsgId or /orgnlGrpInf/orgnlMsgId] RequestToModifyPayment {camt. 087. 001. 06}@[/undrlyg/initn/orgnlGrpInf/orgnlMsgId o /undrlyg/intrBk/orgnlGrpInf/orgnlMsgId] |
monto Transacción Original |
Transacción De Pago {pacs. 004. 001. 09}@[/orgnlTxRef/intrBkSttlmAmt/value o /orgnlIntrBkSttlmAmt/value] Transacción De Pago {camt. 029. 001. 09}@[/orgnlTxRef/intrBkSttlmAmt/value o /orgnlIntrBkSttlmAmt/value] Transacción De Pago {camt. 056. 001. 08}@[/orgnlTxRef/intrBkSttlmAmt/value o /orgnlIntrBkSttlmAmt/value] RequestToModifyPayment {camt. 087. 001. 06}@[/undrlyg/intrBk/orgnlIntrBkSttlmAmt/value] |
monto Original De La Transacción Moneda |
Transacción De Pago {pacs. 004. 001. 09}@[/orgnlTxRef/intrBkSttlmAmt/ccy o /orgnlIntrBkSttlmAmt/ccy] Transacción De Pago {camt. 029. 001. 09}@[/orgnlTxRef/intrBkSttlmAmt/ccy o /orgnlIntrBkSttlmAmt/ccy] Transacción De Pago {camt. 056. 001. 08}@[/orgnlTxRef/intrBkSttlmAmt/ccy o /orgnlIntrBkSttlmAmt/ccy] RequestToModifyPayment {camt. 087. 001. 06}@[/undrlyg/intrBk/orgnlIntrBkSttlmAmt/ccy] |
originalTransactionId |
Transacción De Pago {pacs. 004. 001. 09}@[/orgnlTxId] Transacción De Pago {camt. 029. 001. 09}@[/orgnlTxId] Transacción De Pago {camt. 056. 001. 08}@[/orgnlTxId] RequestToModifyPayment {camt. 087. 001. 06}@[/undrlyg/intrBk/orgnlTxId] |
paymentInformationId |
Instrucción De Pago {pain. 001. 001. 09}@[/pmtInfId] |
tipoDePago |
PaymentType@[/value] |
prioridad |
Priority@[/value] |
relatedUnitOfWork |
RelatedUnitOfWork@[/value] |
requestedExecutionDate |
Instrucción De Pago {pain. 001. 001. 09}@[/reqdExctnDt/dtTm or /reqdExctnDt/dt] RequestToModifyPayment {camt. 087. 001. 06}@[/mod/reqdExctnDt/dtTm or /mod/reqdExctnDt/dt] |
returnId |
Transacción De Pago {pacs. 004. 001. 09}@[/rtrId] |
cantidadDevuelta |
Transacción De Pago {pacs. 004. 001. 09}@[/rtrdIntrBkSttlmAmt/value] |
returnedAmountCurrency |
Transacción De Pago {pacs. 004. 001. 09}@[/rtrdIntrBkSttlmAmt/ccy] |
zonaHoraria |
TimeZone@[/value] |
totalAmount |
FITo FICustomer Credit Transfer {pacs. 008. 001. 08}@[/grpHdr/ttlIntrBkSttlmAmt/value] |
totalAmountCurrency |
FITo FICustomer Credit Transfer {pacs. 008. 001. 08}@[/grpHdr/ttlIntrBkSttlmAmt/ccy] |
monto De Transacción |
Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/intrBkSttlmAmt/value] Notificación De Cuenta {camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/txAmt/amt/value] RequestToModifyPayment {camt. 087. 001. 06}@[/mod/intrBkSttlmAmt/value] Fx@[/originalCurrencyAndAmount/value] |
transactionAmountCurrency |
Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/intrBkSttlmAmt/ccy] Notificación De Cuenta {camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/txAmt/amt/ccy] RequestToModifyPayment {camt. 087. 001. 06}@[/mod/intrBkSttlmAmt/ccy] Fx@[/originalCurrencyAndAmount/ccy] |
transactionId |
Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/pmtId/txId] RequestToModifyPayment {camt. 087. 001. 06}@[/mod/txId] |
uetr |
Transacción De Transferencia De Crédito {pain. 001. 001. 09}@[/pmtId/uetr] Transacción De Transferencia De Crédito {pacs. 008. 001. 08}@[/pmtId/uetr] |
Customisation
Customising campos de resumen y mappings requiere construir su propio JAR que contenga el custom campos y mappings, y empaquetando eso dentro de un desplegable ODS Ingestion aplicación para que forme parte del classpath.
Es posible que customise el predeterminado mappings para los campos de resumen existentes, y también, defina campos de resumen completamente nuevos, para los cuales deberá definir los suyos propios mappings.
Customising mappings para los campos de resumen existentes
Todo predeterminado mappings puede ser customised/overridden. Cuando un custom mapping apunta al mismo campo que un valor predeterminado mapping, el predeterminado mapping está deshabilitado. A custom mapping para un campo de resumen podría deshabilitar uno o más valores predeterminados mappings.
Dado el messageId el campo se mapea por defecto desde un pain. 001 CustomerCreditTransferInitiation, a pacs. 008 FIToFICustomerCreditTransfer, o un pacs. 004 PaymentReturn - Si un custom mapping debían ser definidos con el mismo objetivo messageId campo, los tres predeterminados mappings sería deshabilitado.
Todo mappings, incluyendo custom mappings, se definen en el código, con una única fuente y un único campo de resumen de destino, y hay dos tipos de mappers.
- ::INFO
-
Cuando sea posible, prefiera el JSON mappers. Objeto directo mappers incurrir en un costo adicional de deserialización y requerir que el tipo de destino esté disponible en tiempo de ejecución. Objeto directo mapping es apropiado cuando el valor debe ser transformado antes de ser aplicado al resumen.
JSON Mappings
JSON mapping es una forma flexible de mapear en campos de resumen desde MDS y PDS objetos recibidos por ODS. Con este enfoque, los tipos de concreto no necesitan estar disponibles en tiempo de ejecución.
The mappings haga uso de link:https://www.javadoc.io/doc/com.fasterxml.jackson.core/jackson-core/2. 17. 2/com/fasterxml/jackson/core/JsonPointer.html[JsonPointer], que es un camino hacia un campo específico dentro de un JSON objeto, p. ej./grpHdr/msgId. La exploración de rutas es resistente a campos nulos/faltantes, y el campo dentro del JSON el objeto en la ruta designada se convierte/coerce al tipo de campo de resumen de destino cuando es necesario.
por ejemplo, una PaymentTransaction mapper espera un MDS objeto con el nombre de tipo "PaymentTransaction" y para que el objeto del mensaje original sea un pacs. 004
new JsonMdsMapper<>("PaymentTransaction", MessageNameSpecs.pacs004(), summaryFields.chargeAmount(), from("/chrgsInf/0/amt/value"));
El mapping se aplicará a cualquier "PaymentTransaction" que se originó de un pacs. 004.
Es posible mapear desde un PaymentTransaction que se originó a partir de cualquier objeto de mensaje, por ejemplo, un pacs. 004, o un camt. 056, o un camt. 029
new JsonMdsMapper<>("PaymentTransaction", MessageNameSpecs.any(), summaryFields.originalTransactionId(), from("/orgnlTxId"));
Y lo mismo puede expresarse de manera más explícita.
new JsonMdsMapper<>("PaymentTransaction", pacs004().or(camt056()).or(camt029()), summaryFields.originalTransactionId(), from("/orgnlTxId"));
Mappings también puede ser consciente de la versión, haciendo uso de la versión del objeto de mensaje original, por ejemplo, donde el objeto de mensaje original es un `pacs. 004.xxx. 09`.
new JsonMdsMapper<>("PaymentTransaction", pacs004().atVersion("09"), summaryFields.interbankSettlementDate(), from("/grpHdr/intrBkSttlmDt"));
Objeto Directo Mappings
Objeto directo mappings requerir que el tipo de objeto fuente esté disponible en tiempo de ejecución, y el objeto recibido se convierte al tipo requerido cuando el nombre del tipo coincide. Esto permite custom mappings para llamar directamente a los métodos en el objeto fuente.
e.g., a pacs. 008 mapper espera la fuente FIToFICustomerCreditTransferV08, y tiene como objetivo el messageId campo de resumen.
new MdsMapper<>(FIToFICustomerCreditTransferV08.class, summaryFields.messageId(), it -> it.getGrpHdr().getMsgId());
Se adopta el mismo enfoque para custom PDS mappings, p. ej., un mapper que espera un cliente específico PDS tipo y objetivos el messageId campo de resumen.
new PdsMapper<>(ClientSpecificPdsType.class, "ClientSpecificPdsType", summaryFields.messageId(), it -> ClientSpecificPdsType::getValue);
Configurando Custom Mappings
Para aplicar custom mappings debe proporcionar un JAR que contenga la autoconfiguración de Spring que proporcione un com.iconsolutions.ipf.ods.summary. SummaryMappingConfigurer bean.
Defina un configurador de resumen bean
package com.client.ods;
import com.iconsolutions.ipf.ods.summary.MapperRegistry;
import com.iconsolutions.ipf.ods.summary.SummaryFields;
import com.iconsolutions.ipf.ods.summary.SummaryMappingConfigurer;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
@AutoConfiguration
class CustomSummaryMappingConfig {
@Bean
SummaryMappingConfigurer customSummaryMappingConfigurer() {
return new SummaryMappingConfigurer() {
@Override
public void configure(final MapperRegistry registry, final SummaryFields summaryFields) {
registry
.register(new PdsMapper<>(CustomPdsType.class, "CustomPdsType", summaryFields.messageId(), CustomPdsType::getFieldA))
.register(new JsonPdsMapper<>("CustomPdsType", summaryFields.transactionId(), from("/fieldB")));
}
};
}
static final class CustomPdsType {
private String fieldA;
private String fieldB;
public String getFieldA() {
return fieldA;
}
public void setFieldA(final String fieldA) {
this.fieldA = fieldA;
}
public String getFieldB() {
return fieldB;
}
public void setFieldB(final String fieldB) {
this.fieldB = fieldB;
}
}
}
Cree el archivo de importaciones de autoconfiguración de Spring.
Unresolved include directive in modules/ods/pages/summary-mapping.adoc - include::example$/summary-mappings/custom-ods/org.springframework.boot.autoconfigure. AutoConfiguration.imports[]
Creando custom campos de resumen
Es posible definir sus propios campos de resumen y asignar a esos campos con su propio custom mappings. Su custom campos, y el mappings que apuntan a esos campos son visibles en el diseño del resumen.
Para crear custom campos de resumen, y custom mappings, debe proporcionar un JAR que contenga la autoconfiguración de Spring que proporcione un com.iconsolutions.ipf.ods.summary. CustomSummaryMappingConfigurer bean.
Defina un custom interfaz de campos de resumen
package com.client.ods;
import com.iconsolutions.ipf.ods.summary.CustomSummaryFields;
import com.iconsolutions.ipf.ods.summary.Searchable;
import com.iconsolutions.ipf.ods.summary.SummaryField;
/**
* This interface MUST directly extend CustomSummaryFields. You do not need to implement this interface.
*/
public interface MyCustomSummaryFields extends CustomSummaryFields {
/**
* Only fields of type StringField may be searchable. Annotating a field that is not of type StringField will
* result in an exception at startup.
*/
@Searchable
SummaryField.StringField someSearchableId();
SummaryField.StringField someName();
SummaryField.BooleanField someFlag();
SummaryField.LongField someLong();
SummaryField.IntegerField someCount();
SummaryField.BigDecimalField someAmount();
SummaryField.DateField someDate();
SummaryField.DateTimeField someTimestamp();
SummaryField.DateOrDateTimeField someDateOrDateTime();
}
Defina un custom resumen configurador bean
package com.client.ods;
import com.iconsolutions.ipf.ods.summary.MapperRegistry;
import com.iconsolutions.ipf.ods.summary.SummaryFields;
import com.iconsolutions.ipf.ods.summary.CustomSummaryMappingConfigurer;
import com.iconsolutions.ipf.ods.summary.TypeReference;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
@AutoConfiguration
class CustomSummaryMappingConfig {
private static final TypeReference<CustomPdsType> customPdsType = new TypeReference<>() {
};
private static final String CUSTOM_PDS_TYPE = "CustomPdsType";
/**
* Your instance of CustomSummaryMappingConfigurer MUST be typed to your CustomSummaryFields subtype, in this
* case it is MyCustomSummaryFields.
*/
@Bean
CustomSummaryMappingConfigurer<MyCustomSummaryFields> customSummaryMappingConfigurer() {
return new SummaryMappingConfigurer() {
@Override
public void configure(final MapperRegistry registry, final MyCustomSummaryFields summaryFields) {
registry
//This mapping targets an existing summary field
.register(new PdsMapper<>(customPdsType, CUSTOM_PDS_TYPE, summaryFields.messageId(), CustomPdsType::getFieldA))
//This mapping targets a custom summary field
.register(new JsonPdsMapper<>(CUSTOM_PDS_TYPE, summaryFields.someSearchableId(), from("/fieldB")));
}
@Override
public Class<MyCustomSummaryFields> getSummaryFieldsType() {
return MyCustomSummaryFields.class;
}
};
}
static final class CustomPdsType {
private String fieldA;
private String fieldB;
public String getFieldA() {
return fieldA;
}
public void setFieldA(final String fieldA) {
this.fieldA = fieldA;
}
public String getFieldB() {
return fieldB;
}
public void setFieldB(final String fieldB) {
this.fieldB = fieldB;
}
}
}
Crear archivo de importaciones de autoconfiguración de Spring
Unresolved include directive in modules/ods/pages/summary-mapping.adoc - include::example$/summary-mappings/custom-ods/org.springframework.boot.autoconfigure. AutoConfiguration.imports[]
Los campos que usted define están limitados en su tipo, el conjunto actual de tipos posibles soportados es:
| Tipo | ¿Buscable? | Descripción |
|---|---|---|
|
Sí |
|
|
No |
|
|
No |
|
|
No |
|
|
No |
|
|
No |
El tipo subyacente es |
|
No |
Un tipo que representa una fecha y hora. Se presentan métodos de fábrica para ayudar a crear instancias de |
|
No |
Un tipo que puede representar ya sea una fecha, o una fecha y hora. Se presentan métodos de fábrica para ayudar a crear instancias de |
Los campos de resumen personalizables y buscables deben ser indexados. En ODS los campos buscables en un resumen se poblarán bajo searchFields, p. ej.searchFields.someId.
|
Desplegando customisations
Custom ODS Ingestion Docker Imagen
Un método de customising ODS es construir un custom ODS Ingestion docker imagen, utilizando el predeterminado ODS Ingestion docker imagen como base. Se pueden incluir JARs adicionales en este custom imagen, que contiene el customised resumen mappings.
Un ejemplo de tal customisation se puede ver en el ODS repositorio. Para aplicar custom mappings debe proporcionar un JAR que contenga la autoconfiguración de Spring que proporciona SummaryMappingConfigurer y CustomSUmmaryMappingConfigurer beans
ODS no suele ser consciente de custom PDS tipos, pero en esta configuración, su proyecto puede incluir el custom tipos en el código, o a través de dependencias externas, y estarán disponibles en el classpath.
Custom PDS los tipos son recibidos por ODS como un mapa de propiedades. El tipo es en realidad `Map<String, Object>`. ODS convertirá este mapa al tipo deseado y invocará el custom mapper con el valor convertido.
| Cualquier dependencia de terceros requerida por su custom mapping JAR también deberá ser incluido en el custom docker imagen. Dependencias como Spring/Spring Boot/Lombok etc. no necesitarán ser proporcionados, ya que ya son proporcionados por ODS. |
| Evite tener más dependencias para su custom mappers que es absolutamente necesario. Esto ayudará a evitar problemas de classpath. |
El conjunto de dependencias recomendado que su custom mapper JAR debe depender de
<dependencies>
<dependency>
<groupId>com.iconsolutions.ipf.ods</groupId>
<artifactId>ods-summary-mapping-api</artifactId>
<version>${ods.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<!-- Optional: Only required if customising ISO20022 MDS Mappings -->
<dependency>
<groupId>com.iconsolutions.iso20022.model</groupId>
<artifactId>message-model-types</artifactId>
<version>${iso-model.version}</version>
</dependency>
</dependencies>
Estos no necesitarán ser añadidos a su custom docker imagen, ya estarán presentes.
Además de estos, puede que necesite depender de otras bibliotecas que proporcionen su objetivo.custom PDS tipos. Estos deberán ser incluidos en el custom docker imagen junto con su custom mappers.
| Si su custom PDS los tipos son pequeños, puede optar por duplicarlos junto a su custom mappers, en lugar de incorporar otra dependencia. ODS podrá convertir en los tipos requeridos antes de invocar su mappers. |
Diseño del Resumen
El diseño del resumen, es decir, el conjunto de valores predeterminados y custom campos de resumen, el custom MDS y PDS mappings, cualquier predeterminado deshabilitado mappings, y el conjunto final general de mappings, está disponible en tiempo de ejecución.
Registro
El diseño del resumen se registra al iniciar.
Ejemplo de diseño de resumen de registro
[ForkJoinPool-1-worker-1] INFO com.iconsolutions.ipf.ods.summary. SummaryLayoutLogger -
-------------------------------------------------------------------------------------
Diseño del Resumen
-------------------------------------------------------------------------------------
---------------------------------------------------------------------------------
Mapas MDS deshabilitados
---------------------------------------------------------------------------------
Campo de destino | Tipo de Fuente
---------------------------------------------------------------------------------
messageId | CustomerCreditTransferInitiation{pain. 001. 001. 09}@[/grpHdr/msgId]
FITo FICustomer Credit Transfer{pacs. 008. 001. 08}@[/grpHdr/msgId]
PaymentReturn{pacs. 004. 001. 09}@[/grpHdr/msgId]
transactionId | CreditTransferTransaction{pacs. 008. 001. 08}@[/pmtId/txId]
RequestToModifyPayment{camt. 087. 001. 06}@[/mod/txId]
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
Mapas PDS personalizados
---------------------------------------------------------------------------------
Campo de destino | Tipo de Fuente
---------------------------------------------------------------------------------
messageId | SomeCustomPds@[/some/field/in/custom/pds/messageId]
transactionId | SomeCustomPds@[/some/field/in/custom/pds/transactionId]
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
Mapas Finales
---------------------------------------------------------------------------------
Campo objetivo | Tipo de Fuente
---------------------------------------------------------------------------------
fecha YHora De Aceptación | CreditTransferTransaction{pacs. 008. 001. 08}@[/accptncDtTm]
batchBooking | PaymentInstruction{pain. 001. 001. 09}@[/btchBookg]
cancellationId | PaymentTransaction{camt. 056. 001. 08}@[/cxlId]
montoDeCargo | PaymentTransaction{pacs. 004. 001. 09}@[/chrgsInf/0/amt/value]
cargoMontoMoneda | PaymentTransaction{pacs. 004. 001. 09}@[/chrgsInf/0/amt/ccy]
controlSum | CustomerCreditTransferInitiation{pain. 001. 001. 09}@[/grpHdr/ctrlSum]
PaymentInstruction{pain. 001. 001. 09}@[/ctrlSum]
cantidad De Transacción Convertida | Fx@[/convertedCurrencyAndAmount/value]
cantidad Monetaria Transacción Convertida | Fx@[/convertedCurrencyAndAmount/ccy]
cuenta De Crédito | AccountNotification{camt. 054. 001. 10}@[/acct/id/othr/id o /acct/prxy/id o /acct/id/iban] cuando @[/ntry/0/cdtDbtInd] == "CRDT"
monto De Crédito | AccountNotification{camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/anncdPstngAmt/amt/value] cuando @[/ntry/0/cdtDbtInd] == "CRDT"
cantidadMonetariaCredito | AccountNotification{camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/anncdPstngAmt/amt/ccy] cuando @[/ntry/0/cdtDbtInd] == "CRDT"
cuentaAcreedora | CreditTransferTransaction{pain. 001. 001. 09}@[/cdtrAcct/id/iban o /cdtrAcct/id/othr/id]
CreditTransferTransaction{pacs. 008. 001. 08}@[/cdtrAcct/id/iban o /cdtrAcct/id/othr/id]
PaymentTransaction{pacs. 004. 001. 09}@[/orgnlTxRef/cdtrAcct/id/iban o /orgnlTxRef/cdtrAcct/id/othr/id]
PaymentTransaction{camt. 029. 001. 09}@[/orgnlTxRef/cdtrAcct/id/iban o /orgnlTxRef/cdtrAcct/id/othr/id]
PaymentTransaction{camt. 056. 001. 08}@[/orgnlTxRef/cdtrAcct/id/iban o /orgnlTxRef/cdtrAcct/id/othr/id]
RequestToModifyPayment{camt. 087. 001. 06}@[/mod/cdtrAcct/id/iban o /mod/cdtrAcct/id/othr/id]
agente De Crédito BIC | CreditTransferTransaction{pain. 001. 001. 09}@[/cdtrAgt/finInstnId/bicfi]
CreditTransferTransaction{pacs. 008. 001. 08}@[/cdtrAgt/finInstnId/bicfi]
PaymentTransaction{pacs. 004. 001. 09}@[/orgnlTxRef/cdtrAgt/finInstnId/bicfi]
PaymentTransaction{camt. 029. 001. 09}@[/orgnlTxRef/cdtrAgt/finInstnId/bicfi]
PaymentTransaction{camt. 056. 001. 08}@[/orgnlTxRef/cdtrAgt/finInstnId/bicfi]
creditorBIC | CreditTransferTransaction{pain. 001. 001. 09}@[/cdtr/id/orgId/anyBIC]
CreditTransferTransaction{pacs. 008. 001. 08}@[/cdtr/id/orgId/anyBIC]
RequestToModifyPayment{camt. 087. 001. 06}@[/mod/cdtr/id/orgId/anyBIC]
nombreDelAcreedor | CreditTransferTransaction{pain. 001. 001. 09}@[/cdtr/nm]
CreditTransferTransaction{pacs. 008. 001. 08}@[/cdtr/nm]
PaymentTransaction{pacs. 004. 001. 09}@[/orgnlTxRef/cdtr/pty/nm]
PaymentTransaction{camt. 029. 001. 09}@[/orgnlTxRef/cdtr/pty/nm]
PaymentTransaction{camt. 056. 001. 08}@[/orgnlTxRef/cdtr/pty/nm]
RequestToModifyPayment{camt. 087. 001. 06}@[/mod/cdtr/nm]
csm | Csm@[/value]
cuenta De Débito | AccountNotification{camt. 054. 001. 10}@[/acct/id/othr/id o /acct/prxy/id o /acct/id/iban] cuando @[/ntry/0/cdtDbtInd] == "DBIT"
monto Débito | AccountNotification{camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/anncdPstngAmt/amt/value] cuando @[/ntry/0/cdtDbtInd] == "DBIT"
monto De Débito Moneda | AccountNotification{camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/anncdPstngAmt/amt/ccy] cuando @[/ntry/0/cdtDbtInd] == "DBIT"
cuentaDeudora | PaymentInstruction{pain. 001. 001. 09}@[/dbtrAcct/id/iban o /dbtrAcct/id/othr/id]
CreditTransferTransaction{pacs. 008. 001. 08}@[/dbtrAcct/id/iban o /dbtrAcct/id/othr/id]
PaymentTransaction{pacs. 004. 001. 09}@[/orgnlTxRef/dbtrAcct/id/iban o /orgnlTxRef/dbtrAcct/id/othr/id]
PaymentTransaction{camt. 029. 001. 09}@[/orgnlTxRef/dbtrAcct/id/iban o /orgnlTxRef/dbtrAcct/id/othr/id]
PaymentTransaction{camt. 056. 001. 08}@[/orgnlTxRef/dbtrAcct/id/iban o /orgnlTxRef/dbtrAcct/id/othr/id]
RequestToModifyPayment{camt. 087. 001. 06}@[/mod/dbtrAcct/id/iban o /mod/dbtrAcct/id/othr/id]
agenteDeudorBIC | PaymentInstruction{pain. 001. 001. 09}@[/dbtrAgt/finInstnId/bicfi]
CreditTransferTransaction{pacs. 008. 001. 08}@[/dbtrAgt/finInstnId/bicfi]
PaymentTransaction{pacs. 004. 001. 09}@[/orgnlTxRef/dbtrAgt/finInstnId/bicfi]
PaymentTransaction{camt. 029. 001. 09}@[/orgnlTxRef/dbtrAgt/finInstnId/bicfi]
PaymentTransaction{camt. 056. 001. 08}@[/orgnlTxRef/dbtrAgt/finInstnId/bicfi]
debtorBIC | PaymentInstruction{pain. 001. 001. 09}@[/dbtr/id/orgId/anyBIC]
CreditTransferTransaction{pacs. 008. 001. 08}@[/dbtr/id/orgId/anyBIC]
RequestToModifyPayment{camt. 087. 001. 06}@[/mod/dbtr/id/orgId/anyBIC]
nombreDelDeudor | PaymentInstruction{pain. 001. 001. 09}@[/dbtr/nm o /dbtrAcct/nm]
CreditTransferTransaction{pacs. 008. 001. 08}@[/dbtr/nm]
PaymentTransaction{pacs. 004. 001. 09}@[/orgnlTxRef/dbtr/pty/nm]
PaymentTransaction{camt. 029. 001. 09}@[/orgnlTxRef/dbtr/pty/nm]
PaymentTransaction{camt. 056. 001. 08}@[/orgnlTxRef/dbtr/pty/nm]
RequestToModifyPayment{camt. 087. 001. 06}@[/mod/dbtr/nm]
tipoDeCambio | Fx@[/tipoDeCambio]
initiatingPartyName | CustomerCreditTransferInitiation{pain. 001. 001. 09}@[/grpHdr/initgPty/nm]
instruidoAgente | FITo FICustomer Credit Transfer{pacs. 008. 001. 08}@[/grpHdr/instdAgt/finInstnId/bicfi]
PaymentReturn{pacs. 004. 001. 09}@[/grpHdr/instdAgt/finInstnId/bicfi]
PaymentTransaction{pacs. 004. 001. 09}@[/instdAgt/finInstnId/bicfi]
montoInstruido | CreditTransferTransaction{pain. 001. 001. 09}@[/amt/instdAmt/value]
CreditTransferTransaction{pacs. 008. 001. 08}@[/amt/instdAmt/value]
AccountNotification{camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/instdAmt/amt/value]
RequestToModifyPayment{camt. 087. 001. 06}@[/mod/amt/instdAmt/value]
montoInstruidoMoneda | CreditTransferTransaction{pain. 001. 001. 09}@[/amt/instdAmt/ccy]
CreditTransferTransaction{pacs. 008. 001. 08}@[/amt/instdAmt/ccy]
AccountNotification{camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/instdAmt/amt/ccy]
RequestToModifyPayment{camt. 087. 001. 06}@[/mod/amt/instdAmt/ccy]
parteInstruida | FITo FIPayment Cancellation Request{camt. 056. 001. 08}@[/assgnmt/assgne/agt/finInstnId/bicfi o /assgnmt/assgne/agt/finInstnId/lei o /assgnmt/assgne/agt/finInstnId/nm o /assgnmt/assgne/pty/id/orgId/cualquierBIC]
instruyendoAgente | FITo FICustomer Credit Transfer{pacs. 008. 001. 08}@[/grpHdr/instgAgt/finInstnId/bicfi]
PaymentReturn{pacs. 004. 001. 09}@[/grpHdr/instgAgt/finInstnId/bicfi]
PaymentTransaction{pacs. 004. 001. 09}@[/instgAgt/finInstnId/bicfi]
instruyendoParte | FITo FIPayment Cancellation Request{camt. 056. 001. 08}@[/assgnmt/assgnr/agt/finInstnId/bicfi o /assgnmt/assgnr/agt/finInstnId/lei o /assgnmt/assgnr/agt/finInstnId/nm o /assgnmt/assgnr/pty/id/orgId/cualquierBIC]
instructionId | CreditTransferTransaction{pain. 001. 001. 09}@[/pmtId/instrId]
CreditTransferTransaction{pacs. 008. 001. 08}@[/pmtId/instrId]
RequestToModifyPayment{camt. 087. 001. 06}@[/mod/instrId]
fecha De Liquidación Interbancaria | FITo FICustomer Credit Transfer{pacs. 008. 001. 08}@[/grpHdr/intrBkSttlmDt]
CreditTransferTransaction{pacs. 008. 001. 08}@[/intrBkSttlmDt]
PaymentReturn{pacs. 004. 001. 09}@[/grpHdr/intrBkSttlmDt]
RequestToModifyPayment{camt. 087. 001. 06}@[/mod/intrBkSttlmDt]
tipoDeViaje | JourneyType@[/valor]
messageId | SomeCustomPds@[/some/field/in/custom/pds/messageId]
número De Transacciones | CustomerCreditTransferInitiation{pain. 001. 001. 09}@[/grpHdr/nbOfTxs]
PaymentInstruction{pain. 001. 001. 09}@[/nbOfTxs]
FITo FICustomer Credit Transfer{pacs. 008. 001. 08}@[/grpHdr/nbOfTxs]
originalEndToEndId | PaymentTransaction{pacs. 004. 001. 09}@[/orgnlEndToEndId]
PaymentTransaction{camt. 029. 001. 09}@[/orgnlEndToEndId]
PaymentTransaction{camt. 056. 001. 08}@[/orgnlEndToEndId]
RequestToModifyPayment{camt. 087. 001. 06}@[/undrlyg/initn/orgnlEndToEndId o /undrlyg/intrBk/orgnlEndToEndId]
originalInstructionId | PaymentTransaction{pacs. 004. 001. 09}@[/orgnlInstrId]
PaymentTransaction{camt. 029. 001. 09}@[/orgnlInstrId]
PaymentTransaction{camt. 056. 001. 08}@[/orgnlInstrId]
RequestToModifyPayment{camt. 087. 001. 06}@[/undrlyg/initn/orgnlInstrId o /undrlyg/intrBk/orgnlInstrId]
fecha De Liquidación Interbancaria Original | PaymentTransaction{pacs. 004. 001. 09}@[/orgnlTxRef/intrBkSttlmDt o /orgnlIntrBkSttlmDt]
PaymentTransaction{camt. 029. 001. 09}@[/orgnlTxRef/intrBkSttlmDt o /orgnlIntrBkSttlmDt]
PaymentTransaction{camt. 056. 001. 08}@[/orgnlTxRef/intrBkSttlmDt o /orgnlIntrBkSttlmDt]
RequestToModifyPayment{camt. 087. 001. 06}@[/undrlyg/intrBk/orgnlIntrBkSttlmDt]
originalMessageId | PaymentReturn{pacs. 004. 001. 09}@[/orgnlGrpInf/orgnlMsgId]
PaymentTransaction{pacs. 004. 001. 09}@[/orgnlMsgId o /orgnlGrpInf/orgnlMsgId]
PaymentTransaction{camt. 029. 001. 09}@[/orgnlMsgId o /orgnlGrpInf/orgnlMsgId]
PaymentTransaction{camt. 056. 001. 08}@[/orgnlMsgId o /orgnlGrpInf/orgnlMsgId]
RequestToModifyPayment{camt. 087. 001. 06}@[/undrlyg/initn/orgnlGrpInf/orgnlMsgId o /undrlyg/intrBk/orgnlGrpInf/orgnlMsgId]
monto Transacción Original | PaymentTransaction{pacs. 004. 001. 09}@[/orgnlTxRef/intrBkSttlmAmt/value o /orgnlIntrBkSttlmAmt/value]
PaymentTransaction{camt. 029. 001. 09}@[/orgnlTxRef/intrBkSttlmAmt/value o /orgnlIntrBkSttlmAmt/value]
PaymentTransaction{camt. 056. 001. 08}@[/orgnlTxRef/intrBkSttlmAmt/value o /orgnlIntrBkSttlmAmt/value]
RequestToModifyPayment{camt. 087. 001. 06}@[/undrlyg/intrBk/orgnlIntrBkSttlmAmt/value]
monto Original De La Transacción Moneda | PaymentTransaction{pacs. 004. 001. 09}@[/orgnlTxRef/intrBkSttlmAmt/ccy o /orgnlIntrBkSttlmAmt/ccy]
PaymentTransaction{camt. 029. 001. 09}@[/orgnlTxRef/intrBkSttlmAmt/ccy o /orgnlIntrBkSttlmAmt/ccy]
PaymentTransaction{camt. 056. 001. 08}@[/orgnlTxRef/intrBkSttlmAmt/ccy o /orgnlIntrBkSttlmAmt/ccy]
RequestToModifyPayment{camt. 087. 001. 06}@[/undrlyg/intrBk/orgnlIntrBkSttlmAmt/ccy]
originalTransactionId | PaymentTransaction{pacs. 004. 001. 09}@[/orgnlTxId]
PaymentTransaction{camt. 029. 001. 09}@[/orgnlTxId]
PaymentTransaction{camt. 056. 001. 08}@[/orgnlTxId]
RequestToModifyPayment{camt. 087. 001. 06}@[/undrlyg/intrBk/orgnlTxId]
paymentInformationId | PaymentInstruction{pain. 001. 001. 09}@[/pmtInfId]
tipoDePago | TipoDePago@[/valor]
prioridad | Prioridad@[/valor]
relatedUnitOfWork | RelatedUnitOfWork@[/valor]
fecha De Ejecución Solicitada | PaymentInstruction{pain. 001. 001. 09}@[/reqdExctnDt/dtTm o /reqdExctnDt/dt]
RequestToModifyPayment{camt. 087. 001. 06}@[/mod/reqdExctnDt/dtTm o /mod/reqdExctnDt/dt]
returnId | PaymentTransaction{pacs. 004. 001. 09}@[/rtrId]
cantidadDevuelta | PaymentTransaction{pacs. 004. 001. 09}@[/rtrdIntrBkSttlmAmt/value]
cantidadDevueltaMoneda | PaymentTransaction{pacs. 004. 001. 09}@[/rtrdIntrBkSttlmAmt/ccy]
zonaHoraria | ZonaHoraria@[/valor]
totalAmount | FITo FICustomer Credit Transfer{pacs. 008. 001. 08}@[/grpHdr/ttlIntrBkSttlmAmt/value]
totalAmountCurrency | FITo FICustomer Credit Transfer{pacs. 008. 001. 08}@[/grpHdr/ttlIntrBkSttlmAmt/ccy]
monto De Transacción | CreditTransferTransaction{pacs. 008. 001. 08}@[/intrBkSttlmAmt/value]
AccountNotification{camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/txAmt/amt/value]
RequestToModifyPayment{camt. 087. 001. 06}@[/mod/intrBkSttlmAmt/value]
Fx@[/originalCurrencyAndAmount/value]
cantidad Monetaria Transacción | CreditTransferTransaction{pacs. 008. 001. 08}@[/intrBkSttlmAmt/ccy]
AccountNotification{camt. 054. 001. 10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/txAmt/amt/ccy]
RequestToModifyPayment{camt. 087. 001. 06}@[/mod/intrBkSttlmAmt/ccy]
Fx@[/originalCurrencyAndAmount/ccy]
transactionId | SomeCustomPds@[/some/field/in/custom/pds/transactionId]
uetr | CreditTransferTransaction{pain. 001. 001. 09}@[/pmtId/uetr]
CreditTransferTransaction{pacs. 008. 001. 08}@[/pmtId/uetr]
---------------------------------------------------------------------------------
Punto de Actuador
El diseño del resumen está disponible como un custom Spring Boot Punto final del actuador en /actuator/summary-layout. No está habilitado por defecto.
Configurar management.endpoints.web.exposure.include incluir summary-layout, para habilitar el punto final de diseño de resumen, o con * para habilitar todos los puntos finales del actuador.
e.j.management.endpoints.web.exposure.include = [health, info, prometheus, summary-layout].
Ejemplo de respuesta de diseño de resumen
{
"finalMappings": {
"debtorAccount": [
"PaymentInstruction{pain.001.001.09}@[/dbtrAcct/id/iban or /dbtrAcct/id/othr/id]",
"CreditTransferTransaction{pacs.008.001.08}@[/dbtrAcct/id/iban or /dbtrAcct/id/othr/id]",
"PaymentTransaction{pacs.004.001.09}@[/orgnlTxRef/dbtrAcct/id/iban or /orgnlTxRef/dbtrAcct/id/othr/id]",
"PaymentTransaction{camt.029.001.09}@[/orgnlTxRef/dbtrAcct/id/iban or /orgnlTxRef/dbtrAcct/id/othr/id]",
"PaymentTransaction{camt.056.001.08}@[/orgnlTxRef/dbtrAcct/id/iban or /orgnlTxRef/dbtrAcct/id/othr/id]",
"RequestToModifyPayment{camt.087.001.06}@[/mod/dbtrAcct/id/iban or /mod/dbtrAcct/id/othr/id]"
],
"creditorName": [
"CreditTransferTransaction{pain.001.001.09}@[/cdtr/nm]",
"CreditTransferTransaction{pacs.008.001.08}@[/cdtr/nm]",
"PaymentTransaction{pacs.004.001.09}@[/orgnlTxRef/cdtr/pty/nm]",
"PaymentTransaction{camt.029.001.09}@[/orgnlTxRef/cdtr/pty/nm]",
"PaymentTransaction{camt.056.001.08}@[/orgnlTxRef/cdtr/pty/nm]",
"RequestToModifyPayment{camt.087.001.06}@[/mod/cdtr/nm]"
],
"chargeAmountCurrency": [
"PaymentTransaction{pacs.004.001.09}@[/chrgsInf/0/amt/ccy]"
],
"instructedAmountCurrency": [
"CreditTransferTransaction{pain.001.001.09}@[/amt/instdAmt/ccy]",
"CreditTransferTransaction{pacs.008.001.08}@[/amt/instdAmt/ccy]",
"AccountNotification{camt.054.001.10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/instdAmt/amt/ccy]",
"RequestToModifyPayment{camt.087.001.06}@[/mod/amt/instdAmt/ccy]"
],
"instructingAgent": [
"FIToFICustomerCreditTransfer{pacs.008.001.08}@[/grpHdr/instgAgt/finInstnId/bicfi]",
"PaymentReturn{pacs.004.001.09}@[/grpHdr/instgAgt/finInstnId/bicfi]",
"PaymentTransaction{pacs.004.001.09}@[/instgAgt/finInstnId/bicfi]"
],
"creditorBIC": [
"CreditTransferTransaction{pain.001.001.09}@[/cdtr/id/orgId/anyBIC]",
"CreditTransferTransaction{pacs.008.001.08}@[/cdtr/id/orgId/anyBIC]",
"RequestToModifyPayment{camt.087.001.06}@[/mod/cdtr/id/orgId/anyBIC]"
],
"instructedParty": [
"FIToFIPaymentCancellationRequest{camt.056.001.08}@[/assgnmt/assgne/agt/finInstnId/bicfi or /assgnmt/assgne/agt/finInstnId/lei or /assgnmt/assgne/agt/finInstnId/nm or /assgnmt/assgne/pty/id/orgId/anyBIC]"
],
"debtorBIC": [
"PaymentInstruction{pain.001.001.09}@[/dbtr/id/orgId/anyBIC]",
"CreditTransferTransaction{pacs.008.001.08}@[/dbtr/id/orgId/anyBIC]",
"RequestToModifyPayment{camt.087.001.06}@[/mod/dbtr/id/orgId/anyBIC]"
],
"relatedUnitOfWork": [
"RelatedUnitOfWork@[/value]"
],
"originalTransactionId": [
"PaymentTransaction{pacs.004.001.09}@[/orgnlTxId]",
"PaymentTransaction{camt.029.001.09}@[/orgnlTxId]",
"PaymentTransaction{camt.056.001.08}@[/orgnlTxId]",
"RequestToModifyPayment{camt.087.001.06}@[/undrlyg/intrBk/orgnlTxId]"
],
"exchangeRate": [
"Fx@[/exchangeRate]"
],
"returnedAmountCurrency": [
"PaymentTransaction{pacs.004.001.09}@[/rtrdIntrBkSttlmAmt/ccy]"
],
"instructingParty": [
"FIToFIPaymentCancellationRequest{camt.056.001.08}@[/assgnmt/assgnr/agt/finInstnId/bicfi or /assgnmt/assgnr/agt/finInstnId/lei or /assgnmt/assgnr/agt/finInstnId/nm or /assgnmt/assgnr/pty/id/orgId/anyBIC]"
],
"instructedAmount": [
"CreditTransferTransaction{pain.001.001.09}@[/amt/instdAmt/value]",
"CreditTransferTransaction{pacs.008.001.08}@[/amt/instdAmt/value]",
"AccountNotification{camt.054.001.10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/instdAmt/amt/value]",
"RequestToModifyPayment{camt.087.001.06}@[/mod/amt/instdAmt/value]"
],
"acceptanceDateTime": [
"CreditTransferTransaction{pacs.008.001.08}@[/accptncDtTm]"
],
"originalMessageId": [
"PaymentReturn{pacs.004.001.09}@[/orgnlGrpInf/orgnlMsgId]",
"PaymentTransaction{pacs.004.001.09}@[/orgnlMsgId or /orgnlGrpInf/orgnlMsgId]",
"PaymentTransaction{camt.029.001.09}@[/orgnlMsgId or /orgnlGrpInf/orgnlMsgId]",
"PaymentTransaction{camt.056.001.08}@[/orgnlMsgId or /orgnlGrpInf/orgnlMsgId]",
"RequestToModifyPayment{camt.087.001.06}@[/undrlyg/initn/orgnlGrpInf/orgnlMsgId or /undrlyg/intrBk/orgnlGrpInf/orgnlMsgId]"
],
"convertedTransactionAmountCurrency": [
"Fx@[/convertedCurrencyAndAmount/ccy]"
],
"creditAmountCurrency": [
"AccountNotification{camt.054.001.10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/anncdPstngAmt/amt/ccy] when @[/ntry/0/cdtDbtInd] == \"CRDT\""
],
"creditAccount": [
"AccountNotification{camt.054.001.10}@[/acct/id/othr/id or /acct/prxy/id or /acct/id/iban] when @[/ntry/0/cdtDbtInd] == \"CRDT\""
],
"paymentInformationId": [
"PaymentInstruction{pain.001.001.09}@[/pmtInfId]"
],
"timeZone": [
"TimeZone@[/value]"
],
"messageId": [
"SomeCustomPds@[/some/field/in/custom/pds/messageId]"
],
"debitAmount": [
"AccountNotification{camt.054.001.10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/anncdPstngAmt/amt/value] when @[/ntry/0/cdtDbtInd] == \"DBIT\""
],
"priority": [
"Priority@[/value]"
],
"transactionId": [
"SomeCustomPds@[/some/field/in/custom/pds/transactionId]"
],
"totalAmount": [
"FIToFICustomerCreditTransfer{pacs.008.001.08}@[/grpHdr/ttlIntrBkSttlmAmt/value]"
],
"journeyType": [
"JourneyType@[/value]"
],
"creditorAccount": [
"CreditTransferTransaction{pain.001.001.09}@[/cdtrAcct/id/iban or /cdtrAcct/id/othr/id]",
"CreditTransferTransaction{pacs.008.001.08}@[/cdtrAcct/id/iban or /cdtrAcct/id/othr/id]",
"PaymentTransaction{pacs.004.001.09}@[/orgnlTxRef/cdtrAcct/id/iban or /orgnlTxRef/cdtrAcct/id/othr/id]",
"PaymentTransaction{camt.029.001.09}@[/orgnlTxRef/cdtrAcct/id/iban or /orgnlTxRef/cdtrAcct/id/othr/id]",
"PaymentTransaction{camt.056.001.08}@[/orgnlTxRef/cdtrAcct/id/iban or /orgnlTxRef/cdtrAcct/id/othr/id]",
"RequestToModifyPayment{camt.087.001.06}@[/mod/cdtrAcct/id/iban or /mod/cdtrAcct/id/othr/id]"
],
"uetr": [
"CreditTransferTransaction{pain.001.001.09}@[/pmtId/uetr]",
"CreditTransferTransaction{pacs.008.001.08}@[/pmtId/uetr]"
],
"originalInterbankSettlementDate": [
"PaymentTransaction{pacs.004.001.09}@[/orgnlTxRef/intrBkSttlmDt or /orgnlIntrBkSttlmDt]",
"PaymentTransaction{camt.029.001.09}@[/orgnlTxRef/intrBkSttlmDt or /orgnlIntrBkSttlmDt]",
"PaymentTransaction{camt.056.001.08}@[/orgnlTxRef/intrBkSttlmDt or /orgnlIntrBkSttlmDt]",
"RequestToModifyPayment{camt.087.001.06}@[/undrlyg/intrBk/orgnlIntrBkSttlmDt]"
],
"instructionId": [
"CreditTransferTransaction{pain.001.001.09}@[/pmtId/instrId]",
"CreditTransferTransaction{pacs.008.001.08}@[/pmtId/instrId]",
"RequestToModifyPayment{camt.087.001.06}@[/mod/instrId]"
],
"creditAmount": [
"AccountNotification{camt.054.001.10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/anncdPstngAmt/amt/value] when @[/ntry/0/cdtDbtInd] == \"CRDT\""
],
"debtorAgentBIC": [
"PaymentInstruction{pain.001.001.09}@[/dbtrAgt/finInstnId/bicfi]",
"CreditTransferTransaction{pacs.008.001.08}@[/dbtrAgt/finInstnId/bicfi]",
"PaymentTransaction{pacs.004.001.09}@[/orgnlTxRef/dbtrAgt/finInstnId/bicfi]",
"PaymentTransaction{camt.029.001.09}@[/orgnlTxRef/dbtrAgt/finInstnId/bicfi]",
"PaymentTransaction{camt.056.001.08}@[/orgnlTxRef/dbtrAgt/finInstnId/bicfi]"
],
"interbankSettlementDate": [
"FIToFICustomerCreditTransfer{pacs.008.001.08}@[/grpHdr/intrBkSttlmDt]",
"CreditTransferTransaction{pacs.008.001.08}@[/intrBkSttlmDt]",
"PaymentReturn{pacs.004.001.09}@[/grpHdr/intrBkSttlmDt]",
"RequestToModifyPayment{camt.087.001.06}@[/mod/intrBkSttlmDt]"
],
"debitAccount": [
"AccountNotification{camt.054.001.10}@[/acct/id/othr/id or /acct/prxy/id or /acct/id/iban] when @[/ntry/0/cdtDbtInd] == \"DBIT\""
],
"batchBooking": [
"PaymentInstruction{pain.001.001.09}@[/btchBookg]"
],
"cancellationId": [
"PaymentTransaction{camt.056.001.08}@[/cxlId]"
],
"totalAmountCurrency": [
"FIToFICustomerCreditTransfer{pacs.008.001.08}@[/grpHdr/ttlIntrBkSttlmAmt/ccy]"
],
"numberOfTransactions": [
"CustomerCreditTransferInitiation{pain.001.001.09}@[/grpHdr/nbOfTxs]",
"PaymentInstruction{pain.001.001.09}@[/nbOfTxs]",
"FIToFICustomerCreditTransfer{pacs.008.001.08}@[/grpHdr/nbOfTxs]"
],
"paymentType": [
"PaymentType@[/value]"
],
"convertedTransactionAmount": [
"Fx@[/convertedCurrencyAndAmount/value]"
],
"controlSum": [
"CustomerCreditTransferInitiation{pain.001.001.09}@[/grpHdr/ctrlSum]",
"PaymentInstruction{pain.001.001.09}@[/ctrlSum]"
],
"debitAmountCurrency": [
"AccountNotification{camt.054.001.10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/anncdPstngAmt/amt/ccy] when @[/ntry/0/cdtDbtInd] == \"DBIT\""
],
"transactionAmount": [
"CreditTransferTransaction{pacs.008.001.08}@[/intrBkSttlmAmt/value]",
"AccountNotification{camt.054.001.10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/txAmt/amt/value]",
"RequestToModifyPayment{camt.087.001.06}@[/mod/intrBkSttlmAmt/value]",
"Fx@[/originalCurrencyAndAmount/value]"
],
"returnId": [
"PaymentTransaction{pacs.004.001.09}@[/rtrId]"
],
"chargeAmount": [
"PaymentTransaction{pacs.004.001.09}@[/chrgsInf/0/amt/value]"
],
"originalEndToEndId": [
"PaymentTransaction{pacs.004.001.09}@[/orgnlEndToEndId]",
"PaymentTransaction{camt.029.001.09}@[/orgnlEndToEndId]",
"PaymentTransaction{camt.056.001.08}@[/orgnlEndToEndId]",
"RequestToModifyPayment{camt.087.001.06}@[/undrlyg/initn/orgnlEndToEndId or /undrlyg/intrBk/orgnlEndToEndId]"
],
"instructedAgent": [
"FIToFICustomerCreditTransfer{pacs.008.001.08}@[/grpHdr/instdAgt/finInstnId/bicfi]",
"PaymentReturn{pacs.004.001.09}@[/grpHdr/instdAgt/finInstnId/bicfi]",
"PaymentTransaction{pacs.004.001.09}@[/instdAgt/finInstnId/bicfi]"
],
"debtorName": [
"PaymentInstruction{pain.001.001.09}@[/dbtr/nm or /dbtrAcct/nm]",
"CreditTransferTransaction{pacs.008.001.08}@[/dbtr/nm]",
"PaymentTransaction{pacs.004.001.09}@[/orgnlTxRef/dbtr/pty/nm]",
"PaymentTransaction{camt.029.001.09}@[/orgnlTxRef/dbtr/pty/nm]",
"PaymentTransaction{camt.056.001.08}@[/orgnlTxRef/dbtr/pty/nm]",
"RequestToModifyPayment{camt.087.001.06}@[/mod/dbtr/nm]"
],
"transactionAmountCurrency": [
"CreditTransferTransaction{pacs.008.001.08}@[/intrBkSttlmAmt/ccy]",
"AccountNotification{camt.054.001.10}@[/ntry/0/ntryDtls/0/txDtls/0/amtDtls/txAmt/amt/ccy]",
"RequestToModifyPayment{camt.087.001.06}@[/mod/intrBkSttlmAmt/ccy]",
"Fx@[/originalCurrencyAndAmount/ccy]"
],
"originalInstructionId": [
"PaymentTransaction{pacs.004.001.09}@[/orgnlInstrId]",
"PaymentTransaction{camt.029.001.09}@[/orgnlInstrId]",
"PaymentTransaction{camt.056.001.08}@[/orgnlInstrId]",
"RequestToModifyPayment{camt.087.001.06}@[/undrlyg/initn/orgnlInstrId or /undrlyg/intrBk/orgnlInstrId]"
],
"originalTransactionAmountCurrency": [
"PaymentTransaction{pacs.004.001.09}@[/orgnlTxRef/intrBkSttlmAmt/ccy or /orgnlIntrBkSttlmAmt/ccy]",
"PaymentTransaction{camt.029.001.09}@[/orgnlTxRef/intrBkSttlmAmt/ccy or /orgnlIntrBkSttlmAmt/ccy]",
"PaymentTransaction{camt.056.001.08}@[/orgnlTxRef/intrBkSttlmAmt/ccy or /orgnlIntrBkSttlmAmt/ccy]",
"RequestToModifyPayment{camt.087.001.06}@[/undrlyg/intrBk/orgnlIntrBkSttlmAmt/ccy]"
],
"requestedExecutionDate": [
"PaymentInstruction{pain.001.001.09}@[/reqdExctnDt/dtTm or /reqdExctnDt/dt]",
"RequestToModifyPayment{camt.087.001.06}@[/mod/reqdExctnDt/dtTm or /mod/reqdExctnDt/dt]"
],
"originalTransactionAmount": [
"PaymentTransaction{pacs.004.001.09}@[/orgnlTxRef/intrBkSttlmAmt/value or /orgnlIntrBkSttlmAmt/value]",
"PaymentTransaction{camt.029.001.09}@[/orgnlTxRef/intrBkSttlmAmt/value or /orgnlIntrBkSttlmAmt/value]",
"PaymentTransaction{camt.056.001.08}@[/orgnlTxRef/intrBkSttlmAmt/value or /orgnlIntrBkSttlmAmt/value]",
"RequestToModifyPayment{camt.087.001.06}@[/undrlyg/intrBk/orgnlIntrBkSttlmAmt/value]"
],
"creditorAgentBIC": [
"CreditTransferTransaction{pain.001.001.09}@[/cdtrAgt/finInstnId/bicfi]",
"CreditTransferTransaction{pacs.008.001.08}@[/cdtrAgt/finInstnId/bicfi]",
"PaymentTransaction{pacs.004.001.09}@[/orgnlTxRef/cdtrAgt/finInstnId/bicfi]",
"PaymentTransaction{camt.029.001.09}@[/orgnlTxRef/cdtrAgt/finInstnId/bicfi]",
"PaymentTransaction{camt.056.001.08}@[/orgnlTxRef/cdtrAgt/finInstnId/bicfi]"
],
"csm": [
"Csm@[/value]"
],
"returnedAmount": [
"PaymentTransaction{pacs.004.001.09}@[/rtrdIntrBkSttlmAmt/value]"
],
"initiatingPartyName": [
"CustomerCreditTransferInitiation{pain.001.001.09}@[/grpHdr/initgPty/nm]"
]
},
"customPdsMappings": {
"messageId": [
"SomeCustomPds@[/some/field/in/custom/pds/messageId]"
],
"transactionId": [
"SomeCustomPds@[/some/field/in/custom/pds/transactionId]"
]
},
"disabledMdsMappings": {
"messageId": [
"CustomerCreditTransferInitiation{pain.001.001.09}@[/grpHdr/msgId]",
"FIToFICustomerCreditTransfer{pacs.008.001.08}@[/grpHdr/msgId]",
"PaymentReturn{pacs.004.001.09}@[/grpHdr/msgId]"
],
"transactionId": [
"CreditTransferTransaction{pacs.008.001.08}@[/pmtId/txId]",
"RequestToModifyPayment{camt.087.001.06}@[/mod/txId]"
]
}
}