Skip to main content

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 TransfiYa
  • 3xx - Errores de participantes
El sistema Transfiya implementa un protocolo de respuesta estandarizado. Todas las solicitudes procesadas exitosamente hacia la plataforma retornan invariablemente un código de estado HTTP 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.
  • Estructura
  • Ejemplo
{
    "error": {
        "code": <error_code>,
        "message": "<error_message>"
    }
}
En el caso de respuestas exitosas, un objeto de error con código 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:
CategoriaDescripcion
118 - ResourceValidationErrorLos errores de validación de campos
121 - ResourceNotFoundErrorLos errores relacionados con referencias inválidas, por ejemplo, ID de participante inválido
122 - DuplicateKeyLos errores por intentar ingresar registros duplicados
123 - DomainRuleViolationErrorTodas las reglas de negocio, por ejemplo, el tiempo después del cual se puede volver a utilizar una clave cancelada
136 - ApiErrorTodos los errores técnicos, por ejemplo, problemas relacionados con una configuración inválida
100 - ForbiddenErrorLos 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-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

DICE error codeDICE response statusDICE operationsDICE error messageTransfiya error codeTransfiya error nameTransfiya error message
C401RJCTNEWR, AMNDEl NIT debe ser de 9 dígitos118ResourceValidationErrorDICE error: The NIT must be 9 digits long.
C402RJCTNEWR, AMNDEl número de medio de pago excede 34 dígitos118ResourceValidationErrorDICE error: The payment method number exceeds 34 digits
C403RJCTNEWR, AMNDEl tipo de medio de pago debe ser uno de los registrados en el diccionario global118ResourceValidationErrorDICE error: The payment method type must be one of those registered in the global dictionary.
C404RJCTNEWR, AMNDLa EASPBV Receptor debe ser una de las registradas en el diccionario global121ResourceNotFoundErrorDICE error: The EASPBV Receiver must be one of those registered in the global dictionary.
C405RJCTNEWR, AMNDEl tipo de documento debe ser uno de los registrados en el diccionario global118ResourceValidationErrorDICE error: The document type must be one of those registered in the global dictionary.
C406RJCTNEWR, AMNDEl tipo de persona debe ser uno de los registrados en el diccionario global118ResourceValidationErrorDICE error: The person type must be one of those recorded in the global dictionary.
C407RJCTNEWR, AMNDPara persona natural se debe diligenciar al menos el primer nombre y apellido. En Dsplnm y Nn debe ir una ‘N’118ResourceValidationErrorDICE error: For natural persons, at least the first and last name must be entered. The Dsplnm and Nn must be empty.
C408RJCTNEWR, AMNDPara 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.118ResourceValidationErrorDICE 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.
C409RJCTNEWR, AMNDSe excede la longitud para nombre de persona jurídica o natural118ResourceValidationErrorDICE error: The length for the name of a legal or natural person is exceeded.
C410RJCTNEWR, AMNDLa llave debe cumplir las reglas adicionales123DomainRuleViolationErrorDICE error: The key must comply with additional rules.
C411RJCTNEWR, DEACLa llave ha sido cancelada y no cumple el número mínimo de días para registrarse nuevamente.123DomainRuleViolationErrorDICE error: The key has been canceled and does not meet the minimum number of days to register again.
C412RJCTDEACEn la operación DEAC el campo AllowSecIDUpdate debe incluir ‘Y’ o ‘N’.118ResourceValidationErrorDICE error: Field AllowSecIDUpdate must be Y or N in DEAC operation.
C413RJCTDEACEl formato del campo CreDtTm no está en formato UTC-05118ResourceValidationErrorDICE error: CreDtTm is not on UTC-05:00 time zone
C414RJCTDEACEl año, mes y día del campo CreDtTm no corresponden con la hora Colombiana UTC-05118ResourceValidationErrorDICE error: CreDtTm field does not correspond to the current date
U000ACTCNEWR, AMNDOperación exitosa0-Success
U101RJCTNEWR, AMND, DEAC, SUSP, SUSB, ACTV, ACTBTenant Id no encontrado. Debe ser DICETEST01136ApiErrorDICE error: Tenant ID not found. Must be DICETEST01.
U103RJCTNEWR, AMND, DEACEl código de la EASPBV no existe121ResourceNotFoundErrorDICE error: The EASPBV code does not exist.
U119RJCTNEWR, AMNDError de sesión (errores de validación)136ApiErrorDICE error: Session error.
U122RJCTNEWR, AMND, DEAC, SUSP, SUSB, ACTV, ACTBSe genera cuando el canal no está abierto211136ApiErrorDICE error: Channel not open.
U212RJCTNEWR, AMND, DEAC, SUSP, SUSB, ACTV, ACTBMensaje enviado por un canal que no corresponde136ApiErrorDICE error: Message sent by an inappropriate channel.
U250RJCTNEWR, AMNDEl tipo de llave debe ser uno de los registrados en el diccionario global118ResourceValidationErrorDICE error: The key type must be one of those registered in the global dictionary.
U801RJCTNEWR, AMNDNo se puede determinar el participante118ResourceValidationErrorDICE error: The participant cannot be determined.
U804RJCTAMND, DEAC, SUSP, SUSB, ACTV, ACTBLa llave no existe o esta Inactiva.121ResourceNotFoundErrorDICE error: The key does not exist or is inactive.
U805RJCTAMND, SUSP, SUSB, ACTV, ACTBLa llave está suspendida por el cliente.123DomainRuleViolationErrorDICE error: The key is suspended by the customer.
U806RJCTNEWR, SUSP, SUSB, ACTV, ACTBLa llave ya está registrada con la misma entidad financiera, pero cuenta distinta.123DomainRuleViolationErrorDICE error: The key is already registered with the same financial institution, but to a different account.
U807RJCTNEWRLa llave ya está registrada con otra entidad financiera.123DomainRuleViolationErrorDICE error: The key is already registered with another financial institution.
U808RJCTNEWRLa llave ya se encuentra registrada con la misma cuenta.123DomainRuleViolationErrorDICE error: The key is already registered with the same account.
U809RJCTAMND, DEAC, SUSP, SUSB, ACTV, ACTBSigner no encontrado.121ResourceNotFoundErrorDICE error: Signer not found.
U811RJCTAMND, DEAC, SUSP, SUSB, ACTVLa llave está suspendida por el participante.123DomainRuleViolationErrorDICE 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
I