Esta integração é opcional. O Matcher é um produto independente que funciona de forma autônoma. Use este guia apenas se você quiser integrar o Matcher com o Midaz Ledger.
Visão geral
A integração com o Midaz oferece:
- Acesso direto ao ledger: Consulte transações diretamente do Midaz sem necessidade de exportar arquivos
- Sincronização em tempo real: Sincronização automática de transações conforme os lançamentos são registrados
- Autenticação unificada: Sistema único de autenticação via lib-auth
- Isolamento de tenants: Arquitetura de schema-por-tenant garante a separação de dados
Pré-requisitos
Antes de configurar a integração com o Midaz:
- Instância do Midaz Ledger em execução e acessível
- Credenciais de API com permissões de leitura de transações
- Conectividade de rede entre o Matcher e o Midaz
- Configuração de tenant correspondente em ambos os sistemas
Configuração
Variáveis de ambiente
Configure o Matcher para conectar à sua instância do Midaz:Criar source do Midaz
Crie um source do tipo MIDAZ através da API de configuração de sources.Configurações do source
| Configuração | Tipo | Descrição |
|---|---|---|
ledger_id | String | ID do ledger de destino no Midaz |
account_filter.type | String | Filtro por tipo de conta (ASSET, LIABILITY, etc.) |
account_filter.path_prefix | String | Prefixo do caminho da conta a incluir |
account_filter.accounts | Array | IDs de contas específicas a incluir |
sync_mode | String | realtime ou batch |
lookback_days | Integer | Dias de dados históricos a incluir |
exclude_pending | Boolean | Excluir lançamentos pendentes |
Autenticação
O Matcher usa o mesmo sistema de autenticação que o Midaz através da biblioteca compartilhada
lib-auth.
Autenticação serviço-a-serviço
O Matcher se autentica no Midaz usando credenciais de cliente OAuth 2.0:Escopos necessários
| Escopo | Permissão |
|---|---|
ledger:read | Ler metadados do ledger |
transactions:read | Ler lançamentos de transações |
accounts:read | Ler informações de contas |
Contexto do tenant
Todas as requisições incluem o header de contexto do tenant:Consultando transações
Sincronização automática
Comsync_mode: realtime, o Matcher se inscreve nos eventos do Midaz e recebe as transações assim que são registradas. Quando uma transação é criada no Midaz, ele publica um evento na fila de mensagens. O Matcher consome o evento, armazena a transação localmente e a coloca na fila para matching—tudo sem intervenção manual.

Filtros de consulta
Filtre transações ao sincronizar:Mapeamento de transações
As transações do Midaz são automaticamente mapeadas para o schema do Matcher:
| Campo Midaz | Campo Matcher | Observações |
|---|---|---|
id | transaction_id | ID único do lançamento |
amount | amount | Valor decimal |
asset_code | currency | Código de moeda ISO |
created_at | date | Data do lançamento |
description | reference | Descrição do lançamento |
metadata.external_ref | external_id | Referência externa, se presente |
operation | type | CREDIT ou DEBIT |
Mapeamento de campos personalizado
Sobrescreva o mapeamento padrão para casos de uso específicos:Isolamento de tenants
O Matcher herda o modelo de isolamento schema-por-tenant do Midaz.
Como funciona
- Cada tenant possui um schema PostgreSQL dedicado
- Todas as consultas são limitadas ao schema do tenant
- O pool de conexões mantém o contexto do schema
- Não é possível acesso a dados entre tenants
Resolução do tenant
O tenant é determinado a partir do token de autenticação:Tratamento de erros
Erros de conexão
Erros de autenticação
Erros de sincronização
Boas práticas
Use sincronização em tempo real para reconciliação ativa
Use sincronização em tempo real para reconciliação ativa
Habilite
sync_mode: realtime para contextos com reconciliação diária. Isso garante que as transações estejam disponíveis para matching imediatamente após o registro.Filtre por caminho de conta
Filtre por caminho de conta
Use
account_filter.path_prefix para limitar as transações às contas relevantes. Isso reduz o volume de dados e melhora o desempenho do matching.Defina um período de lookback apropriado
Defina um período de lookback apropriado
Configure
lookback_days com base no seu ciclo de reconciliação. Reconciliação diária geralmente precisa de 7-14 dias; mensal precisa de 45-60 dias.Monitore o atraso de sincronização
Monitore o atraso de sincronização
Acompanhe o atraso entre os registros no Midaz e a disponibilidade no Matcher. Alto atraso pode indicar acúmulo na fila ou problemas de processamento.
Use metadados para matching
Use metadados para matching
Armazene dados relevantes para matching nos campos de metadados do Midaz (números de fatura, referências bancárias) e mapeie-os para campos do Matcher para melhores taxas de correspondência.

