Descripción
El objeto rulesExecutionSummary se devuelve cada vez que se ejecuta el motor de reglas: en Crear transacción, Crear persona, Crear empresa, Crear entidad, Crear evento, y en los payloads de webhooks de eventos de análisis de riesgo. Resume qué reglas hicieron match (hit), cuáles no (no hit), las acciones ejecutadas y metadatos de puntuación.Dónde aparece
| Contexto | Ubicación |
|---|---|
Crear transacción (con executeRules: true) | Raíz de la respuesta y rulesResult.rulesExecutionSummary |
| Crear persona/empresa/entidad (cuando corre la matriz de riesgo) | Raíz de la respuesta y rulesResult.rulesExecutionSummary |
| Crear evento (cuando se ejecutan reglas) | Raíz de la respuesta y rulesResult.rulesExecutionSummary |
| Webhooks de análisis de riesgo | payload.rulesExecutionSummary |
Campos
| Campo | Tipo | Descripción |
|---|---|---|
| rulesHit | array | Reglas cuyas condiciones se cumplieron. Cada elemento tiene name, description, score, priority, category, status, conditions y opcionalmente actions. |
| rulesNoHit | array | Reglas evaluadas pero cuyas condiciones no se cumplieron. Misma estructura que cada elemento de rulesHit. |
| actionsExecuted | object | Presente solo cuando se ejecutó al menos una acción. Acciones agregadas de todas las reglas que hicieron hit. |
| totalScore | number | Suma del score de todas las reglas que hicieron hit (excluyendo reglas shadow). |
| scoreResult | object | Score normalizado y etiqueta: rawScore, normalizedScore y opcionalmente label (name, range, minScore, maxScore). |
| riskMatrixName | string | Nombre de la matriz de riesgo ejecutada. |
| executionTimeMs | number | Tiempo de ejecución del motor de reglas en milisegundos. |
| trigger | string | Evento que disparó la evaluación (ej. manual_evaluation, entity_created, enrichment_completed, created). |
| matchedRulesCount | number | Cantidad de reglas que hicieron match (equivalente a rulesHit.length). |
Elemento de rulesHit / rulesNoHit
| Campo | Tipo | Descripción |
|---|---|---|
| name | string | Nombre de la regla. |
| description | string | Descripción de la regla. |
| score | number | null | Puntos de la regla cuando hace hit. |
| priority | number | null | Prioridad de la regla. |
| category | string | Categoría de la regla. |
| status | string | Estado de la regla (ej. active, shadow). |
| conditions | array | Condiciones evaluadas: cada { field, value, operator? }. |
| actions | object | En rulesHit: acciones ejecutadas. En rulesNoHit: acciones configuradas. Ver abajo. |
actions (dentro de cada regla)
| Campo | Tipo | Descripción |
|---|---|---|
| alerts | array | Definiciones de alertas: name, type, severity, description. |
| suggestion | string | Tipo de sugerencia: BLOCK, SUSPEND o FLAG. |
| status | string | Estado definido por la regla. |
| assignedUser | object | { userId: string } si la regla asigna un usuario. |
| customKeys | array | Claves de acciones personalizadas (ej. para workflows). |
actionsExecuted (raíz)
| Campo | Tipo | Descripción |
|---|---|---|
| alerts | array | Todas las alertas de las reglas que hicieron hit. Cada alerta puede incluir ruleId, ruleExternalId e investigationId (asignado tras la consolidación; null en la respuesta inmediata). |
| suggestion | string | Sugerencia ganadora por peso: BLOCK, SUSPEND o FLAG. |
| status | string | Estado final aplicado (de la regla de mayor peso). |
| assignedUser | object | { userId: string } si alguna regla asignó un usuario. |
| customKeys | array | Todas las claves de acciones personalizadas de las reglas que hicieron hit. |
Ejemplo completo
El siguiente ejemplo muestra rulesExecutionSummary con todos los campos poblados como llegarían en una respuesta de API o en un webhook.Ejemplo mínimo (ninguna regla hace hit)
Cuando ninguna regla hace match, igualmente se devuelvenrulesHit, rulesNoHit, totalScore y metadatos; actionsExecuted se omite cuando está vacío.
Notas
- investigationId en
actionsExecuted.alertsse asigna de forma asíncrona tras la consolidación de alertas; en la respuesta inmediata de la API esnull. - scoreResult.normalizedScore es el valor 0–100 que se persiste en la entidad o en el audit; totalScore (y scoreResult.rawScore) es la suma cruda de los scores de las reglas.
- Los valores de trigger incluyen:
manual_evaluation,entity_created,enrichment_completed,check_completed,created,updated, entre otros según el contexto.