Introdução
O motor de regras do gu1 permite criar lógica personalizada para analisar transações em tempo real. As regras podem ser síncronas (afetam a decisão da transação) ou assíncronas (apenas monitoramento).Regras Síncronas vs Assíncronas
Regras Síncronas (SYNC)
Executam durante a chamada da API e afetam a decisão da transação Quando usar:- Bloquear transações fraudulentas
- Impor limites de transação
- Exigir autenticação adicional
- Requisitos regulatórios
- Avaliadas antes da resposta
- Podem mudar o estado da transação
- Meta de desempenho: < 100ms
- Limitadas a operações leves
Regras Assíncronas (ASYNC)
Executam em paralelo sem afetar a transação Quando usar:- Monitoramento de padrões
- Análise comportamental
- Agregações complexas
- Análise histórica
- Não bloqueiam a resposta da API
- Podem realizar consultas pesadas
- Geram apenas alertas
- Alimentam o Dashboard de Inteligência
Estrutura da Regra
Campos de Configuração
Campos Básicos
| Campo | Tipo | Descrição |
|---|---|---|
name | string | Nome da regra (único) |
category | string | Categoria: fraud, aml, compliance, risk |
priority | number | Prioridade de execução (1-1000, maior = primeiro) |
enabled | boolean | Habilitar/desabilitar regra |
evaluationMode | string | ”sync” ou “async” |
targetEntityTypes | array | Tipos de entidade para avaliar ([“transaction”]) |
Condições
As regras usam um sistema flexível de condições:Operadores de Condição
| Operador | Descrição | Exemplo |
|---|---|---|
EQUALS | Igualdade exata | "type" EQUALS "PAYMENT" |
NOT_EQUALS | Não igual | "status" NOT_EQUALS "blocked" |
GREATER_THAN | Maior que | "amount" > 1000 |
GREATER_THAN_OR_EQUAL | Maior ou igual | "amount" >= 1000 |
LESS_THAN | Menor que | "amount" < 100 |
LESS_THAN_OR_EQUAL | Menor ou igual | "amount" <= 100 |
IN | Na lista | "country" IN ["US", "CA"] |
NOT_IN | Não na lista | "country" NOT_IN ["KP", "IR"] |
CONTAINS | String contém | "description" CONTAINS "test" |
NOT_CONTAINS | String não contém | "email" NOT_CONTAINS "@temp" |
STARTS_WITH | String começa com | "accountId" STARTS_WITH "4532" |
ENDS_WITH | String termina com | "domain" ENDS_WITH ".ru" |
REGEX | Correspondência regex | "email" REGEX "^[a-z]+@" |
EXISTS | Campo existe | "metadata.userId" EXISTS |
NOT_EXISTS | Campo não existe | "referralCode" NOT_EXISTS |
Campos de Transação Disponíveis
Ações
As regras podem disparar múltiplas ações:1. Gerar Alerta
2. Definir Decisão (apenas SYNC)
3. Criar Investigação
Exemplos de Regras
1. Limite Diário de Transação (SYNC)
2. Alerta de Velocidade de Transações (ASYNC)
3. Bloqueio de País de Alto Risco (SYNC)
4. Detecção de Padrão de Estruturação (ASYNC)
5. Novo Cartão com Valor Alto (SYNC)
6. Padrão de Horário Incomum (ASYNC)
Condições Avançadas
Condições Aninhadas
Padrões Regex
Agregações Baseadas em Tempo
Melhores Práticas
✅ FAÇA
-
Use o modo de avaliação apropriado
- SYNC para decisões que devem bloquear
- ASYNC para monitoramento e análise
-
Defina prioridades corretas
- Bloqueios críticos: 900-1000
- Verificações padrão: 500-899
- Monitoramento: 100-499
-
Inclua mensagens significativas
- Use variáveis de template:
{{field}} - Forneça contexto para analistas
- Inclua métricas relevantes
- Use variáveis de template:
-
Teste minuciosamente
- Comece com modo ASYNC
- Monitore taxa de falsos positivos
- Ajuste limites com base em dados
-
Use campos de metadados
- Dados agregados para padrões
- Rastreie comportamento histórico
- Calcule pontuações de risco
❌ NÃO FAÇA
-
Não use consultas pesadas em regras SYNC
- Mantenha regras SYNC rápidas (< 100ms)
- Mova lógica complexa para ASYNC
-
Não bloqueie excessivamente
- Comece com HOLD ao invés de REJECT
- Permita revisão manual
- Monitore impacto no cliente
-
Não crie regras sobrepostas
- Uma regra deve tratar um padrão
- Use prioridades corretamente
- Evite verificações redundantes
-
Não ignore falsos positivos
- Rastreie e analise
- Ajuste limites
- Use aprendizado de máquina quando disponível
Testando Regras
Modo de Teste
Habilite o modo de teste para avaliar regras sem afetar transações:Teste A/B
Crie regras variantes para comparar eficácia:Métricas de Monitoramento
Rastreie para cada regra:- Contagem de execuções: Quantas vezes a regra executa
- Taxa de correspondência: % de vezes que condições foram atendidas
- Taxa de falsos positivos: Sinalizados incorretamente
- Taxa de verdadeiros positivos: Sinalizados corretamente
- Tempo médio de execução: Desempenho