← EXCOIN / ARTÍCULOS

Flujo de datos fintech: del origen a un resultado rastreable

Trace un flujo por caso de negocio y propiedad de cada valor. Los eventos pueden llegar tarde o repetidos; trazabilidad y conciliación forman parte del diseño.

Comenzar por la verdad del negocio

Un sistema fintech rara vez contiene todo un caso en una sola base. El cliente introduce una instrucción en la aplicación, su identidad se comprueba en otra parte, el pago pasa por un proveedor y el registro interno cierra el estado contable. Un mapa de datos debe mostrar dónde nace cada valor importante, quién puede modificarlo y qué lado lo considera definitivo. Un diagrama de API muestra conexiones, pero no explica si aceptar un pago también implica completarlo. Empiece con una operación concreta y siga su resultado desde el punto de vista del cliente y de operaciones. Incluya cuándo conoce cada participante el cambio.

Para cada campo distinga origen, copia y valor calculado. Un nombre puede estar confirmado por identidad, un importe introducido por el cliente y una comisión calculada con cierta versión de la regla. Cuando los registros discrepan, debe saberse qué fuente es autoritativa y quién resuelve la diferencia. El linaje de datos recoge origen, transformación y uso. En la práctica ayuda a explicar por qué un informe muestra un número distinto del sistema operativo. Si no puede reconstruirse el recorrido de un caso, un panel agregado no arreglará el problema. Registre supuestos sobre vigencia y corrección de datos históricos.

Dibujar un flujo de referencia con identificadores

Un flujo sencillo empieza cuando la aplicación del cliente crea la solicitud. Un servicio de dominio asigna un ID estable, la capa de integración envía el comando al socio y este devuelve aceptación técnica seguida más tarde del resultado comercial. El registro interno guarda ambos eventos, actualiza el estado y alimenta informes. Puede existir una cola entre pasos. Cada mensaje necesita vínculo con el caso original y la versión del contrato de datos. Sin él, tras una interrupción cuesta distinguir una operación nueva, un reintento y una confirmación tardía. El identificador debe sobrevivir a reintentos y ser visible a soporte autorizado.

El diagrama también necesita rutas de rechazo, timeout, corrección e intervención manual. Señale dónde se guarda un caso pendiente del socio y cuándo se comprobará de nuevo. Una flecha de retorno no basta si nadie es dueño de la siguiente acción. Un caso abierto necesita responsable y límite de antigüedad. En un flujo financiero importa distinguir entrega técnica de un mensaje y procesamiento real del dinero. La interfaz de operaciones debe nombrar esos estados claramente para no deducir resultados de un código HTTP. Marque el punto en que ya no puede revertirse una decisión sin compensación.

Los eventos aflojan dependencias, pero crean una brecha temporal

Los eventos asíncronos permiten procesar trabajo a distinto ritmo. Microsoft señala en su descripción de arquitectura por eventos que este estilo introduce a menudo inconsistencia temporal. Solo es aceptable si el producto sabe mostrarla y resolverla. Si el cliente ve completado antes de que el socio confirme el resultado, no es un simple detalle técnico. Defina por separado estados pendiente, confirmado y desconocido. Para cada información establezca demora tolerable y momento en que esperar se convierte en incidente. Explique si los usuarios pueden seguir mientras otro valor todavía se actualiza.

Los eventos pueden llegar en otro orden o más de una vez. El receptor debe repetir con seguridad mediante un ID estable de la operación, no por la hora de un intento HTTP. El patrón de consumidor idempotente de Microsoft trata la entrega repetida. El sistema debe resolver también una cancelación tardía tras confirmarse otra etapa. No sobrescriba el estado a ciegas: verifique transiciones permitidas y conserve eventos originales para explicar la decisión. Envíe mensajes imposibles de procesar a una ruta de reparación con motivo en lugar de repetir indefinidamente. Una persona necesita ver si el evento espera, fue rechazado o está bajo investigación.

La auditoría no equivale a un registro de depuración

Para auditar hay que saber quién inició la operación, qué instrucción se creó, qué sistema la aceptó, qué reglas se aplicaron y cuándo el resultado se volvió definitivo. Importan identificadores, versiones, marcas temporales y relaciones. Copiar cargas sensibles completas en cada registro es innecesario y aumenta el riesgo de filtración. Separe registros que explican una decisión comercial de diagnósticos técnicos. Cada tipo tiene permisos y conservación diferentes. Si alguien corrige el caso, cree un evento nuevo y rastreable en vez de sobrescribir la historia hasta borrar el error inicial. Compruebe si la evidencia puede entenderse sin conocimientos exclusivos del equipo desarrollador.

OpenTelemetry describe la propagación de contexto entre procesos para conectar trazas. Un ID de correlación puede seguir el caso por API, cola y trabajador. Por sí solo no crea una auditoría fiable: las trazas pueden muestrearse o guardarse poco tiempo. Conserve los eventos importantes para el negocio bajo reglas propias e independientes del diagnóstico. Durante una prueba reconstruya un caso correcto y otro fallido sin leer el código. Si soporte debe buscar en tablas inconexas, el mapa no está terminado para la operación. Depure los registros técnicos de datos sensibles manteniendo identificadores necesarios para unirlos a evidencia autorizada.

Conciliar expectativas y hechos

La conciliación compara el registro interno, el estado del socio y quizá el resultado contable. Es más que contar mensajes. Para una transacción importante verifique identificador, importe, moneda, momento, estado final y vínculo original. Defina frecuencia y tolerancia de diferencias. Algunas se resolverán al llegar un mensaje tarde; otras precisan intervención. El equipo debe saber cuánto esperar antes de abrir una excepción y quién se ocupa. Totales agregados pueden coincidir pese a dos errores opuestos, así que compare casos individuales. Fije un corte claro para la comprobación diaria o periódica.

Una corrección no debe generar otra transacción en silencio. Si el socio completó la operación pero su aplicación perdió la confirmación, averigüe el estado real antes de continuar. Distinga consultar estado otra vez de dar otra instrucción. Cuando haga falta compensar, registre motivo y relación con la operación original. En contabilidad un asiento inverso puede ser más adecuado que borrar la historia. La vista operativa debe mostrar diferencias abiertas, edad, responsable y última acción. Así conciliar se convierte en proceso gestionado y no en script nocturno cuyo resultado nadie lee. Prepare escalada si ambos sistemas afirman tener razón.

Probar excepciones antes de acelerar el caso normal

La matriz de pruebas debe incluir socio inaccesible, confirmación perdida, webhook duplicado, entrada inválida, rechazo tardío y orden alterado. Para cada situación describa estado esperado, evidencia para soporte y acción siguiente. Pruebe peticiones simultáneas frente al mismo recurso o límite cuando proceda. Si el sandbox del socio no produce un fallo, simúlelo localmente y reconozca el hueco. Las pruebas de API satisfactorias dicen poco de lo que ve el cliente tras diez minutos esperando o de lo que hará un operador con resultado desconocido. Ensaye recuperación después de reiniciar y no solo el fallo aislado.

Pruebe también cambios del contrato de datos. Un campo opcional nuevo puede ser inocuo, mientras que cambiar el significado de un estado no lo es. Prepare ejemplos de mensajes reales para variantes importantes y pida aprobación de ambas partes. Después de publicar observe errores, diferencias de conciliación y correcciones manuales. Al principio quizá haga falta revisar con mayor frecuencia. Cuando aparezca una excepción nueva, añádala a pruebas y actualice el mapa. La arquitectura mejora con pruebas operativas observadas, no con la cantidad de conectores desplegados. Mantenga las muestras de prueba libres de registros reales sensibles.

Usar el mapa para decidir la siguiente etapa

Un buen mapa muestra propietarios de datos, fronteras técnicas, estados, tiempo esperado de espera, rutas de fallo y punto de conciliación. No necesita ser complicado: un diagrama legible y una tabla breve de contratos pueden servir más que un modelo inmenso que nadie mantiene. Con cada sistema nuevo pregunte si modifica la fuente de verdad o solo lee una copia. Si cambia el significado, actualice contrato y pruebas antes de dibujar otra flecha. Registre fecha y dueño de la decisión para que un equipo futuro entienda por qué se diseñó el flujo así. Revise el mapa tras cambios importantes del socio o producto.

EXCOIN puede ayudar a mapear e implementar un flujo elegido, pero no prometer disponibilidad o cumplimiento normativo sin conocer producto y socios. Una primera fase puede verificar un caso representativo desde la instrucción hasta el registro final, incluyendo interrupción y corrección. Mida tiempo de procesamiento, estados desconocidos y tiempo necesario para explicar una diferencia. Si el piloto permite contestar de dónde vino cada operación y qué le ocurrió, ofrece una base más fuerte para ampliar que una simple conexión API satisfactoria. Esa evidencia también puede mostrar que una integración más sencilla basta para la escala actual.

Fuentes

Consultar proyecto