Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.gu1.ai/llms.txt

Use this file to discover all available pages before exploring further.

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 (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 inclui ruleId, ruleExternalId (quando configurado), riskMatrixId / riskMatrixName quando a regra pertence a uma matriz (multi-matriz e rastreabilidade em auditoria), além de 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).
riskMatricesExecutedarrayOpcional. Uma entrada por matriz de risco que contribuiu com regras avaliadas nesta execução: score bruto, contagem de regras com hit e metadados de label por matriz. É adicionado quando a API enriquece o resumo após a avaliação (por exemplo fluxos com várias matrizes ou análise persistida). Omitido quando não se aplica ou vem vazio.

Item de rulesHit / rulesNoHit

CampoTipoDescrição
ruleIdstringUUID da regra (linha persistida).
ruleExternalIdstring | nullCódigo de negócio da regra quando configurado (ex.: RG-ENTITY-1).
riskMatrixIdstring | nullUUID da matriz de risco à qual a regra pertence, ou null se não estiver associada a uma matriz.
riskMatrixNamestring | nullNome de exibição da matriz quando o contexto de execução inclui labels das matrizes.
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.

riskMatricesExecuted (cada item do array)

CampoTipoDescrição
riskMatrixIdstring | nullUUID da matriz, ou null para regras não vinculadas a uma linha de matriz.
riskMatrixNamestring | nullNome de exibição da matriz (resolvido na execução ou a partir de metadados da organização).
rawScorenumberSoma dos scores das regras com hit nessa matriz (hits não shadow), mesma base do desdobramento por matriz em auditorias.
matchedRulesnumberQuantidade de regras com hit para essa matriz nesta execução.
labelNamestring | nullNome do rótulo de risco aplicado à contribuição dessa matriz (quando houve resolução de rótulos).
labelColorstring | nullCor em hex ou token para UI quando existir.
labelSeveritystring | nullSeveridade: low, medium, high ou critical, quando resolvida.
matrixNormalizedScorenumber | nullScore normalizado 0–100 dessa matriz quando disponível.

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": [
    {
      "ruleId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "ruleExternalId": "RG-ENTITY-1",
      "riskMatrixId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "riskMatrixName": "Matriz de entidades padrão",
      "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": [
    {
      "ruleId": "f6a7b8c9-d0e1-2345-f678-901234567890",
      "ruleExternalId": "RG-ENTITY-2",
      "riskMatrixId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "riskMatrixName": "Matriz de entidades padrão",
      "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",
    "customKeys": ["required_kyc"]
  },
  "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,
  "riskMatricesExecuted": [
    {
      "riskMatrixId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "riskMatrixName": "Matriz de entidades padrão",
      "rawScore": 30,
      "matchedRules": 1,
      "labelName": "Médio",
      "labelColor": "#f5a623",
      "labelSeverity": "medium",
      "matrixNormalizedScore": 42
    }
  ]
}

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": [
    {
      "ruleId": "f6a7b8c9-d0e1-2345-f678-901234567890",
      "ruleExternalId": "RG-ENTITY-2",
      "riskMatrixId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "riskMatrixName": "Matriz de entidades padrão",
      "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

  • riskMatricesExecuted não é produzido apenas pelo motor de regras; a API mescla no rulesExecutionSummary quando existe um desdobramento de score por matriz. Em respostas com uma única matriz pode bastar riskMatrixName na raiz sem este array.
  • 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.