Skip to main content
Este guia explica como transformar as operações de conta do Midaz em extratos de conta para o usuário final. Você constrói um extrato de conta a partir das operações de conta do Midaz. Cada operação é uma movimentação do ledger que se vincula a uma conta, como um crédito, débito, retenção, liberação ou evento de cheque especial. Para construir um extrato, recupere as operações de conta do período. Mantenha as operações que afetam a visão do extrato. Depois transforme cada operação em uma linha que os usuários consigam entender.
Fluxo do saldo da conta

Fluxo do saldo da conta

1

Recuperar as operações de conta

Use o endpoint Listar Operações por Conta para listar as operações de uma conta específica:
2

Aplicar filtros de consulta

Use parâmetros de consulta para definir o período do extrato, controlar a paginação e filtrar as operações que o endpoint retorna.

Obrigatórios para consultas de extrato

Você precisa desses campos para este caso de uso de extrato. Eles definem a janela do extrato e tornam o resultado previsível para os usuários.

Obrigatório para paginação

Filtros opcionais

O endpoint pode retornar os seguintes tipos de operação:Use type para classificar a movimentação contábil. Use direction para decidir se o extrato exibe o valor como positivo ou negativo.Exemplo de requisição:
3

Transformar as operações em entradas do extrato

Cada objeto no array items pode se tornar uma linha do extrato.

Obrigatório para renderizar o extrato

Você precisa desses campos para renderizar uma linha útil do extrato. A API não exige todos eles. Um extrato sem eles perde significado, rastreabilidade ou contexto de saldo.

Recomendado para extratos amigáveis ao usuário

O Midaz retorna a movimentação do ledger. O sistema integrador deve adicionar o contexto de negócio no metadata de cada entrada source.from[] e distribute.to[] relevante quando cria a transação; o metadata não se propaga das entradas de origem para as de destino.Exemplo de transformação:
4

Aplicar regras de exibição do extrato

Use direction para determinar o sinal

Não use type para determinar se o valor é positivo ou negativo. O campo type classifica a movimentação contábil, enquanto direction define se o valor entra ou sai da conta.

Trate as operações de retenção e liberação separadamente

Não exiba as operações com os seguintes tipos como movimentações liquidadas regulares:
  • ON_HOLD
  • RELEASE
Em vez disso:
  • ON_HOLD deve aparecer como uma retenção de saldo ou bloqueio temporário
  • RELEASE deve aparecer como uma liberação ou desbloqueio de saldo

Defina uma política de Operations liquidadas

Não use balanceAffected como predicado de Operation liquidada. Uma Operation ON_HOLD normal pode definir balanceAffected como true sem alterar o saldo disponível. Defina a política do seu extrato explicitamente a partir do tipo e do status da Operation e exiba ON_HOLD e RELEASE conforme as regras de retenção/liberação acima.
5

Tratar a paginação

O endpoint divide as respostas em páginas de acordo com o valor de limit.Para recuperar todas as operações:
  1. Leia o campo next_cursor da resposta
  2. Envie-o como o parâmetro cursor na próxima requisição
  3. Repita até que a resposta não retorne mais next_cursor
Exemplo de fluxo:

Exemplo de saída do extrato

Depois de você aplicar os filtros, transformar as operações e aplicar as regras de exibição, o extrato final pode ficar assim: A API não retorna uma página de extrato pronta. Ela retorna eventos do ledger que o sistema integrador transforma em uma experiência de extrato.

Adicionar contexto de negócio

O endpoint de operações retorna eventos contábeis. Um extrato voltado ao usuário precisa de mais contexto do que apenas a movimentação do ledger. Envie os metadados de negócio em cada entrada source.from[] e distribute.to[] quando você cria a transação. O Midaz armazena esses campos na Operation correspondente. O extrato pode usá-los depois para mostrar quem, o quê e por quê por trás da movimentação.
  • counterparty
  • document
  • pixKey
  • endToEndId
  • channel
  • category
Exemplo de metadados:
Isso permite que você exiba entradas como:
  • “Pix recebido de John Doe”
  • “Compra com cartão em Coffee Shop”
  • “Transferência para Conta Poupança”
em vez de descrições contábeis genéricas. Se o sistema integrador não enviar esses campos, o extrato continua funcionando. Então ele só consegue exibir os dados contábeis que a operação retorna.
O Midaz mantém o ledger consistente e auditável. O sistema integrador adiciona o contexto de negócio aos metadados de cada Operation.