1. Solicitudes de validación
| Campo | Descripción | Usado en |
|---|---|---|
| requestId | ID único generado por el cliente para idempotencia y correlación de auditoría | Tracer |
| transactionType | Tipo de transacción: CARD, WIRE, PIX o CRYPTO | Tracer |
| subType | Subtipo de transacción para contexto adicional (por ejemplo, débito, crédito) | Tracer |
| amount | Monto de la transacción como cadena decimal, por ejemplo "100.00" (debe ser positivo) | Tracer |
| asset | Código de activo ISO 4217 de tres letras mayúsculas usado por la transacción, por ejemplo BRL o USD | Tracer |
| transactionTimestamp | Momento en que ocurrió la transacción (formato RFC 3339 con zona horaria) | Tracer |
2. Respuestas de validación
| Campo | Descripción | Usado en |
|---|---|---|
| validationId | Identificador único generado por el servidor para el registro de validación | Tracer |
| decision | Decisión de validación: ALLOW, DENY o REVIEW | Tracer |
| reason | Motivo legible de la decisión | Tracer |
| matchedRuleIds | IDs de las reglas que coincidieron y activaron la decisión | Tracer |
| evaluatedRuleIds | IDs de todas las reglas que se evaluaron | Tracer |
| processingTimeMs | Tiempo de procesamiento en milisegundos | Tracer |
| totalRulesLoaded | Número total de reglas cargadas para la evaluación | Tracer |
| truncated | Si la respuesta se truncó por límites de tamaño | Tracer |
3. Reglas
| Campo | Descripción | Usado en |
|---|---|---|
| ruleId | Identificador único de la regla | Tracer |
| name | Nombre legible de la regla (único dentro de su contexto, máximo 255 caracteres) | Tracer |
| description | Explicación del propósito y la lógica de la regla (máximo 1000 caracteres) | Tracer |
| expression | Expresión CEL que debe evaluar a un valor booleano (máximo 5000 caracteres) | Tracer |
| action | Acción tomada cuando la expresión evalúa a true: ALLOW, DENY o REVIEW | Tracer |
| scopes | Arreglo de alcances que determina a qué transacciones se aplica esta regla | Tracer |
| status | Estado del ciclo de vida de la regla: DRAFT, ACTIVE, INACTIVE o DELETED | Tracer |
| activatedAt | Cuándo se activó la regla por última vez (null si nunca se activó) | Tracer |
| deactivatedAt | Cuándo se desactivó la regla por última vez (null si nunca se desactivó) | Tracer |
4. Límites de gasto
| Campo | Descripción | Usado en |
|---|---|---|
| limitId | Identificador único del límite | Tracer |
| name | Nombre legible del límite (único globalmente, máximo 255 caracteres) | Tracer |
| description | Explicación del propósito y uso del límite (máximo 1000 caracteres) | Tracer |
| limitType | Tipo de límite: DAILY, WEEKLY, MONTHLY, CUSTOM o PER_TRANSACTION (inmutable después de la creación) | Tracer |
| maxAmount | Monto decimal máximo como cadena, por ejemplo "1000.00" | Tracer |
| asset | Código de activo ISO 4217 de tres letras mayúsculas para el límite (inmutable después de la creación) | Tracer |
| scopes | Arreglo de alcances que determina a qué transacciones se aplica este límite | Tracer |
| status | Estado del ciclo de vida del límite: DRAFT, ACTIVE, INACTIVE o DELETED | Tracer |
| activeTimeStart | Inicio de la ventana activa diaria en formato HH:mm | Tracer |
| activeTimeEnd | Fin de la ventana activa diaria en formato HH:mm | Tracer |
| customStartDate | Fecha y hora de inicio para límites CUSTOM | Tracer |
| customEndDate | Fecha y hora de fin para límites CUSTOM | Tracer |
5. Uso del límite
| Campo | Descripción | Usado en |
|---|---|---|
| limitAmount | Monto total del límite como cadena decimal | Tracer |
| currentUsage | Uso proyectado después de aplicar la transacción, como cadena decimal | Tracer |
| exceeded | Si el límite se excedió durante la validación | Tracer |
| period | Tipo de período del límite: DAILY, WEEKLY, MONTHLY, CUSTOM o PER_TRANSACTION | Tracer |
| scope | Descripción legible del alcance (por ejemplo, “account:uuid”, “segment:uuid”) | Tracer |
| attemptedAmount | Monto de la transacción que se está validando, como cadena decimal | Tracer |
6. Alcances y segmentación
| Campo | Descripción | Usado en |
|---|---|---|
| accountId | Identificador de cuenta para segmentar el alcance | Tracer |
| segmentId | Identificador de segmento para segmentar el alcance | Tracer |
| portfolioId | Identificador de portafolio para segmentar el alcance | Tracer |
| merchantId | Identificador de comercio para segmentar el alcance | Tracer |
| transactionType | Filtro de tipo de transacción: CARD, WIRE, PIX o CRYPTO | Tracer |
| category | Código de categoría de comercio (MCC de 4 dígitos según ISO 18245) | Tracer |
| country | País del comercio (ISO 3166-1 alfa-2, 2 letras mayúsculas) | Tracer |

