Skip to main content
Antes do deploy do Matcher, garanta que seu ambiente atende aos requisitos descritos nesta página. Estes pré-requisitos definem a base para rodar a conciliação de forma confiável em ambientes de desenvolvimento e de produção.

Requisitos de sistema


Infraestrutura

Os valores abaixo são pontos de partida operacionais validados na plataforma, não mínimos aplicados pelo produto. Ajuste-os conforme seu volume de transações e sua necessidade de retenção.

Dependências

A stack local do Compose é a base de dependências validada na plataforma. Ela fixa:
  • PostgreSQL 17: armazenamento primário de dados para contextos de conciliação, transações, correspondências e logs de auditoria.
  • Valkey 8: serviço compatível com Redis usado para cache, detecção de duplicados, travas distribuídas e controle de idempotência.
  • RabbitMQ 4.1.3: message broker para processamento assíncrono entre bounded contexts.

Runtime

As versões a seguir são a base de ferramentas validada na plataforma, não uma matriz de suporte do produto:
  • Go 1.26+ (obrigatório apenas ao compilar a partir do código-fonte)
  • Docker 24+ e Docker Compose 2.20+ para deploys em contêineres
  • Kubernetes 1.28+ para deploys de nível de produção com Helm

Opcional: conciliar dados do Midaz


O Matcher se combina com o Midaz Ledger, mas não existe conector ativo entre eles. O Matcher não tem MIDAZ_API_URL e não abre conexão com o Midaz. Conciliar dados do Midaz é totalmente opcional. O Matcher funciona como produto independente que concilia quaisquer fontes de dados.

Quando conciliar dados do Midaz

Concilie dados de ledger do Midaz se:
  • Você usa o Midaz como seu sistema de ledger
  • Você quer conciliar os lançamentos do Midaz com fontes externas (extratos bancários, relatórios de gateway)

Quando o Midaz não está envolvido

O Matcher funciona de forma independente quando:
  • Ao conciliar entre sistemas externos (bancos, ERPs, processadores de pagamento)
  • Ao usar outro sistema de ledger
  • Ao importar dados de ledger por arquivos CSV/JSON/XML

Como funciona

O Matcher concilia dados do Midaz do mesmo jeito que ingere qualquer fonte (por importação, não por consulta ativa):
  1. Exporte os dados do ledger do período que você quer conciliar.
  2. Importe essa exportação para um contexto do Matcher como fonte do tipo LEDGER.
  3. Importe os dados da contraparte (extrato bancário ou relatório de gateway) como o outro lado.
  4. O Matcher faz a correspondência dos dois lados usando suas regras de correspondência.
Veja o guia Matcher e Midaz para o fluxo completo.

Autenticação


O Matcher usa lib-auth para autenticação e autorização, de forma consistente com o resto do ecossistema Lerian.

Fluxo de autenticação

  1. O cliente obtém um JWT do provedor de identidade
  2. O cliente envia o token no header Authorization: Bearer ***.
  3. O Matcher valida o token pela lib-auth
  4. As claims do token fornecem a identidade do tenant e as permissões

Permissões obrigatórias

Permissões refinadas controlam o acesso aos recursos do Matcher:

Modo single-tenant

MULTI_TENANT_ENABLED controla esse modo. O padrão dele é false, o que faz o Matcher usar o tenant padrão abaixo. O estado de autenticação ou a ausência da claim de tenant no JWT não muda o Matcher para o modo single-tenant.

Formatos genéricos de importação


Os importadores genéricos do Matcher aceitam CSV, JSON e XML. Os parsers embutidos também aceitam CAMT.053, CNAB 240/400, OFX, vários formatos de adquirente e formatos de recebíveis. Veja o catálogo de formatos de importação para o inventário completo. Cada formato genérico tem requisitos estruturais específicos para a ingestão dar certo.

CSV (valores separados por vírgula)

Muito usado para extratos bancários e exportações. Requisitos:
  • O arquivo deve ter uma linha de cabeçalho
  • Codificação UTF-8
  • Delimitador vírgula (configurável)
  • Campos entre aspas para valores que contêm delimitadores
Exemplo:

JSON (notação de objetos javascript)

Recomendado para integrações baseadas em API. Requisitos:
  • Array JSON válido de objetos de transação
  • Codificação UTF-8
  • Nomes de campo consistentes entre os registros
Exemplo:

XML (linguagem de marcação extensível)

Comum em integrações corporativas e bancárias. Requisitos:
  • Um único elemento raiz
  • Codificação UTF-8
  • Estrutura de elementos consistente
Exemplo:

Limites de tamanho de arquivo

Requisitos de rede


Acesso de entrada

O Matcher expõe uma API REST que deve estar acessível para os clientes:

Acesso de saída

O Matcher deve conseguir alcançar os serviços a seguir:

Configuração de TLS

Em ambientes de produção, configure o TLS:

Checklist do ambiente


Antes de seguir com a instalação, confirme que:
  • A infraestrutura está pronta: PostgreSQL, Redis e RabbitMQ estão no ar e acessíveis. O armazenamento de objetos compatível com S3 também está pronto se você habilitar o worker de exportação (o padrão)
  • A autenticação está pronta: o serviço de autenticação está disponível, ou você desligou a autenticação de forma explícita
  • O acesso de rede funciona: a conectividade de entrada e de saída obrigatória está no lugar
  • As credenciais estão disponíveis: você tem as credenciais do banco de dados e os tokens da API
  • Os dados de exemplo estão prontos: você tem arquivos de transações para o primeiro teste (veja Início rápido)

Próximos passos


Instalação

Faça o deploy do Matcher com Docker ou Kubernetes.

Início rápido

Rode sua primeira conciliação.