Skip to main content
POST
Endpoint Criar Transação para Monitoramento

Referência canónica do endpoint

A referência oficial do endpoint POST /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

Cria uma nova transação. Os valores são convertidos para USD quando a moeda não for USD. Com 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çalho Authorization:

Cabeçalhos Obrigatórios

Corpo da Requisição

string
required
Seu identificador único para esta transação no seu sistemaTipo: string (comprimento mínimo: 1)
string
required
Tipo de transação. Opções:
  • PAYMENT - Compra ou pagamento a comerciante
  • TRANSFER - Transferência entre contas/usuários
  • WITHDRAWAL - Saque ou débito de conta
  • DEPOSIT - Depósito ou crédito de conta
  • REFUND - Reembolso de transação anterior
  • CHARGEBACK - Disputa de estorno
  • REVERSAL - Reversão de transação
  • FEE - Cobrança de taxa ou comissão
  • ADJUSTMENT - Ajuste de saldo
  • OTHER - Outro tipo de transação
Tipo: enum - 'PAYMENT' | 'TRANSFER' | 'WITHDRAWAL' | 'DEPOSIT' | 'REFUND' | 'CHARGEBACK' | 'REVERSAL' | 'FEE' | 'ADJUSTMENT' | 'OTHER'
string
default:"CREATED"
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 processamento
  • SUSPENDED - Transação temporariamente suspensa
Estados Fechados (finais, não podem voltar a estados abertos):
  • SENT - Transação enviada/transmitida
  • EXPIRED - Transação expirada
  • DECLINED - Transação recusada/declinada
  • REFUNDED - Transação reembolsada/revertida
  • SUCCESSFUL - Transação concluída com sucesso
Tipo: 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.
number
required
Valor da transação (deve ser positivo)Tipo: number (> 0)
string
required
Código ISO 4217 de moeda (ex: “USD”, “BRL”, “EUR”)Tipo: string (comprimento: 3)
string
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ébito
  • ACH - Automated Clearing House (transferência bancária US)
  • PIX - Sistema de pagamentos instantâneos do Brasil
  • TED - Transferência bancária brasileira (Transferência Eletrônica Disponível)
  • BOLETO - Boleto de pagamento brasileiro
  • WALLET - Carteira digital (PayPal, Venmo, etc.)
  • SWIFT - Transferência internacional SWIFT
  • IBAN - Transferência bancária baseada em IBAN
  • CBU - Conta bancária argentina (Clave Bancaria Uniforme)
  • CVU - Conta virtual argentina (Clave Virtual Uniforme)
  • DEBIN - Sistema de débito instantâneo argentino
  • GENERIC_BANK_ACCOUNT - Transferência de conta bancária genérica
  • MPESA - M-Pesa mobile money (Quênia)
  • UPI - Unified Payments Interface (Índia)
  • CHECK - Pagamento com cheque
  • ECHECK - Cheque eletrônico
  • QR_CODE - Pagamento com código QR
  • ONLINE_PAYMENT - Pagamento online genérico
  • WITHDRAWAL_ORDER - Ordem de saque
  • CASH - Dinheiro (espécie)
Exemplo: "PIX" ou "CARD"
string
UUID da entidade de origem (remetente) no sistema gu1Tipo: string (uuid, opcional)
string
Seu ID externo para a entidade de origemTipo: string (opcional)
string
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)
string
Nome da entidade de origem (remetente)Tipo: string (comprimento máximo: 500, opcional)
string
Código de país ISO 3166-1 alpha-2 da entidade de origemTipo: string (comprimento: 2, opcional)
object
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.: 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 entidade
  • originDetails.country = País do dispositivo/IP no momento da transação (pode diferir se estiver viajando)
Campos Suportados:Dispositivo/Técnico:
  • deviceId (string) - Identificador do dispositivo
  • deviceFingerprint (string) - Hash de impressão digital do dispositivo
  • deviceType (enum) - mobile | desktop | tablet | pos | atm
  • userAgent (string) - User agent do navegador
  • ipAddress (string) - Endereço IP (formato validado)
Geolocalização:
  • country (string) - Código ISO de 2 letras
  • city (string) - Nome da cidade
  • region (string) - Estado/província
  • latitude (number) - Latitude (-90 a 90)
  • longitude (number) - Longitude (-180 a 180)
  • timezone (string) - Identificador de fuso horário
Detalhes de Pagamento (objeto aninhado):
  • 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 conta
      • accountType (enum) - checking | savings | business | personal
      • bankCode (string) - Código do banco
      • bankName (string) - Nome do banco
      • routingNumber (string) - Routing number (US)
      • swiftCode (string) - Código SWIFT/BIC
      • iban (string) - IBAN (International Bank Account Number)
    • Detalhes PIX (Brasil):
      • pixKey (string) - Chave PIX
      • pixType (enum) - Tipo de chave PIX: email | phone | cpf | cnpj | random
      • endToEndId (string) - ID único end-to-end do PIX
    • Detalhes de Cartão:
      • cardLast4 (string) - Últimos 4 dígitos do cartão
      • cardBrand (string) - Bandeira do cartão (Visa, Mastercard, Amex, etc.)
      • cardholderName (string) - Nome no cartão
      • cardBin (string) - Primeiros 6 dígitos do cartão (BIN)
      • cardType (enum) - credit | debit | prepaid
      • cardCountry (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 criptomoeda
      • walletType (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 blockchain
      • confirmations (number) - Número de confirmações blockchain
    • Carteira/Pagamento Digital:
      • walletId (string) - Identificador de carteira digital
      • walletProvider (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 cheque
      • receiptNumber (string) - Número do recibo
      • location (string) - Localização do pagamento (dinheiro)
    • E quaisquer outros campos relacionados a pagamento que você precisar
Referência: Para estruturas sugeridas por método de pagamento (cartão, PIX, CBU/CVU, SPEI, PSE, DEBIN, cripto, wallet, dinheiro, cheque, etc.) ver Payment Details Schema. Nada é exigido; campos custom são permitidos.Flags de Segurança:
  • isVpn (boolean) - VPN detectada
  • isTor (boolean) - Rede Tor detectada
  • isProxy (boolean) - Proxy detectado
  • governmentAccount (boolean) - Flag de conta governamental
Exemplo:
Campos personalizados são permitidos - o sistema validará campos conhecidos e preservará os personalizados.
string
UUID da entidade de destino (destinatário) no sistema gu1Tipo: string (uuid, opcional)
string
Seu ID externo para a entidade de destinoTipo: string (opcional)
string
Documento de destino no raiz; terceiro critério, mesma regra de originTaxId. Tipo: string (opcional)
string
Nome da entidade de destino (destinatário)Tipo: string (comprimento máximo: 500, opcional)
string
Código de país ISO 3166-1 alpha-2 da entidade de destinoTipo: string (comprimento: 2, opcional)
object
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.: 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 comerciante
  • merchantName (string) - Nome do comerciante
  • merchantType (string) - Tipo/categoria do comerciante
Dispositivo/Técnico:
  • deviceId (string) - Identificador do dispositivo
  • deviceType (enum) - pos | online | mobile | atm
  • ipAddress (string) - Endereço IP (formato validado)
Geolocalização:
  • country (string) - Código ISO de 2 letras
  • city (string) - Nome da cidade
  • region (string) - Estado/província
Detalhes de Pagamento (objeto aninhado):
  • 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 destino
      • accountType (enum) - checking | savings | business | merchant
      • bankCode (string) - Código do banco
      • bankName (string) - Nome do banco
      • routingNumber (string) - Routing number (US)
      • swiftCode (string) - Código SWIFT/BIC
      • iban (string) - IBAN (International Bank Account Number)
    • Detalhes PIX (Brasil):
      • pixKey (string) - Chave PIX
      • pixType (enum) - Tipo de chave PIX: email | phone | cpf | cnpj | random
      • endToEndId (string) - ID único end-to-end do PIX
    • Detalhes de Cartão:
      • cardLast4 (string) - Últimos 4 dígitos do cartão
      • cardBrand (string) - Bandeira do cartão (Visa, Mastercard, Amex, etc.)
      • cardholderName (string) - Nome no cartão
      • cardBin (string) - Primeiros 6 dígitos do cartão (BIN)
      • cardType (enum) - credit | debit | prepaid
      • cardCountry (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 criptomoeda
      • walletType (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 blockchain
      • confirmations (number) - Número de confirmações blockchain
    • Carteira/Pagamento Digital:
      • walletId (string) - Identificador de carteira digital
      • walletProvider (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 cheque
      • receiptNumber (string) - Número do recibo
      • location (string) - Localização do pagamento (dinheiro)
    • E quaisquer outros campos relacionados a pagamento que você precisar
Referência: Para estruturas sugeridas por método de pagamento ver Payment Details Schema. Nada é exigido; campos custom são permitidos.Flags de Risco:
  • cryptoExchange (boolean) - É uma exchange de criptomoedas
  • highRisk (boolean) - Flag de comerciante de alto risco
  • privateSector (boolean) - Flag de setor privado
Exemplo:
Campos personalizados são permitidos - o sistema validará campos conhecidos e preservará os personalizados.
string
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óvel
  • web_browser - Navegador web
  • pos_terminal - Terminal ponto de venda
  • api - Integração API direta
  • atm - Caixa eletrônico
  • phone_banking - Banking telefônico
  • branch - Agência física
  • call_center - Central de atendimento
  • partner_api - Integração com parceiro
Caso de Uso: Ajuda a segmentar transações por canal de origem para análise de risco, relatórios e inteligência de negócios.Exemplo:
string
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 insuficientes
  • LIMIT_EXCEEDED, DAILY_LIMIT_EXCEEDED, MONTHLY_LIMIT_EXCEEDED, TRANSACTION_LIMIT_EXCEEDED
  • ACCOUNT_BLOCKED, ACCOUNT_FROZEN, ACCOUNT_CLOSED
  • CARD_EXPIRED, CARD_BLOCKED, CARD_LOST_OR_STOLEN, INVALID_CARD, INVALID_ACCOUNT
  • FRAUD_SUSPECTED, COMPLIANCE_BLOCK, SANCTIONS_MATCH, AML_ALERT, RISK_SCORE_THRESHOLD
  • MERCHANT_BLOCKED, COUNTRY_RESTRICTION, CURRENCY_NOT_SUPPORTED, CHANNEL_NOT_ALLOWED
  • SYSTEM_ERROR, TIMEOUT, INVALID_AMOUNT, KYC_PENDING, KYC_REJECTED
  • EXPIRED, CANCELLED_BY_USER, CANCELLED_BY_MERCHANT, REFUSED_BY_ISSUER, DO_NOT_HONOR
  • INVALID_PIN, PIN_TRIES_EXCEEDED, INSUFFICIENT_LIQUIDITY, VALIDATION_FAILED, OTHER
Lista completa: Ver Enum Motivo da Transação para os 60+ valores permitidos.Exemplo:
object
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: 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ís
  • city (string) - Nome da cidade
  • region (string) - Estado ou província
  • address (string) - Endereço completo
  • street (string) - Nome da rua
  • streetNumber (string) - Número da rua
  • postalCode (string) - Código postal/CEP
  • neighborhood (string) - Bairro ou distrito
Coordenadas (para visualização em mapas):
  • latitude (number) - Coordenada de latitude (-90 a 90)
  • longitude (number) - Coordenada de longitude (-180 a 180)
Informações Adicionais:
  • timezone (string) - Fuso horário IANA (ex: “America/Sao_Paulo”)
  • placeId (string) - ID do Google Places ou identificador similar
Exemplo:
Casos de Uso:
  • 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)
object
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: object (opcional)Campos Suportados:Identificação do Dispositivo:
  • deviceId (string) - Identificador único do dispositivo
  • externalId (string) - Seu ID externo do dispositivo
Plataforma e Sistema Operacional:
  • platform (enum) - Plataforma do dispositivo: android, ios, web, desktop, mobile, tablet, pos, atm
  • osName (string) - Nome do sistema operacional (ex: “Android”, “iOS”, “Windows”, “macOS”)
  • osVersion (string) - Versão do SO (ex: “13.0”, “16.4”)
Informações do Dispositivo:
  • manufacturer (string) - Fabricante do dispositivo (ex: “Samsung”, “Apple”)
  • model (string) - Modelo do dispositivo (ex: “Galaxy S22”, “iPhone 14”)
  • brand (string) - Marca do dispositivo
  • deviceName (string) - Nome atribuído pelo usuário ao dispositivo
Informações do Navegador (para plataforma web):
  • browser (string) - Nome do navegador (ex: “Chrome”, “Safari”, “Firefox”)
  • browserVersion (string) - Versão do navegador
  • userAgent (string) - String completa do user agent
Flags de Segurança:
  • isEmulator (boolean) - Se o dispositivo é um emulador
  • isRooted (boolean) - Se o dispositivo está com root (Android)
  • isJailbroken (boolean) - Se o dispositivo está com jailbreak (iOS)
Informações de Rede:
  • ipAddress (string) - Endereço IP (formato validado)
  • isVpn (boolean) - Se a conexão é através de VPN
  • isTor (boolean) - Se a conexão é através de Tor
  • isProxy (boolean) - Se a conexão é através de proxy
Fingerprinting de Dispositivo:
  • deviceFingerprint (string) - Hash único de impressão digital do dispositivo para rastreamento
Detalhes Adicionais:
  • screenResolution (string) - Resolução da tela (ex: “1920x1080”)
  • language (string) - Idioma do dispositivo
  • timezone (string) - Fuso horário do dispositivo
Exemplo:
Casos de Uso:
  • 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
string
Descrição da transaçãoTipo: string (comprimento máximo: 1000, opcional)
string
Categoria da transação para agrupamentoTipo: string (comprimento máximo: 100, opcional)
object
Metadados personalizados para armazenar informações adicionais da transação.Tipo: 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
Formato: { "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ócio
  • approved_by (string) - Usuário ou sistema que aprovou
  • requires_approval (boolean) - Requer aprovação manual
  • customer_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”
Exemplos de Casos de Uso:Exemplo 1: Fluxo de trabalho baseado em risco
Exemplo 2: Categorização de negócio
Exemplo 3: Rastreamento multi-canal
Exemplo 4: Operações bancárias
Filtrar transações por tags: Posteriormente você pode filtrar transações usando essas tags em endpoints de listagem ou dashboards.

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 EDD
  • block_reason (string) - Razão do bloqueio
  • compliance_alert (boolean) - Flag de alerta de compliance
Exemplo Completo:
Campos personalizados além dos padrão são permitidos e serão preservados.
string
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)
boolean
default:"true"
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ébito
  • ACH - Transferência ACH (EUA)
  • PIX - Pagamento instantâneo brasileiro
  • TED - Transferência bancária brasileira (TED)
  • BOLETO - Pagamento com boleto brasileiro
  • WALLET - Pagamento com carteira digital
  • SWIFT - Transferência internacional SWIFT
  • IBAN - Transferência baseada em IBAN
  • CBU - Conta bancária argentina (CBU)
  • CVU - Carteira virtual argentina (CVU)
  • DEBIN - Débito direto argentino
  • GENERIC_BANK_ACCOUNT - Transferência bancária genérica
  • MPESA - Dinheiro móvel M-Pesa
  • UPI - Pagamento UPI da Índia
  • CHECK - Cheque físico
  • ECHECK - Cheque eletrônico
  • QR_CODE - Pagamento com código QR
  • ONLINE_PAYMENT - Pagamento online genérico
  • WITHDRAWAL_ORDER - Ordem de saque
  • CASH - Dinheiro (espécie)

Tipos de Conta

  • PERSONAL - Conta pessoal
  • BUSINESS - Conta empresarial
  • MERCHANT - Conta de comerciante
  • SAVINGS - Conta poupança
  • CHECKING - Conta corrente
  • INVESTMENT - Conta de investimento
  • ESCROW - Conta escrow
  • PREPAID - Conta pré-paga
  • OTHER - Outro tipo de conta

Códigos MCC

Merchant Category Codes (MCC) classificam tipos de negócios:
Exemplos comuns:
  • 5411 - Supermercados
  • 5812 - Restaurantes
  • 5999 - Varejo Diversos
  • 6011 - Caixa Eletrônico/Saque
  • 7995 - Jogos de Azar

Tags e Metadata

Suporte Multi-Moeda

A gu1 converte uma transação para a moeda base da organização (padrão: USD) quando currency está em Moedas com conversão automática. Códigos fora dessa lista são gravados sem taxa automática.

Como Funciona

  1. Detecção Automática: Quando a currency de uma transação difere da moeda base da sua organização, a conversão automática é acionada
  2. Taxas em Tempo Real: Taxas de câmbio são obtidas do nosso serviço de moeda em tempo real
  3. Armazenamento de Valor Duplo: Ambos os valores original e convertido são armazenados
  4. Avaliação de Regras: Regras podem usar tanto amount (original) quanto amountInUsd (convertido em USD)

Moedas com conversão automática

A lista fechada está em Moedas com conversão automática. BTC está incluída. ETH, USDT, USDC e qualquer código que não figure lá não são convertidos automaticamente.

Fontes de Taxa de Câmbio

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 originais
  • transaction.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:
Ou use o valor convertido para limites consistentes:
Melhor Prática: Use 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.amountInUsd e transaction.exchangeRate serão null
  • Regras usando amountInUsd usarão o amount original como fallback se a conversão falhar
  • O erro é registrado mas não bloqueia a transação

Exemplo: Transação Multi-Moeda

Resposta (a conversão fica no transaction):

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 retorna transaction como objeto (transação criada).

Resposta de Sucesso (201 Created)

Campos de Resposta

object
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
object
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)

Estados Fechados (Finais)

Importante: Uma vez que uma transação atinge um estado fechado, não pode transitar de volta para um estado aberto. Isso garante a integridade da transação e trilhas de auditoria adequadas.

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 campo rateSource 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 faltando
Exemplo 2: paymentDetails inválidos para cartão (aninhado em originDetails)
Exemplo 3: Detalhes PIX inválidos (aninhado em originDetails)
Exemplo 4: Endereço IP inválido em originDetails

400 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