Skip to main content

Visão geral

O objeto rulesExecutionSummary é retornado sempre que o motor de regras é executado: em Criar transação, Criar pessoa, Criar empresa, Criar entidade, Criar evento e nos payloads de webhooks de eventos de análise de risco. Ele resume quais regras deram match (hit), quais não (no hit), as ações executadas e metadados de pontuação.

Onde aparece

ContextoLocal
Criar transação (com executeRules: true)Raiz da resposta e rulesResult.rulesExecutionSummary
Criar pessoa/empresa/entidade (quando a matriz de risco roda)Raiz da resposta e rulesResult.rulesExecutionSummary
Criar evento (quando as regras rodam)Raiz da resposta e rulesResult.rulesExecutionSummary
Webhooks de análise de riscopayload.rulesExecutionSummary

Campos

CampoTipoDescrição
rulesHitarrayRegras cujas condições foram atendidas. Cada item tem name, description, score, priority, category, status, conditions e opcionalmente actions.
rulesNoHitarrayRegras avaliadas mas cujas condições não foram atendidas. Mesma estrutura de cada item de rulesHit.
actionsExecutedobjectPresente apenas quando pelo menos uma ação foi executada. Ações agregadas de todas as regras que deram hit.
totalScorenumberSoma do score de todas as regras que deram hit (excluindo regras shadow).
scoreResultobjectScore normalizado e label: rawScore, normalizedScore e opcionalmente label (name, range, minScore, maxScore).
riskMatrixNamestringNome da matriz de risco executada.
executionTimeMsnumberTempo de execução do motor de regras em milissegundos.
triggerstringEvento que disparou a avaliação (ex.: manual_evaluation, entity_created, enrichment_completed, created).
matchedRulesCountnumberNúmero de regras que deram match (equivalente a rulesHit.length).

Item de rulesHit / rulesNoHit

CampoTipoDescrição
namestringNome da regra.
descriptionstringDescrição da regra.
scorenumber | nullPontos da regra quando dá hit.
prioritynumber | nullPrioridade da regra.
categorystringCategoria da regra.
statusstringStatus da regra (ex.: active, shadow).
conditionsarrayCondições avaliadas: cada { field, value, operator? }.
actionsobjectEm rulesHit: ações executadas. Em rulesNoHit: ações configuradas. Ver abaixo.

actions (dentro de cada regra)

CampoTipoDescrição
alertsarrayDefinições de alertas: name, type, severity, description.
suggestionstringTipo de sugestão: BLOCK, SUSPEND ou FLAG.
statusstringStatus definido pela regra.
assignedUserobject{ userId: string } se a regra atribui um usuário.
customKeysarrayChaves de ações personalizadas (ex.: para workflows).

actionsExecuted (raiz)

CampoTipoDescrição
alertsarrayTodas as alertas das regras que deram hit. Cada alerta pode incluir ruleId, ruleExternalId e investigationId (atribuído após a consolidação; null na resposta imediata).
suggestionstringSugestão vencedora por peso: BLOCK, SUSPEND ou FLAG.
statusstringStatus final aplicado (da regra de maior peso).
assignedUserobject{ userId: string } se alguma regra atribuiu um usuário.
customKeysarrayTodas as chaves de ações personalizadas das regras que deram hit.

Exemplo completo

O exemplo a seguir mostra rulesExecutionSummary com todos os campos preenchidos como viriam em uma resposta da API ou em um webhook.
{
  "rulesHit": [
    {
      "name": "País de alto risco",
      "description": "Sinaliza entidades ou transações vinculadas a jurisdições de alto risco.",
      "score": 30,
      "priority": 1,
      "category": "compliance",
      "status": "active",
      "conditions": [
        { "field": "entity.countryCode", "value": ["IR", "KP", "SY"], "operator": "in" },
        { "field": "entity.type", "value": "person" }
      ],
      "actions": {
        "alerts": [
          {
            "name": "Alerta país alto risco",
            "type": "create_alert",
            "severity": "high",
            "description": "A entidade está vinculada a uma jurisdição de alto risco."
          }
        ],
        "suggestion": "FLAG",
        "status": "PENDING_REVIEW"
      }
    }
  ],
  "rulesNoHit": [
    {
      "name": "Match PEP",
      "description": "Sinaliza quando o screening PEP retorna correspondência.",
      "score": 25,
      "priority": 2,
      "category": "compliance",
      "status": "active",
      "conditions": [
        { "field": "enrichment.complyadvantage_pep_enrichment.isPep", "value": true }
      ],
      "actions": {
        "alerts": [
          {
            "name": "Match PEP",
            "type": "create_alert",
            "severity": "medium",
            "description": "O screening PEP retornou uma correspondência."
          }
        ],
        "suggestion": "SUSPEND"
      }
    }
  ],
  "actionsExecuted": {
    "alerts": [
      {
        "name": "Alerta país alto risco",
        "type": "create_alert",
        "severity": "high",
        "description": "A entidade está vinculada a uma jurisdição de alto risco.",
        "ruleId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "ruleExternalId": "RG-ENTITY-1",
        "investigationId": null
      }
    ],
    "suggestion": "FLAG",
    "status": "PENDING_REVIEW"
  },
  "totalScore": 30,
  "scoreResult": {
    "rawScore": 30,
    "normalizedScore": 42,
    "label": {
      "name": "Médio",
      "range": "30-80",
      "minScore": 30,
      "maxScore": 80
    }
  },
  "riskMatrixName": "Matriz de entidades padrão",
  "executionTimeMs": 156,
  "trigger": "entity_created",
  "matchedRulesCount": 1
}

Exemplo mínimo (nenhuma regra dá hit)

Quando nenhuma regra dá match, ainda assim são retornados rulesHit, rulesNoHit, totalScore e metadados; actionsExecuted é omitido quando vazio.
{
  "rulesHit": [],
  "rulesNoHit": [
    {
      "name": "Match PEP",
      "description": "Sinaliza quando o screening PEP retorna correspondência.",
      "score": 25,
      "priority": 2,
      "category": "compliance",
      "status": "active",
      "conditions": [
        { "field": "enrichment.complyadvantage_pep_enrichment.isPep", "value": true }
      ],
      "actions": {
        "alerts": [
          {
            "name": "Match PEP",
            "type": "create_alert",
            "severity": "medium",
            "description": "O screening PEP retornou uma correspondência."
          }
        ],
        "suggestion": "SUSPEND"
      }
    }
  ],
  "totalScore": 0,
  "scoreResult": {
    "rawScore": 0,
    "normalizedScore": 0,
    "label": {
      "name": "Baixo",
      "range": "0-30",
      "minScore": 0,
      "maxScore": 30
    }
  },
  "riskMatrixName": "Matriz de entidades padrão",
  "executionTimeMs": 98,
  "trigger": "manual_evaluation",
  "matchedRulesCount": 0
}

Notas

  • investigationId em actionsExecuted.alerts é atribuído de forma assíncrona após a consolidação de alertas; na resposta imediata da API é null.
  • scoreResult.normalizedScore é o valor 0–100 persistido na entidade ou no audit; totalScore (e scoreResult.rawScore) é a soma bruta dos scores das regras.
  • Os valores de trigger incluem: manual_evaluation, entity_created, enrichment_completed, check_completed, created, updated, entre outros conforme o contexto.