Saltar al contenido principal
Las reglas de coincidencia definen cómo Matcher compara transacciones entre distintas fuentes. Puedes aplicar coincidencias estrictas, permitir variaciones controladas o modelar lógica más avanzada mediante condiciones compuestas.

Cómo funcionan las reglas


Cuando se inicia una ejecución de conciliación, Matcher evalúa las reglas según su prioridad.
  • Las reglas se evalúan desde el número de prioridad más bajo hasta el más alto.
  • La primera regla que produce una coincidencia determina el resultado.
  • Si ninguna regla coincide, la transacción se clasifica como una excepción.
Este enfoque garantiza una conciliación determinista, al tiempo que permite reglas progresivamente más flexibles como respaldo.

Tipos de reglas


Exact

Requiere una coincidencia estricta en los campos configurados.
  • Ideal para: coincidencias deterministas donde los valores deben alinearse 1:1.

Tolerance

Permite una variación controlada en la comparación de montos.
  • Ideal para: patrones de variación conocidos, como comisiones, redondeos o diferencias de tipo de cambio (FX).

Date lag

Permite diferencias de fecha entre transacciones.
  • Ideal para: retrasos de contabilización entre sistemas.

Creación de reglas de coincidencia


Regla Exact

cURL
curl -X POST "https://api.matcher.example.com/v1/config/contexts/{contextId}/rules" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "type": "EXACT",
   "priority": 1,
   "config": {
     "fields": ["amount", "currency", "date"]
   }
 }'

Respuesta

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "contextId": "969a11cd-6b7d-4e71-b82b-0828e0603149",
  "type": "EXACT",
  "priority": 1,
  "config": {
    "fields": ["amount", "currency", "date"]
  },
  "createdAt": "2026-02-02T16:40:00Z",
  "updatedAt": "2026-02-02T16:40:00Z"
}
API Reference: Create match rule

Regla Tolerance

cURL
curl -X POST "https://api.matcher.example.com/v1/config/contexts/{contextId}/rules" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "type": "TOLERANCE",
   "priority": 2,
   "config": {
     "tolerancePercent": 1.0,
     "toleranceAbsolute": 5.0
   }
 }'
Ejemplo:
  • Transacción A: $1,000.00
  • Transacción B: $1,008.00
  • Variación: 0.8% → Coinciden (dentro de la tolerancia del 1%)

Regla Date lag

cURL
curl -X POST "https://api.matcher.example.com/v1/config/contexts/{contextId}/rules" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "type": "DATE_LAG",
   "priority": 3,
   "config": {
     "maxDays": 3
   }
 }'

Prioridad de las reglas


Las reglas se evalúan según su prioridad. Los números más bajos se ejecutan primero.

Estrategia de prioridad

PrioridadTipo de reglaCaso de uso
1–10EXACTCoincidencias deterministas
11–50TOLERANCEVariaciones pequeñas y esperadas
51–100DATE_LAGDiferencias de fecha entre sistemas

Reordenar reglas

Puedes reordenar las reglas proporcionando los IDs en el orden deseado:
cURL
curl -X POST "https://api.matcher.example.com/v1/config/contexts/{contextId}/rules/reorder" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "ruleIds": [
     "550e8400-e29b-41d4-a716-446655440001",
     "550e8400-e29b-41d4-a716-446655440002",
     "550e8400-e29b-41d4-a716-446655440000"
   ]
 }'
API Reference: Reorder match rules

Pruebas de reglas


Prueba las reglas en modo dry-run antes de confirmar las coincidencias.
cURL
curl -X POST "https://api.matcher.example.com/v1/matching/contexts/{contextId}/run" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "mode": "DRY_RUN"
 }'
El modo dry-run evalúa todas las reglas y muestra coincidencias potenciales sin persistir los resultados.

Gestión de reglas


Listar reglas

cURL
curl -X GET "https://api.matcher.example.com/v1/config/contexts/{contextId}/rules" \
 -H "Authorization: Bearer $TOKEN"

Respuesta

El endpoint de listado devuelve una vista resumida de las reglas. Para ver los detalles completos de configuración de una regla específica, utiliza el endpoint individual de la regla o la respuesta de creación, que incluye el objeto config completo.
{
  "items": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "contextId": "969a11cd-6b7d-4e71-b82b-0828e0603149",
      "type": "EXACT",
      "priority": 1,
      "config": {
        "fields": ["amount", "currency", "date"]
      },
      "createdAt": "2026-02-02T16:40:00Z",
      "updatedAt": "2026-02-02T16:40:00Z"
    }
  ],
  "limit": 20,
  "hasMore": false
}
API Reference: List match rules

Actualizar una regla

cURL
curl -X PUT "https://api.matcher.example.com/v1/config/contexts/{contextId}/rules/{ruleId}" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "priority": 5,
   "type": "TOLERANCE",
   "config": {
     "tolerancePercent": 2.0
   }
 }'
API Reference: Update match rule

Eliminar una regla

cURL
curl -X DELETE "https://api.matcher.example.com/v1/config/contexts/{contextId}/rules/{ruleId}" \
 -H "Authorization: Bearer $TOKEN"
API Reference: Delete match rule

Buenas prácticas


Prioriza reglas exactas. Agrega reglas de tolerancia solo para variaciones que puedas justificar y explicar.
Usa intervalos (1, 10, 20, 50) para poder insertar reglas sin renumerar todo el conjunto.
Trata las actualizaciones de reglas como cambios de producción. Valida tasas de coincidencia y volumen de excepciones antes de confirmar.
Una regla debe documentar la variación que cubre y el riesgo que introduce.
Si una regla nunca coincide, puede ser innecesaria. Si coincide con demasiada frecuencia, puede ser demasiado amplia.
Una alta tolerancia incrementa los falsos positivos. Úsala como respaldo y revisa los resultados cuidadosamente.

Próximos pasos