Por qué usar límites de gasto
- Protección del cliente: Detecta el gasto excesivo y devuelve decisiones DENY para transacciones grandes no autorizadas
- Gestión de riesgo: Monitorea la exposición por cuenta, segmento o portafolio
- Alcance flexible: Aplica límites en diferentes niveles de granularidad
- Seguimiento en tiempo real: Monitorea el uso y los montos restantes instantáneamente
- Reinicios automáticos: Los límites diarios y mensuales se reinician automáticamente
- Comprender los tipos de limites y opciones de alcance
- Crear y configurar limites de gasto
- Monitorear el uso de limites en tiempo real
- Gestionar el ciclo de vida de los limites
Conceptos principales
Comprende los componentes básicos de los límites de gasto.
Tipos de límites
Tracer soporta tres tipos de limites de gasto:| Tipo | Descripcion | Comportamiento de reinicio |
|---|---|---|
DAILY | Monto maximo por dia | Se reinicia a medianoche UTC |
MONTHLY | Monto maximo por mes | Se reinicia el 1ro del mes, medianoche UTC |
PER_TRANSACTION | Monto maximo por transaccion individual | Sin seguimiento; cada transaccion se evalua independientemente |
Alcances
Los alcances definen a que transacciones se aplica un limite. Un limite coincide con transacciones que encajan dentro de su definicion de alcance. Campos de alcance (todos opcionales, al menos uno requerido):segmentId- Aplicar a transacciones de un segmento especificoportfolioId- Aplicar a transacciones de un portafolio especificoaccountId- Aplicar a transacciones de una cuenta especificamerchantId- Aplicar a transacciones hacia un comercio especificotransactionType- Aplicar a tipos de transaccion especificos (CARD, WIRE, PIX, CRYPTO)
Seguimiento de uso
Para limitesDAILY y MONTHLY, Tracer rastrea:
- Uso actual - Monto total consumido en el periodo actual (en la unidad mas pequena de la moneda)
- Porcentaje de utilizacion - Porcentaje del limite usado
- Tiempo de reinicio - Cuando el limite se reiniciara a cero
Cómo funcionan los límites
Tracer evalúa los límites durante cada solicitud de validación.
Flujo de verificación de límites
Cuando se valida una transacción, Tracer verifica todos los límites aplicables:
- Encontrar limites - Consultar todos los limites activos que coinciden con el alcance de la transaccion
- Calcular uso proyectado - Agregar el monto de la transaccion al uso actual
- Comparar umbral - Verificar si el uso proyectado excede el monto del limite
- Devolver resultado - Devuelve decision DENY si algun limite es excedido (tu sistema debe entonces bloquear la transaccion)
Escenario de ejemplo
Un segmento corporativo tiene un límite diario de R$ 50.000 (5.000.000 centavos) para transacciones CARD. Si el uso actual es R 8.000:- Uso proyectado: R 8.000 = R$ 53.000
- Límite: R$ 50.000
- Resultado: Tracer devuelve DENY (tu sistema debe bloquear la transacción)
Crear un límite
Crea límites usando
POST /v1/limits. Los límites se crean en estado DRAFT por defecto.
Un límite requiere:
- name: Un nombre descriptivo (ej.: “Límite Diario Tarjeta Corporativa”)
- limitType: DAILY, MONTHLY o PER_TRANSACTION
- maxAmount: Monto máximo en la unidad más pequeña de la moneda
- currency: Código de moneda ISO 4217 (ej.: BRL, USD)
- scopes: Al menos un alcance para definir a qué transacciones se aplica
Consultar uso del límite
Monitorea el consumo del límite usando
GET /v1/limits/{limitId}/usage.
La respuesta incluye:
- currentUsage: Monto consumido en el período actual
- utilizationPercent: Porcentaje del límite utilizado
- nearLimit: True cuando el uso excede el 80% (para gestión proactiva)
- resetAt: Cuándo se reinicia el límite (solo DAILY/MONTHLY)
El indicador
nearLimit se activa al 80% de utilización, permitiendo gestión proactiva antes de que se excedan los límites.Actualizar un límite
Actualiza límites usando
PATCH /v1/limits/{limitId}. Los campos limitType y currency son inmutables y no pueden cambiarse después de la creación.
Ciclo de vida de los limites
Los limites siguen el mismo ciclo de vida que las reglas:

Estados
| Estado | Descripcion |
|---|---|
DRAFT | Limite creado pero no activo; puede ser modificado libremente |
ACTIVE | El limite se verifica durante las validaciones |
INACTIVE | El limite no se verifica; preservado para el rastro de auditoria; puede ser reactivado |
DELETED | Eliminado permanentemente; no aparece en listados |
Transiciones
| Operacion | De | A | Descripcion |
|---|---|---|---|
| Create | - | DRAFT | Los limites se crean en estado DRAFT por defecto |
| Activate | DRAFT, INACTIVE | ACTIVE | Iniciar verificacion de este limite |
| Deactivate | ACTIVE | INACTIVE | Dejar de verificar este limite |
| Delete | DRAFT, INACTIVE | DELETED | Eliminar permanentemente (no se puede eliminar limites ACTIVE) |
Mejores prácticas
Recomendaciones para gestión efectiva de límites.
Nomenclatura
- Se descriptivo - Incluye el alcance y tipo en el nombre
- Usa patrones consistentes - ej., “Daily Limit”
| Menos claro | Mas claro |
|---|---|
Limit 1 | Daily Corporate Card Limit |
VIP limit | Monthly VIP PIX Limit |
Diseno de alcance
- Comienza amplio, refina segun sea necesario - Comienza con limites a nivel de segmento, agrega a nivel de cuenta para excepciones
- Evita alcances superpuestos - Multiples limites en el mismo alcance pueden causar confusion
- Usa tipos de transaccion - Diferentes metodos de pago pueden necesitar diferentes limites
Monitoreo
- Observa las banderas nearLimit - Contacta proactivamente a los clientes que se acercan a los limites
- Revisa las transacciones denegadas - Tasas altas de denegacion pueden indicar limites demasiado restrictivos
- Ajusta estacionalmente - Considera aumentos temporales de limites durante periodos de alto gasto
Confiabilidad y aplicación
Los límites de gasto en Tracer están diseñados para entornos de producción donde la precisión y la confianza son innegociables.
Evaluación atómica
Las verificaciones de límites se realizan de forma atómica. Cuando se valida una transacción, Tracer lee el uso actual y evalúa el límite en una sola operación indivisible. Esto significa que incluso cuando múltiples transacciones llegan simultáneamente para la misma cuenta o alcance, cada evaluación refleja el estado real del uso en ese momento. No hay ventana en la que transacciones concurrentes puedan eludir un límite. Si dos transacciones llegan al mismo tiempo y solo una cabe dentro del presupuesto restante, exactamente una es aprobada.Marcas de tiempo del servidor
Todo el seguimiento de uso se basa en marcas de tiempo del servidor generadas por Tracer. Los clientes no pueden influir en cuándo se registra una transacción o cuándo se reinicia un período. Esto elimina cualquier posibilidad de que la manipulación de marcas de tiempo afecte los cálculos de límites.Qué significa esto en la práctica
- Seguridad concurrente: Los entornos de alto rendimiento con muchas transacciones simultáneas por cuenta son completamente soportados. Los límites se comportan correctamente bajo carga.
- Seguimiento preciso: Los totales de uso siempre reflejan el estado real, incluso durante picos de tráfico.
- Reinicios confiables: Los reinicios diarios y mensuales ocurren basándose en el reloj interno de Tracer, no en tiempos reportados por el cliente.
Estas garantías aplican a todos los tipos de límites (DAILY, MONTHLY, PER_TRANSACTION) y todas las combinaciones de alcance.
Referencia rápida
Endpoints y opciones de configuración clave.
Endpoints
| Operacion | Metodo | Endpoint |
|---|---|---|
| Crear limite | POST | /v1/limits |
| Listar limites | GET | /v1/limits |
| Obtener limite | GET | /v1/limits/{limitId} |
| Actualizar limite | PATCH | /v1/limits/{limitId} |
| Activar limite | POST | /v1/limits/{limitId}/activate |
| Desactivar limite | POST | /v1/limits/{limitId}/deactivate |
| Eliminar limite | DELETE | /v1/limits/{limitId} |
| Obtener uso | GET | /v1/limits/{limitId}/usage |
Tipos de limite
| Tipo | Reinicio | Caso de uso |
|---|---|---|
DAILY | Medianoche UTC | Topes de gasto diario |
MONTHLY | 1ro del mes | Presupuestos mensuales |
PER_TRANSACTION | Ninguno | Limites de transaccion individual |
Campos de alcance
| Campo | Tipo | Descripcion |
|---|---|---|
segmentId | UUID | Filtrar por segmento |
portfolioId | UUID | Filtrar por portafolio |
accountId | UUID | Filtrar por cuenta |
merchantId | UUID | Filtrar por comercio |
transactionType | enum | CARD, WIRE, PIX, CRYPTO |

