Objetivo general
Se deberá de crear un proceso de tipo Job donde se consumirá o implementará una función de Spin en la cual se procesa la información que proviene de FISERV a través de los archivos .ATPTX y la información que está persistida en SPIN a través de la colección Fiserv.transactions para después, iterar la colección de resultados y aplicar un filtrado por cada tipo de proveedor y por ende, por cada registro.
Si existe inconsistencias en los saldos entre un registro que viene de FISERV y un registro que viene de SPIN, entonces, se realizará el llamado al servicio de account-aggregation-service => sync() parasincronizar la información en el Mirror, de lo contrario, se pasará al siguiente registro.
Diagrama
A continuación se detalla el flujo anteriormente descrito por de medio de un Diagrama de Flujo:
Para poder realizar este proceso, debemos contar con lo siguiente del lado del cliente (Spin) para poder desarrollar la solución propuesta:
Accesos al repositorio spin-analytics
Acceso AWS (Glue)
Acceso a las BD's en MongoDB de los proyectos de Spin Mirror Strategy
Repositorio
Spin-analytics
PR - DEV: https://github.com/fintechdigitalventure/spin-analytics/pull/990/files
Configuración
El proceso usa las siguientes variables de entorno definidas en AWS:
Variable | Valor |
---|---|
SYNC_PARAM | /pagopop/{ENV}/sync-url |
KEY_PARAM | /pagopop/{ENV}/sync-api-key |
Ejecución
El proceso utiliza el método existente prepare_datptx
para realizar las consultas a la base de datos de transacciones y en el archivo atptx suministrado por Fiserv. El tiempo de ejecución tarda en promedio dos minutos con las pruebas que se han hecho, sin embargo es necesario validar el volumen de transacciones con inconsistencias que se puedan encontrar durante un día. Entre estas inconsistencias se encuentran:
Transacciones no reportadas a Spin.
Transacciones con valor reportado por Fiserv distinto al registrado en la base de datos de Spin.
Add Comment