Resumen
Transfiya implementa un sistema de gestión de errores fundamentado en el estándar HTTP, proporcionando una estructura clara y coherente para el manejo de excepciones. Aunque los sistemas externos emplean códigos de error particulares, Transfiya ha desarrollado un mecanismo de mapeo que convierte automáticamente estos códigos a su propia arquitectura estandarizada de errores HTTP. Esta avanzada capacidad de normalización optimiza significativamente el proceso de integración para los participantes del ecosistema, minimizando o incluso eliminando por completo la necesidad de desarrollar lógicas personalizadas para el tratamiento de errores específicos.Los errores de MOL y DICE se incluyen aquí solo con fines de referencia. El participante no necesita mapear errores de DICE directamente.
Mensajes de error Transfiya
Cuando se produce un error durante una transferencia o en el sistema de directorio, la plataforma responde con códigos de estado HTTP específicos y un objeto de error estructurado que proporciona información detallada sobre la incidencia. El sistema implementa una clasificación estratégica de códigos de error organizados en rangos específicos, facilitando una categorización clara, identificación rápida y resolución eficiente de incidencias. La estructura de errores está distribuida estratégicamente según el tipo de participante afectado:1xx
- Errores de sistema TransfiYa3xx
- Errores de participantes
200
.
Cuando ocurre algún error durante el procesamiento, el sistema devuelve un objeto de error estructurado que contiene un código numérico específico y una descripción clara del problema, facilitando su identificación y resolución.
0
se añade a la respuesta original.
Estrategia de mapeo integral
TransfiYa implementa validaciones exhaustivas de todos los campos y esquemas según los requisitos regulatorios, lo que mitiga significativamente la posibilidad de que ocurran errores de DICE. No obstante, documentamos estos mapeos de errores como medida preventiva para garantizar una respuesta adecuada ante situaciones excepcionales o imprevistas que pudieran presentarse. La estrategia general de mapeo es la siguiente:Categoria | Descripcion |
---|---|
118 - ResourceValidationError | Los errores de validación de campos |
121 - ResourceNotFoundError | Los errores relacionados con referencias inválidas, por ejemplo, ID de participante inválido |
123 - DomainRuleViolationError | Todas las reglas de negocio, por ejemplo, el tiempo después del cual se puede volver a utilizar una clave cancelada |
136 - ApiError | Todos los errores técnicos, por ejemplo, problemas relacionados con una configuración inválida |
100 - ForbiddenError | Los errores de seguridad |
Alertas sobre esquemas
Por temas de interoperabilidad, Transfiya implemento modelo de advertencias o soft error validations (warrings) para habilitar entidades compatilidad el sistema actual. Eso permite que no tenemos cambios criticos en el entorno de certificacion o produccion de transfiya. Las advertencias del sistema se adhieren rigurosamente al estándar HTTP y se transmiten a través de los encabezados de error. A continuación se muestra un ejemplo representativo de una advertencia:X-Minka-Warning: 118 *labels.type* is required. This will become an error after September 2025
A partir de la entrada en operación del DICE en producción todos los participantes deben cumplir con el esquema regulatorio, de lo contratio tranfiya no procesara la petición.
Mapeo de Errores DICE
Mapeo Errores DICE
Mapeo Errores DICE
DICE error code | DICE response status | DICE operations | DICE error message | Transfiya error code | Transfiya error name | Transfiya error message |
---|---|---|---|---|---|---|
C401 | RJCT | NEWR, AMND | El NIT debe ser de 9 dígitos | 118 | ResourceValidationError | DICE error: The NIT must be 9 digits long. |
C402 | RJCT | NEWR, AMND | El número de medio de pago excede 34 dígitos | 118 | ResourceValidationError | DICE error: The payment method number exceeds 34 digits |
C403 | RJCT | NEWR, AMND | El tipo de medio de pago debe ser uno de los registrados en el diccionario global | 118 | ResourceValidationError | DICE error: The payment method type must be one of those registered in the global dictionary. |
C404 | RJCT | NEWR, AMND | La EASPBV Receptor debe ser una de las registradas en el diccionario global | 121 | ResourceNotFoundError | DICE error: The EASPBV Receiver must be one of those registered in the global dictionary. |
C405 | RJCT | NEWR, AMND | El tipo de documento debe ser uno de los registrados en el diccionario global | 118 | ResourceValidationError | DICE error: The document type must be one of those registered in the global dictionary. |
C406 | RJCT | NEWR, AMND | El tipo de persona debe ser uno de los registrados en el diccionario global | 118 | ResourceValidationError | DICE error: The person type must be one of those recorded in the global dictionary. |
C407 | RJCT | NEWR, AMND | Para persona natural se debe diligenciar al menos el primer nombre y apellido. En Dsplnm y Nn debe ir una ‘N’ | 118 | ResourceValidationError | DICE error: For natural persons, at least the first and last name must be entered. The Dsplnm and Nn must be empty. |
C408 | RJCT | NEWR, AMND | Para persona jurídica debe ser igual el nombre en el Dsplnm y Nn. Los campos de nombres y apellidos de persona natural deben estar vacíos. | 118 | ResourceValidationError | DICE error: For legal entities, the name in the Dsplnm and Nn must be the same. The first and last names fields for natural persons must be empty. |
C409 | RJCT | NEWR, AMND | Se excede la longitud para nombre de persona jurídica o natural | 118 | ResourceValidationError | DICE error: The length for the name of a legal or natural person is exceeded. |
C410 | RJCT | NEWR, AMND | La llave debe cumplir las reglas adicionales | 123 | DomainRuleViolationError | DICE error: The key must comply with additional rules. |
C411 | RJCT | NEWR, DEAC | La llave ha sido cancelada y no cumple el número mínimo de días para registrarse nuevamente. | 123 | DomainRuleViolationError | DICE error: The key has been canceled and does not meet the minimum number of days to register again. |
U000 | ACTC | NEWR, AMND | Operación exitosa | 0 | - | Success |
U101 | RJCT | NEWR, AMND, DEAC, SUSP, SUSB, ACTV, ACTB | Tenant Id no encontrado. Debe ser DICETEST01 | 136 | ApiError | DICE error: Tenant ID not found. Must be DICETEST01. |
U103 | RJCT | NEWR, AMND, DEAC | El código de la EASPBV no existe | 121 | ResourceNotFoundError | DICE error: The EASPBV code does not exist. |
U119 | RJCT | NEWR, AMND | Error de sesión (errores de validación) | 136 | ApiError | DICE error: Session error. |
U122 | RJCT | NEWR, AMND, DEAC, SUSP, SUSB, ACTV, ACTB | Se genera cuando el canal no está abierto211 | 136 | ApiError | DICE error: Channel not open. |
U212 | RJCT | NEWR, AMND, DEAC, SUSP, SUSB, ACTV, ACTB | Mensaje enviado por un canal que no corresponde | 136 | ApiError | DICE error: Message sent by an inappropriate channel. |
U250 | RJCT | NEWR, AMND | El tipo de llave debe ser uno de los registrados en el diccionario global | 118 | ResourceValidationError | DICE error: The key type must be one of those registered in the global dictionary. |
U801 | RJCT | NEWR, AMND | No se puede determinar el participante | 118 | ResourceValidationError | DICE error: The participant cannot be determined. |
U804 | RJCT | AMND, DEAC, SUSP, SUSB, ACTV, ACTB | La llave no existe o esta Inactiva. | 121 | ResourceNotFoundError | DICE error: The key does not exist or is inactive. |
U805 | RJCT | AMND, SUSP, SUSB, ACTV, ACTB | La llave está suspendida por el cliente. | 123 | DomainRuleViolationError | DICE error: The key is suspended by the customer. |
U806 | RJCT | NEWR, SUSP, SUSB, ACTV, ACTB | La llave ya está registrada con la misma entidad financiera, pero cuenta distinta. | 123 | DomainRuleViolationError | DICE error: The key is already registered with the same financial institution, but to a different account. |
U807 | RJCT | NEWR | La llave ya está registrada con otra entidad financiera. | 123 | DomainRuleViolationError | DICE error: The key is already registered with another financial institution. |
U808 | RJCT | NEWR | La llave ya se encuentra registrada con la misma cuenta. | 123 | DomainRuleViolationError | DICE error: The key is already registered with the same account. |
U809 | RJCT | AMND, DEAC, SUSP, SUSB, ACTV, ACTB | Signer no encontrado. | 121 | ResourceNotFoundError | DICE error: Signer not found. |
U811 | RJCT | AMND, DEAC, SUSP, SUSB, ACTV | La llave está suspendida por el participante. | 123 | DomainRuleViolationError | DICE error: The key is suspended by the participant. |
Sistema DICE no esta en una version estable y no se garantiza que los errores sean consistentes.
DICE y MOL se basan en el Switch ACI, que es fundamentalmente un bus de mensajes tradicional, no una solución basada en web.
Referencia para el mapeo se uso el documento
Directorio Centralizado DICE
Documento de Especificaciones Técnicas para la Implantación de BRE-B
Dirección General de Tecnología
Versión 2.2.1
2025-03-07