Ingesta de Archivos Notifications
Descripción general
El procesamiento de archivos es triggered a través de un Kafka La notificación y los siguientes dos puntos de integración son clave para el procesamiento:
-
Archivo disponible - Cuando el archivo esté disponible para su procesamiento, entonces el sistema bancario que carga el archivo DEBE enviar un Kafka notificación de alcanzabilidad. Esto es procesado por el conector de ingesta de archivos, notificando que un archivo está disponible para su procesamiento en un bucket S3.
-
Archivo procesado - Cuando el archivo ha terminado de ser procesado, se envía un mensaje de Notificación de Archivo Procesado al tema de Archivo Procesado (si sendAcknowledgement solicitado ), notificando al sistema bancario que el archivo ha terminado de procesarse (con una clara indicación del estado)
Formato de notificación y mapping errores a OutcomeDescription
Actualmente, hay 2 tipos de notificaciones:
-
Mensaje de notificación de archivo disponible - Notificando al ingestor de archivos de accesibilidad que un archivo está disponible para su procesamiento.
-
Mensaje de notificación de archivo procesado - Notificando al sistema bancario que el procesamiento de archivos ha finalizado (con una clara indicación del estado)
El formato de las notificaciones es el siguiente:
Formato de notificación para el mensaje de Notificación de Archivo Disponible
{
"$schema": " http://json-schema.org/draft-07/schema#",
"type": "objeto",
"propiedades": {
"requestId": {
"type": "cadena",
"description": "Un identificador único de la solicitud de notificación"
},
"fileProvider": {
"type": "cadena",
"description": "Indica qué Adaptador de Operaciones de Archivo utilizar, por ejemplo, S3, EFC"
},
"filePath": {
"type": "cadena",
"description": "La ruta absoluta del archivo, para S3 debe ser la URL de S3, consulte https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html#API_GetObject_RequestSyntax"
},
"fileName": {
"type": "cadena",
"description": "El nombre del archivo debe comenzar siempre con el tipo de archivo, por ejemplo, BANKDIRECTORYPLUS_V3_FULL_foo_bar.xml"
},
"subidoEn": {
"type": "cadena",
"formato": "fecha-hora",
"description": "Una marca de tiempo que indica cuándo se ha subido el archivo"
},
"sendAcknowledgment": {
"type": "boolean",
"description": "Si es necesario enviar un acuse de recibo del procesamiento de archivos"
}
},
"requerido": [
"requestId",
"proveedorDeArchivos",
"rutaDelArchivo",
"nombreDelArchivo",
"subidoEn",
"enviarAcuseDeRecibo"
]
}
Formato de notificación para el mensaje de Notificación de Archivo Procesado
{
"$schema": " http://json-schema.org/draft-07/schema#",
"type": "objeto",
"propiedades": {
"requestId": {
"type": "cadena",
"description": "Un identificador único de la solicitud de notificación que se está reconociendo"
},
"fileProvider": {
"type": "cadena",
"description": "Copiado del input"
},
"filePath": {
"type": "cadena",
"description": "Copiado del input"
},
"fileName": {
"type": "cadena",
"description": "Copiado del input"
},
"processingFinishedAt": {
"type": "cadena",
"formato": "fecha-hora",
"description": "Una marca de tiempo que indica cuándo se ha terminado de procesar el archivo"
},
"código Resultado": {
"type": "cadena",
"description": "Un código que describe el resultado, lista por determinar"
},
"outcomeDescription": {
"type": "cadena",
"description": "Una descripción textual del código"
}
},
"requerido": [
"requestId",
"proveedorDeArchivos",
"rutaDelArchivo",
"nombreDeArchivo",
"procesamientoFinalizadoEn",
"código Resultado",
"descripción Del Resultado"
]
}
Cuando outcomeCode is SUCCESS la descripción del resultado es Success y cuando outcomeCode is FAILED entonces outcomeDescription es un mensaje de excepción que explica el error que ocurrió.