API Reference - Monitoramento de Transações
Referência API
Endpoint Criar Transação para Monitoramento
Endpoint POST /transactions para monitoramento: esquema do request, conversão de moedas, métodos de pagamento e exemplos práticos para fraude e AML.
POST
API Reference - Monitoramento de Transações
Referência canónica do endpoint
A referência oficial do endpointPOST /transactions (estrutura da resposta, erros, campos) está em:
Criar transação (API Reference → Transações)
Lá você encontra a resposta atual: transaction é um objeto (a transação criada) e, quando as regras rodam, rulesExecutionSummary vem na raiz da resposta (ver Resumo de Execução de Regras).
Esta página adiciona contexto de uso para monitoramento: conversão de moeda, exemplos por método de pagamento (PIX, cartão, multi-moeda) e descrição detalhada dos campos.
Endpoint: Criar Transação
executeRules: true (padrão), o motor de regras é executado e a resposta inclui rulesExecutionSummary na raiz quando as regras são executadas.
Autenticação
Todas as requisições devem incluir uma chave API no cabeçalhoAuthorization:
Cabeçalhos Obrigatórios
Corpo da Requisição
Seu identificador único para esta transação no seu sistemaTipo:
string (comprimento mínimo: 1)Tipo de transação. Opções:
PAYMENT- Compra ou pagamento a comercianteTRANSFER- Transferência entre contas/usuáriosWITHDRAWAL- Saque ou débito de contaDEPOSIT- Depósito ou crédito de contaREFUND- Reembolso de transação anteriorCHARGEBACK- Disputa de estornoREVERSAL- Reversão de transaçãoFEE- Cobrança de taxa ou comissãoADJUSTMENT- Ajuste de saldoOTHER- Outro tipo de transação
enum - 'PAYMENT' | 'TRANSFER' | 'WITHDRAWAL' | 'DEPOSIT' | 'REFUND' | 'CHARGEBACK' | 'REVERSAL' | 'FEE' | 'ADJUSTMENT' | 'OTHER'Status da transação. Segue um modelo de máquina de estados com estados abertos e fechados.Estados Abertos (podem transitar para outros estados):
CREATED- Transação criada (padrão)PROCESSING- Transação em processamentoSUSPENDED- Transação temporariamente suspensa
SENT- Transação enviada/transmitidaEXPIRED- Transação expiradaDECLINED- Transação recusada/declinadaREFUNDED- Transação reembolsada/revertidaSUCCESSFUL- Transação concluída com sucesso
enum - 'CREATED' | 'PROCESSING' | 'SUSPENDED' | 'SENT' | 'EXPIRED' | 'DECLINED' | 'REFUNDED' | 'SUCCESSFUL' (padrão: ‘CREATED’)Importante: Uma vez que uma transação atinge um estado fechado, não pode voltar a um estado aberto. Isso garante a integridade da transação e um rastro de auditoria apropriado.Valor da transação (deve ser positivo)Tipo:
number (> 0)Código ISO 4217 de moeda (ex: “USD”, “BRL”, “EUR”)Tipo:
string (comprimento: 3)Método de pagamento utilizado para a transaçãoTipo:
string (enum, opcional)Valores Possíveis:CARD- Pagamento com cartão de crédito ou débitoACH- Automated Clearing House (transferência bancária US)PIX- Sistema de pagamentos instantâneos do BrasilTED- Transferência bancária brasileira (Transferência Eletrônica Disponível)BOLETO- Boleto de pagamento brasileiroWALLET- Carteira digital (PayPal, Venmo, etc.)SWIFT- Transferência internacional SWIFTIBAN- Transferência bancária baseada em IBANCBU- Conta bancária argentina (Clave Bancaria Uniforme)CVU- Conta virtual argentina (Clave Virtual Uniforme)DEBIN- Sistema de débito instantâneo argentinoGENERIC_BANK_ACCOUNT- Transferência de conta bancária genéricaMPESA- M-Pesa mobile money (Quênia)UPI- Unified Payments Interface (Índia)CHECK- Pagamento com chequeECHECK- Cheque eletrônicoQR_CODE- Pagamento com código QRONLINE_PAYMENT- Pagamento online genéricoWITHDRAWAL_ORDER- Ordem de saque
"PIX" ou "CARD"UUID da entidade de origem (remetente) no sistema gu1Tipo:
string (uuid, opcional)Seu ID externo para a entidade de origemTipo:
string (opcional)Tax / documento de origem no raiz do corpo. Terceiro critério (após
originEntityId e originExternalId); match normalizado a entity.taxId. Máx. 50 caracteres. Tipo: string (opcional)Nome da entidade de origem (remetente)Tipo:
string (comprimento máximo: 500, opcional)Código de país ISO 3166-1 alpha-2 da entidade de origemTipo:
string (comprimento: 2, opcional)Informações contextuais sobre a origem da transação (dispositivo, geolocalização, conta, flags de segurança). Estes campos coincidem com o schema da API; também pode enviar campos custom adicionais (ex.: Campos personalizados são permitidos - o sistema validará campos conhecidos e preservará os personalizados.
paymentDetails aninhado ou outras chaves) e serão armazenados.Tipo: object (opcional, estrutura validada; chaves extras permitidas)Diferença Importante:originCountry(campo direto) = País da entidadeoriginDetails.country= País do dispositivo/IP no momento da transação (pode diferir se estiver viajando)
deviceId(string) - Identificador do dispositivodeviceFingerprint(string) - Hash de impressão digital do dispositivodeviceType(enum) -mobile|desktop|tablet|pos|atmuserAgent(string) - User agent do navegadoripAddress(string) - Endereço IP (formato validado)
country(string) - Código ISO de 2 letrascity(string) - Nome da cidaderegion(string) - Estado/províncialatitude(number) - Latitude (-90 a 90)longitude(number) - Longitude (-180 a 180)timezone(string) - Identificador de fuso horário
paymentDetails(object) - Informações específicas de pagamento para a origem. Você pode enviar qualquer campo relacionado a pagamento:- Detalhes Bancários/Conta:
accountNumber(string) - Número da contaaccountType(enum) -checking|savings|business|personalbankCode(string) - Código do bancobankName(string) - Nome do bancoroutingNumber(string) - Routing number (US)swiftCode(string) - Código SWIFT/BICiban(string) - IBAN (International Bank Account Number)
- Detalhes PIX (Brasil):
pixKey(string) - Chave PIXpixType(enum) - Tipo de chave PIX:email|phone|cpf|cnpj|randomendToEndId(string) - ID único end-to-end do PIX
- Detalhes de Cartão:
cardLast4(string) - Últimos 4 dígitos do cartãocardBrand(string) - Bandeira do cartão (Visa, Mastercard, Amex, etc.)cardholderName(string) - Nome no cartãocardBin(string) - Primeiros 6 dígitos do cartão (BIN)cardType(enum) -credit|debit|prepaidcardCountry(string) - País emissor do cartão (ISO 2 letras)cardExpiry(string) - Data de vencimento (MM/AA)cardFingerprint(string) - Impressão digital única do cartão para rastreamento
- Detalhes Crypto:
walletAddress(string) - Endereço de carteira de criptomoedawalletType(string) - Tipo de carteira (ex: “metamask”, “coinbase”)blockchain(string) - Rede blockchain (ex: “ethereum”, “bitcoin”)tokenSymbol(string) - Símbolo do token (ex: “ETH”, “BTC”, “USDT”)txHash(string) - Hash da transação blockchainconfirmations(number) - Número de confirmações blockchain
- Carteira/Pagamento Digital:
walletId(string) - Identificador de carteira digitalwalletProvider(string) - Provedor de carteira (ex: “paypal”, “venmo”, “mercadopago”)walletEmail(string) - Email associado à carteira
- Campos Argentina (CBU/CVU):
cbu(string) - CBU argentino (22 dígitos)cvu(string) - CVU argentino (22 dígitos)alias(string) - Alias do CBU/CVU
- Campos México (SPEI):
clabe(string) - Número CLABE (México, 18 dígitos)trackingKey(string) - Chave de rastreamento SPEI
- Campos Dinheiro/Cheque:
checkNumber(string) - Número do chequereceiptNumber(string) - Número do recibolocation(string) - Localização do pagamento (dinheiro)
- E quaisquer outros campos relacionados a pagamento que você precisar
- Detalhes Bancários/Conta:
isVpn(boolean) - VPN detectadaisTor(boolean) - Rede Tor detectadaisProxy(boolean) - Proxy detectadogovernmentAccount(boolean) - Flag de conta governamental
UUID da entidade de destino (destinatário) no sistema gu1Tipo:
string (uuid, opcional)Seu ID externo para a entidade de destinoTipo:
string (opcional)Documento de destino no raiz; terceiro critério, mesma regra de
originTaxId. Tipo: string (opcional)Nome da entidade de destino (destinatário)Tipo:
string (comprimento máximo: 500, opcional)Código de país ISO 3166-1 alpha-2 da entidade de destinoTipo:
string (comprimento: 2, opcional)Informações contextuais sobre o destino da transação (comerciante, dispositivo, geolocalização, conta, flags de risco). Estes campos coincidem com o schema da API; também pode enviar campos custom adicionais (ex.: Campos personalizados são permitidos - o sistema validará campos conhecidos e preservará os personalizados.
paymentDetails aninhado ou outras chaves) e serão armazenados.Tipo: object (opcional, estrutura validada; chaves extras permitidas)Campos Suportados:Informações de Comerciante:mcc(string) - Merchant Category Code (4 dígitos, ISO 18245)mccDescription(string) - Descrição do MCC (ex: “Restaurants”)merchantId(string) - Identificador do comerciantemerchantName(string) - Nome do comerciantemerchantType(string) - Tipo/categoria do comerciante
deviceId(string) - Identificador do dispositivodeviceType(enum) -pos|online|mobile|atmipAddress(string) - Endereço IP (formato validado)
country(string) - Código ISO de 2 letrascity(string) - Nome da cidaderegion(string) - Estado/província
paymentDetails(object) - Informações específicas de pagamento para o destino. Você pode enviar qualquer campo relacionado a pagamento:- Detalhes Bancários/Conta:
accountNumber(string) - Número da conta de destinoaccountType(enum) -checking|savings|business|merchantbankCode(string) - Código do bancobankName(string) - Nome do bancoroutingNumber(string) - Routing number (US)swiftCode(string) - Código SWIFT/BICiban(string) - IBAN (International Bank Account Number)
- Detalhes PIX (Brasil):
pixKey(string) - Chave PIXpixType(enum) - Tipo de chave PIX:email|phone|cpf|cnpj|randomendToEndId(string) - ID único end-to-end do PIX
- Detalhes de Cartão:
cardLast4(string) - Últimos 4 dígitos do cartãocardBrand(string) - Bandeira do cartão (Visa, Mastercard, Amex, etc.)cardholderName(string) - Nome no cartãocardBin(string) - Primeiros 6 dígitos do cartão (BIN)cardType(enum) -credit|debit|prepaidcardCountry(string) - País emissor do cartão (ISO 2 letras)cardExpiry(string) - Data de vencimento (MM/AA)cardFingerprint(string) - Impressão digital única do cartão para rastreamento
- Detalhes Crypto:
walletAddress(string) - Endereço de carteira de criptomoedawalletType(string) - Tipo de carteira (ex: “metamask”, “coinbase”)blockchain(string) - Rede blockchain (ex: “ethereum”, “bitcoin”)tokenSymbol(string) - Símbolo do token (ex: “ETH”, “BTC”, “USDT”)txHash(string) - Hash da transação blockchainconfirmations(number) - Número de confirmações blockchain
- Carteira/Pagamento Digital:
walletId(string) - Identificador de carteira digitalwalletProvider(string) - Provedor de carteira (ex: “paypal”, “venmo”, “mercadopago”)walletEmail(string) - Email associado à carteira
- Campos Argentina (CBU/CVU):
cbu(string) - CBU argentino (22 dígitos)cvu(string) - CVU argentino (22 dígitos)alias(string) - Alias do CBU/CVU
- Campos México (SPEI):
clabe(string) - Número CLABE (México, 18 dígitos)trackingKey(string) - Chave de rastreamento SPEI
- Campos Dinheiro/Cheque:
checkNumber(string) - Número do chequereceiptNumber(string) - Número do recibolocation(string) - Localização do pagamento (dinheiro)
- E quaisquer outros campos relacionados a pagamento que você precisar
- Detalhes Bancários/Conta:
cryptoExchange(boolean) - É uma exchange de criptomoedashighRisk(boolean) - Flag de comerciante de alto riscoprivateSector(boolean) - Flag de setor privado
O canal através do qual a transação foi iniciada (máximo 50 caracteres).Tipo:
string (comprimento máximo: 50, opcional)Exemplos Comuns:mobile_app- Aplicativo móvelweb_browser- Navegador webpos_terminal- Terminal ponto de vendaapi- Integração API diretaatm- Caixa eletrônicophone_banking- Banking telefônicobranch- Agência físicacall_center- Central de atendimentopartner_api- Integração com parceiro
Motivo opcional do resultado da transação (ex.: recusa, falha, limite excedido). O cliente pode enviar qualquer valor do enum
transaction_reason_type. Se omitido, o sistema usa WITHOUT_REASON. Não é obrigatório — integrações atuais continuam válidas.Tipo: string (enum, opcional, padrão: WITHOUT_REASON)Valores comuns (o enum completo tem 60+ valores):WITHOUT_REASON- Sem motivo específico (padrão quando omitido)INSUFFICIENT_FUNDS- Fundos insuficientesLIMIT_EXCEEDED,DAILY_LIMIT_EXCEEDED,MONTHLY_LIMIT_EXCEEDED,TRANSACTION_LIMIT_EXCEEDEDACCOUNT_BLOCKED,ACCOUNT_FROZEN,ACCOUNT_CLOSEDCARD_EXPIRED,CARD_BLOCKED,CARD_LOST_OR_STOLEN,INVALID_CARD,INVALID_ACCOUNTFRAUD_SUSPECTED,COMPLIANCE_BLOCK,SANCTIONS_MATCH,AML_ALERT,RISK_SCORE_THRESHOLDMERCHANT_BLOCKED,COUNTRY_RESTRICTION,CURRENCY_NOT_SUPPORTED,CHANNEL_NOT_ALLOWEDSYSTEM_ERROR,TIMEOUT,INVALID_AMOUNT,KYC_PENDING,KYC_REJECTEDEXPIRED,CANCELLED_BY_USER,CANCELLED_BY_MERCHANT,REFUSED_BY_ISSUER,DO_NOT_HONORINVALID_PIN,PIN_TRIES_EXCEEDED,INSUFFICIENT_LIQUIDITY,VALIDATION_FAILED,OTHER
Informações de localização geográfica onde a transação ocorreu. Útil para detecção de fraude, análise de risco geográfico e relatórios de conformidade.Tipo: Casos de Uso:
object (opcional)Campos Suportados:Informações de Endereço:country(string) - Código de país ISO 3166-1 alpha-2 (ex: “US”, “BR”, “AR”)countryName(string) - Nome completo do paíscity(string) - Nome da cidaderegion(string) - Estado ou provínciaaddress(string) - Endereço completostreet(string) - Nome da ruastreetNumber(string) - Número da ruapostalCode(string) - Código postal/CEPneighborhood(string) - Bairro ou distrito
latitude(number) - Coordenada de latitude (-90 a 90)longitude(number) - Coordenada de longitude (-180 a 180)
timezone(string) - Fuso horário IANA (ex: “America/Sao_Paulo”)placeId(string) - ID do Google Places ou identificador similar
- Detecção de Fraude: Identificar transações de localizações incomuns ou países de alto risco
- Análise Geográfica: Analisar padrões de transações por região
- Conformidade: Rastrear transações transfronteiriças para relatórios regulatórios
- Regras de Velocidade: Detectar viagens impossíveis (mesmo usuário em diferentes localizações em pouco tempo)
Informações do dispositivo para a transação. Crítico para detecção de fraude, fingerprinting de dispositivos e análise de segurança.Tipo: Casos de Uso:
object (opcional)Campos Suportados:Identificação do Dispositivo:deviceId(string) - Identificador único do dispositivoexternalId(string) - Seu ID externo do dispositivo
platform(enum) - Plataforma do dispositivo:android,ios,web,desktop,mobile,tablet,pos,atmosName(string) - Nome do sistema operacional (ex: “Android”, “iOS”, “Windows”, “macOS”)osVersion(string) - Versão do SO (ex: “13.0”, “16.4”)
manufacturer(string) - Fabricante do dispositivo (ex: “Samsung”, “Apple”)model(string) - Modelo do dispositivo (ex: “Galaxy S22”, “iPhone 14”)brand(string) - Marca do dispositivodeviceName(string) - Nome atribuído pelo usuário ao dispositivo
browser(string) - Nome do navegador (ex: “Chrome”, “Safari”, “Firefox”)browserVersion(string) - Versão do navegadoruserAgent(string) - String completa do user agent
isEmulator(boolean) - Se o dispositivo é um emuladorisRooted(boolean) - Se o dispositivo está com root (Android)isJailbroken(boolean) - Se o dispositivo está com jailbreak (iOS)
ipAddress(string) - Endereço IP (formato validado)isVpn(boolean) - Se a conexão é através de VPNisTor(boolean) - Se a conexão é através de TorisProxy(boolean) - Se a conexão é através de proxy
deviceFingerprint(string) - Hash único de impressão digital do dispositivo para rastreamento
screenResolution(string) - Resolução da tela (ex: “1920x1080”)language(string) - Idioma do dispositivotimezone(string) - Fuso horário do dispositivo
- Detecção de Fraude: Identificar dispositivos suspeitos (emuladores, dispositivos com root, uso de VPN)
- Fingerprinting de Dispositivo: Rastrear dispositivos únicos através de transações para análise comportamental
- Análise de Segurança: Detectar anomalias em padrões de dispositivos (novo dispositivo, velocidade de dispositivo impossível)
- Conformidade: Documentar informações do dispositivo para rastros de auditoria
- Experiência do Usuário: Personalizar experiência baseada em tipo e capacidades do dispositivo
Descrição da transaçãoTipo:
string (comprimento máximo: 1000, opcional)Categoria da transação para agrupamentoTipo:
string (comprimento máximo: 100, opcional)Metadados personalizados para armazenar informações adicionais da transação.Tipo:
O campo Exemplo 2: Categorização de negócioExemplo 3: Rastreamento multi-canalExemplo 4: Operações bancáriasFiltrar transações por tags: Posteriormente você pode filtrar transações usando essas tags em endpoints de listagem ou dashboards.Campos personalizados além dos padrão são permitidos e serão preservados.
object (opcional, estrutura validada)Campos Padrão Suportados:tags (object) - Sistema de Categorização Chave-Valor
O campo tags permite adicionar pares chave-valor personalizados para categorização flexível, filtragem e gerenciamento de fluxos de trabalho. Isso é particularmente útil para:- Filtragem personalizada em dashboards e relatórios
- Ativar lógica de negócio específica
- Acompanhamento do status de revisão
- Categorização por nível de risco ou fonte
- Estados de fluxo de trabalho personalizados
{ "chave1": "valor1", "chave2": "valor2" }Padrões Comuns de Tags:risk_level(string) - “low”, “medium”, “high”, “critical”source(string) - “api”, “web”, “mobile”, “batch”, “import”channel(string) - “online”, “branch”, “atm”, “call_center”, “partner”reviewed(boolean) - false (pendente de revisão), true (revisado)category(string) - “payroll”, “supplier”, “refund”, “investment”, “loan”, “bill_payment”priority(string) - “low”, “normal”, “high”, “urgent”team(string) - “compliance”, “fraud”, “support”, “operations”campaign(string) - Identificador de campanha de marketing ou negócioapproved_by(string) - Usuário ou sistema que aprovourequires_approval(boolean) - Requer aprovação manualcustomer_segment(string) - “vip”, “regular”, “new”, “dormant”product_type(string) - “savings”, “investment”, “loan”, “transfer”region(string) - “north”, “south”, “latam”, “emea”, “apac”business_unit(string) - “retail”, “corporate”, “wealth”, “sme”
Outros Campos de Metadata:
purpose(string) - Propósito da transação (ex: “salary”, “invoice_payment”)frequency(string) - Frequência da transação (ex: “monthly”, “one-time”)contract_number(string) - Número de contrato (para pagamentos empresariais)enhanced_due_diligence(boolean) - Flag de EDDblock_reason(string) - Razão do bloqueiocompliance_alert(boolean) - Flag de alerta de compliance
Quando a transação ocorreu (timestamp ISO 8601). Padrão para o horário atual se não for fornecido.Tipo:
string (datetime ISO 8601, opcional)Se deve executar regras de risco automaticamente após criar a transaçãoTipo:
boolean (padrão: true)Métodos de Pagamento
CARD- Pagamento com cartão de crédito/débitoACH- Transferência ACH (EUA)PIX- Pagamento instantâneo brasileiroTED- Transferência bancária brasileira (TED)BOLETO- Pagamento com boleto brasileiroWALLET- Pagamento com carteira digitalSWIFT- Transferência internacional SWIFTIBAN- Transferência baseada em IBANCBU- Conta bancária argentina (CBU)CVU- Carteira virtual argentina (CVU)DEBIN- Débito direto argentinoGENERIC_BANK_ACCOUNT- Transferência bancária genéricaMPESA- Dinheiro móvel M-PesaUPI- Pagamento UPI da ÍndiaCHECK- Cheque físicoECHECK- Cheque eletrônicoQR_CODE- Pagamento com código QRONLINE_PAYMENT- Pagamento online genéricoWITHDRAWAL_ORDER- Ordem de saque
Tipos de Conta
PERSONAL- Conta pessoalBUSINESS- Conta empresarialMERCHANT- Conta de comercianteSAVINGS- Conta poupançaCHECKING- Conta correnteINVESTMENT- Conta de investimentoESCROW- Conta escrowPREPAID- Conta pré-pagaOTHER- Outro tipo de conta
Códigos MCC
Merchant Category Codes (MCC) classificam tipos de negócios:5411- Supermercados5812- Restaurantes5999- Varejo Diversos6011- Caixa Eletrônico/Saque7995- Jogos de Azar
Tags e Metadata
Suporte Multi-Moeda
O gu1 oferece conversão automática de moeda para todas as transações. Cada organização tem uma moeda base configurada (padrão: USD), e todas as transações são automaticamente convertidas para esta moeda base para avaliação consistente de regras e relatórios.Como Funciona
- Detecção Automática: Quando a
currencyde uma transação difere da moeda base da sua organização, a conversão automática é acionada - Taxas em Tempo Real: Taxas de câmbio são obtidas do nosso serviço de moeda em tempo real
- Armazenamento de Valor Duplo: Ambos os valores original e convertido são armazenados
- Avaliação de Regras: Regras podem usar tanto
amount(original) quantoamountInUsd(convertido em USD)
Moedas Suportadas
Mais de 150 moedas suportadas incluindo:- Principais: USD, EUR, GBP, JPY, CHF, CAD, AUD
- América Latina: BRL, ARS, MXN, COP, CLP, PEN, UYU
- Ásia: CNY, INR, KRW, SGD, HKD, THB, MYR
- Cripto: BTC, ETH, USDT, USDC
- E muitas mais (padrão ISO 4217)
Fontes de Taxa de Câmbio
| Fonte | Descrição | Quando Usado |
|---|---|---|
ms-provider | Taxas em tempo real do microserviço de moeda | Fonte primária |
cache-fallback | Taxas em cache quando serviço indisponível | Fallback (< 1h) |
no-conversion | Conversão não necessária (mesma moeda) | Igual à base |
client-provided | Taxa personalizada fornecida pelo cliente | Override opcional |
Campos de resposta
Os dados de conversão vêm no objeto transaction, não em um bloco separado:transaction.amount,transaction.currency– valor e moeda originaistransaction.amountInUsd– valor convertido em USD (null se a conversão falhar ou não se aplicar)transaction.exchangeRate,transaction.rateSource– taxa usada e fonte (ex.:ms-provider)
Usando Valores Convertidos em Regras
Regras podem referenciar ambos os valores:amountInUsd em regras para garantir limites consistentes independentemente da moeda da transação.
Tratamento de Erros
Se a conversão de moeda falhar:- O processamento da transação continua com o valor original
transaction.amountInUsdetransaction.exchangeRateserão null- Regras usando
amountInUsdusarão oamountoriginal como fallback se a conversão falhar - O erro é registrado mas não bloqueia a transação
Exemplo: Transação Multi-Moeda
Exemplos Completos de Requisição
Transferência PIX (Brasil)
Pagamento com Cartão
Transferência Multi-Moeda
Resposta
Especificação completa: Criar transação. A API retornatransaction como objeto (transação criada).
Resposta de Sucesso (201 Created)
Campos de Resposta
A transação criada com todos os seus dados incluindo:
- id (string) - UUID interno do gu1
- externalId (string) - Seu ID externo
- type (enum) - Tipo de transação
- status (enum) - Status da transação
- amount (string) - Valor original (string numérica)
- currency (string) - Código de moeda original (ISO 4217)
- amountInUsd (string | null) - Valor convertido em USD
- exchangeRate (string | null) - Taxa de câmbio usada (precisão: 10 decimais)
- rateSource (string | null) - Fonte da taxa de câmbio
- riskScore (string | null) - Pontuação de risco 0-100 (precisão: 2 decimais) se regras foram executadas
- riskFactors (array) - Array de fatores de risco identificados
- flagged (boolean) - Se a transação foi sinalizada para revisão
- reason (string | null) - Motivo opcional do resultado (ex.: WITHOUT_REASON, INSUFFICIENT_FUNDS); padrão WITHOUT_REASON quando omitido
Na raiz da resposta. Presente apenas quando executeRules é true e o motor de regras foi executado. Resumo de quais regras deram match (hit) e quais não (no hit), ações executadas e pontuação total. Omitido quando
executeRules é false. Estrutura completa e exemplo: Resumo de Execução de Regras.- rulesHit (array) - Regras cujas condições foram atendidas. Cada item: name, description, score, priority, category, status (ex.
active,shadow), conditions (array de{ field, value, operator? }), actions (alerts, suggestion, status, assignedUser). - rulesNoHit (array) - Regras avaliadas cujas condições não foram atendidas. Mesma estrutura que rulesHit (inclui ações configuradas, não executadas).
- actionsExecuted (object) - Ações executadas agregadas de todas as regras que deram hit: alerts (array de
{ name?, type?, severity?, description? }), suggestion (BLOCK|SUSPEND|FLAG, maior peso), status (status da entidade aplicado, se houver), assignedUser ({ userId }, se houver), customKeys (array de strings, opcional) — chaves de ações personalizadas das regras que deram match (ex.require_kyc,flag_for_review). Presente quando alguma regra que deu match tem uma ação personalizada com chave; para integrações/workflows. - totalScore (number) - Soma do score de todas as regras que deram hit e não estão em status
shadow.
Valores de Status da Transação
O status da transação segue um modelo de máquina de estados com estados abertos e fechados:Estados Abertos (Podem Transitar)
| Status | Descrição | Pode Transitar Para |
|---|---|---|
CREATED | Transação criada (estado inicial) | PROCESSING, SUSPENDED, SENT, EXPIRED, DECLINED, SUCCESSFUL |
PROCESSING | Transação em processamento | SUSPENDED, SENT, EXPIRED, DECLINED, REFUNDED, SUCCESSFUL |
SUSPENDED | Transação temporariamente suspensa | PROCESSING, SENT, EXPIRED, DECLINED, REFUNDED, SUCCESSFUL |
Estados Fechados (Finais)
| Status | Descrição | Nota |
|---|---|---|
SENT | Transação enviada/transmitida | Estado final - sem mais transições |
EXPIRED | Transação expirada | Estado final - sem mais transições |
DECLINED | Transação recusada/declinada | Estado final - sem mais transições |
REFUNDED | Transação reembolsada/revertida | Estado final - sem mais transições |
SUCCESSFUL | Transação concluída com sucesso | Estado final - sem mais transições |
Faixas de Pontuação de Risco
Pontuação de risco de 0 a 100 (armazenada com 2 decimais de precisão):- 0-30: Risco baixo (verde)
- 31-60: Risco médio (amarelo)
- 61-80: Risco alto (laranja)
- 81-100: Risco crítico (vermelho)
Fontes de Taxa de Conversão de Moeda
O camporateSource indica como a taxa de câmbio foi obtida:
- ms-provider: Taxa em tempo real do microserviço de moeda (fonte primária)
- cache-fallback: Taxa em cache (< 1h) quando serviço indisponível
- no-conversion: Conversão não necessária (moeda já é USD)
- null: Conversão falhou ou não é aplicável
Respostas de Erro
400 Bad Request - Erro de Validação
Exemplo 1: Campos obrigatórios faltando400 Bad Request - Organização Faltando
401 Unauthorized
500 Internal Server Error
Próximos Passos
Configuração de Regras
Aprenda a criar regras
Detecção de Fraude
Exemplos de detecção de fraude
Monitoramento AML
Regras de conformidade AML
Visão Geral
Voltar para visão geral