Skip to main content
Uma operação é a menor unidade de uma transação. Toda transação contém duas ou mais operações (Figura 1). Cada operação registra uma mudança no saldo de uma conta:
  • Uma operação de débito registra o valor que sai de uma conta (a origem).
  • Uma operação de crédito registra o valor que entra em uma conta (o destino).
O efeito no saldo armazenado depende do direction do saldo. Uma conta normal (o caso comum) diminui em um débito e aumenta em um crédito. Uma transação contém operações que devem somar zero do ponto de vista do ledger. Por exemplo, um pagamento P2P com tarifa inclui:
  • um débito de $100 da conta do remetente.
  • um crédito de $98 para a conta do destinatário.
  • um crédito de $2 para a conta de tarifas da plataforma.
O Midaz garante que uma transação esteja balanceada antes de fazer o commit. As operações também carregam metadados como carimbos de data/hora e referências à transação a que pertencem. Você cria uma transação pela API JSON do Midaz. Para cada transação, você especifica um conjunto de operações. Cada operação tem um valor, um ativo e uma conta de origem ou destino.

Principais características


  • Cada operação pertence a uma transação e faz referência a uma conta e um ativo específicos.
  • As operações incluem metadados como valor, direção (débito/crédito), tipo, carimbos de data/hora, referências e mais.
  • O Midaz cria as operações quando você inicia uma transação e as preenche com os dados que você fornece.
  • O Midaz valida todas as operações em relação às regras configuradas antes de fazer o commit no ledger.
Toda operação tem um direction (debit ou credit) e um type. O direction é a espinha dorsal de partidas dobradas descrita acima. O type classifica o movimento. Além dos padrões CREDIT e DEBIT, o type marca movimentos especiais:
  • ON_HOLD e RELEASE: reservas de fundos em duas fases.
  • OVERDRAFT: operações complementares geradas pelo sistema no saldo interno de overdraft.
  • BLOCK e UNBLOCK: o rótulo aplicado a toda operação de uma transação criada pelos endpoints dedicados de bloqueio e desbloqueio. O rótulo altera apenas o type da operação, nunca sua direção ou valor.
O direction sempre mantém seu significado de débito ou crédito, independentemente do type.

Operation Routes


Com as Accounting Routes, cada operação se conecta a uma lógica de validação estruturada. Essa lógica está em Operation Routes.

O que é uma Operation Route?

Uma Operation Route é uma regra de validação. Ela define quais tipos de conta ou contas específicas um componente de transação pode usar. Ela também define a direção contábil (origem ou destino) e uma anotação descritiva. É uma camada de validação entre a entrada da transação e a estrutura do ledger. Cada operação que você envia deve atender aos requisitos de conta e às regras de negócio.
Transações contêm várias operações. As Operation Routes validam cada operação em relação às regras de validação configuradas.

Relação entre Operation e Operation Route

Quando você envia uma transação ao Midaz, ela contém várias Operations. Com Account Types e Accounting Routes habilitados, o Midaz valida cada operação em relação às regras nas Operation Routes. Isso garante que:
  • A conta especificada corresponda ao tipo de conta esperado ou ao requisito de conta específica.
  • A direção da operação (débito/crédito) esteja alinhada com a definição da rota.
Se as operações que você envia não corresponderem aos requisitos configurados na Operation Route, o Midaz falha na validação e rejeita a transação.

Gerenciando Operations


O Midaz gera operações automaticamente como parte do fluxo de uma transação. Você não pode criar uma operação diretamente. Você pode consultar uma operação quando precisar.