Pular para o conteúdo principal
Operações são os blocos de construção das transações. Cada transação é composta por duas ou mais operações (Figura 1). Cada operação registra uma alteração no saldo de uma conta:
  • Uma operação de Débito registra valor saindo de uma conta — a origem.
  • Uma operação de Crédito registra valor entrando em uma conta — o destino.
O efeito sobre o saldo armazenado depende da direction do saldo: uma conta normal (o caso comum) diminui com um débito e aumenta com um crédito. Se decompormos uma transação, ela é uma coleção de operações que juntas devem ter saldo zero da perspectiva do ledger. Por exemplo, um pagamento P2P com taxa pode incluir:
  • um débito de $100 da conta do remetente.
  • um crédito de $98 na conta do destinatário.
  • um crédito de $2 na conta de taxas da plataforma.
O Midaz garante que as transações estejam sempre balanceadas antes de serem confirmadas. As Operações também carregam metadados como timestamps e referências à transação à qual pertencem. Na API ou DSL do Midaz, ao criar uma transação, você deve especificar um conjunto de operações, cada uma com um valor, ativo, conta de origem/destino, e assim por diante, e o sistema valida que elas estejam balanceadas antes de confirmar.

Características principais


  • Cada operação pertence a uma transação e referencia uma conta e ativo específicos.
  • As operações incluem metadados como valor, direção (débito/crédito), tipo, timestamps, referências e mais.
  • As operações são criadas quando você inicia uma transação e preenchidas com os dados que você fornece.
  • O Midaz valida todas as operações contra as regras configuradas antes de confirmá-las no ledger.
Toda operação tem uma direction (debit ou credit) — a base das partidas dobradas descrita acima — e um type que classifica a movimentação. Além dos padrão CREDIT e DEBIT, o type captura movimentações especiais: ON_HOLD e RELEASE (reservas de fundos em duas fases), OVERDRAFT (operações acompanhantes geradas pelo sistema no saldo interno de overdraft), e BLOCK e UNBLOCK (produzidos pelos endpoints dedicados de bloqueio e desbloqueio). direction sempre mantém seu significado débito/crédito independentemente do type.

Rotas de Operação


Com as Rotas Contábeis, a execução de uma operação agora se conecta à lógica de validação estruturada — e é aí que entram as Rotas de Operação.

O que é uma Rota de Operação?

Uma Rota de Operação é uma regra de validação que define quais tipos de conta ou contas específicas devem ser usados em um componente de transação, juntamente com a direção contábil (origem/destino) e anotação descritiva. Ela funciona como uma camada de validação entre a entrada da transação e a estrutura do ledger, garantindo que cada operação enviada pelos usuários atenda aos requisitos de conta predefinidos e regras de negócio.
Resumindo: Transações contêm múltiplas Operações. Rotas de Operação validam cada Operação contra as regras de validação configuradas.

Relacionamento Operação > Rota de Operação

Quando uma transação é enviada ao Midaz, ela contém múltiplas Operações. Com os Tipos de Conta e Rotas Contábeis habilitados, cada uma dessas operações é validada contra as regras definidas nas Rotas de Operação para garantir:
  • A conta especificada corresponde ao tipo de conta esperado ou requisito de conta específica.
  • A direção da operação (débito/crédito) está alinhada com a definição da rota.
Isso adiciona uma camada poderosa de validação, consistência e integridade ao processamento de transações — especialmente ao lidar com requisitos financeiros estruturados.
Se as operações enviadas não corresponderem aos requisitos da Rota de Operação configurada, a transação falhará na validação e será rejeitada.

Gerenciando Operações


O Midaz gera operações automaticamente como parte do fluxo de uma transação. Você não pode criá-las diretamente, mas pode consultar uma operação conforme necessário.