Skip to main content
POST
Criar Regra

Visão Geral

Cria uma nova regra para detecção automatizada de riscos, monitoramento de conformidade e prevenção de fraudes. Toda criação executa revisão IA síncrona (incluída; não debita tokens de IA) antes de persistir. Regras novas ficam sempre em in_progress com enabled: false.
Os campos status e enabled no create são ignorados — a API força in_progress e enabled: false. Espere vários segundos de latência. Bundles/modelos disparam uma revisão por regra.

Endpoint

Autenticação

Requer uma chave API válida no cabeçalho de Authorization:

Corpo da Requisição

string
required
Nome descritivo para a regra
string
required
Descrição detalhada do que a regra detecta
string
required
Categoria da regra: kyc, kyb, aml, fraud, compliance, custom
array
required
Array de tipos de entidade aos quais esta regra se aplica: ["person"], ["company"], ["transaction"], ["person", "company"]
object
required
Estrutura de lógica de condições (veja Estrutura de Condições abaixo)
array
required
Array de ações a executar quando as condições corresponderem (veja Ações abaixo)
boolean
Ignorado no create — sempre salva enabled: false.
number
default:"50"
Prioridade da regra (1-100). Valores maiores = maior prioridade
number
Pontuação de risco a atribuir quando a regra corresponder (0-100). Usado em matrizes de risco baseadas em pontuação
string
Ignorado no create — sempre salva in_progress (em configuração).
string
default:"async"
Modo de avaliação: sync (imediato) ou async (processamento em segundo plano)
string
UUID da matriz de risco para associar esta regra
array
Array de códigos de país ISO para restringir a execução da regra: ["BR", "AR", "US"]
object
Configuração de escopo adicional incluindo janelas temporais e gatilhos
array
Array de tags para organizar regras: ["high-risk", "pep", "sanctions"]
object
Metadados opcionais de origem. Se omitido, default api ou user. Campos: sourceType, conversationId, messageId, platformAgentCategory, triggeredByUserId.

Estrutura de Condições

As regras usam uma estrutura de condições aninhadas com operadores lógicos:

Campos de Condições

  • operator: Operador lógico conectando condições (AND, OR, NOT, XOR)
  • conditions: Array de objetos de condição (podem ser aninhados para lógica complexa)
  • id: Identificador único para a condição
  • type: Tipo de condição (simple, complex, array, object)
  • field: Caminho do campo a avaliar (ex., taxId, entityData.company.revenue, enrichmentData.normalized.sanctions.$.type)
  • operator: Operador de comparação (veja Operadores abaixo)
  • value: Valor para comparar
  • filters: Array de filtros para campos de array/objeto
  • countryMetadata: Metadados específicos do país para a condição

Operadores

Operadores de Comparação

  • eq - Igual
  • neq - Não igual
  • gt - Maior que
  • gte - Maior ou igual
  • lt - Menor que
  • lte - Menor ou igual

Operadores de String

  • contains - Contém substring
  • notContains - Não contém substring
  • startsWith - Começa com
  • endsWith - Termina com
  • regex - Corresponde à expressão regular

Operadores de Array

  • in - Valor está no array
  • notIn - Valor não está no array
  • hasAny - Tem algum dos valores
  • hasAll - Tem todos os valores

Operadores de Lista

  • inList - Valor existe em uma lista de dados
  • notInList - Valor não existe em uma lista de dados

Operadores de Existência

  • exists - Campo existe
  • notExists - Campo não existe
  • isEmpty - Campo está vazio/nulo
  • isNotEmpty - Campo não está vazio/nulo

Operadores Booleanos

  • isTrue - Campo booleano é verdadeiro
  • isFalse - Campo booleano é falso

Sintaxe de Campos de Array

Para campos dentro de arrays, use o símbolo $:
Isso avalia se QUALQUER item no array sanctions tem type igual a "terrorism".

Filtros

Você pode pré-filtrar itens do array antes da avaliação:
Isso avalia se QUALQUER processo legal ativo tem um valor maior que 100.000.

Ações

As regras suportam múltiplos tipos de ações:

Criar Alerta

Atualizar Status da Entidade

Enviar Notificação

Criar Caso

Exemplos de Requisições

Regra KYC Simples - Verificar Tax ID

Regra Complexa - Verificação de Sanções com Múltiplas Condições

Regra de Monitoramento de Transações

Resposta

string
UUID da regra criada
string
Nome da regra
string
Descrição da regra
string
ID da sua organização
string
Status atual da regra
boolean
Se a regra está habilitada
number
Número da versão da regra
string
Timestamp ISO de criação
string
ID do usuário que criou a regra
object
Metadados de origem (sourceType, ids opcionais de chat do agente).
object
Resumo da revisão IA síncrona: verified, reason, functionalityDescription, suggestions, issues.

Exemplo de Resposta

Respostas de Erro

400 Bad Request - Condição Inválida

400 Bad Request - Campos Obrigatórios Faltando

401 Unauthorized

Melhores Práticas

  1. Comece com Modo Shadow: Use status: "shadow" para testar regras sem afetar produção
  2. Use Nomes Descritivos: Torne os nomes das regras claros e pesquisáveis
  3. Defina Prioridades Apropriadas: Regras de maior prioridade executam primeiro (escala 1-100)
  4. Marque suas Regras: Use tags para organização e filtragem
  5. Regras Específicas por País: Use scope.countries para conformidade geo-específica
  6. Teste Completamente: Teste regras com dados de exemplo antes de habilitar
  7. Monitore o Desempenho: Use modo sync para regras críticas em tempo real, async para processamento em lote
  8. Pontue Estrategicamente: Alinhe pontuações com os limites da sua matriz de risco

Veja Também