- Um contexto é uma conciliação específica com a qual você se importa — por exemplo, “nossa conta bancária principal vs. nossos livros contábeis.” Ele define o escopo: quais sistemas são comparados, quais regras se aplicam e sobre qual período.
- Uma fonte é um dos sistemas que alimenta números nessa comparação — um extrato bancário, uma exportação de ERP, um arquivo de liquidação de um processador de pagamentos ou um razão contábil.
O que é um contexto de conciliação?
Um contexto de conciliação define os limites operacionais de um processo de conciliação. Ele especifica:
- Quais fontes de dados são comparadas
- Quais regras de correspondência se aplicam
- Como as exceções são tratadas
- A janela de tempo coberta pela conciliação
- Conta Bancária 1234 vs Razão Geral (conciliação bancária diária)
- Gateway de Pagamento vs Sistema de Receita (conciliação de pagamentos)
- Intercompany Entidade A vs Entidade B (conciliação intercompany)
Tipos de contexto
O Matcher permite usar diferentes cardinalidades de conciliação baseadas na estrutura das transações.
Um-para-um (1:1)
Cada transação é conciliada contra uma única contraparte. Casos de uso típicos:- Extratos bancários
- Correspondência de pagamentos diretos
Um-para-muitos (1:n)
Uma transação é conciliada contra múltiplas contrapartes. Casos de uso típicos:- Pagamentos divididos
- Depósitos em lote
- Faturas consolidadas
Muitos-para-muitos (n:m)
Múltiplas transações são conciliadas entre múltiplas contrapartes. Casos de uso típicos:- Arranjos de netting
- Alocação complexa de pagamentos
- Fluxos financeiros multi-leg
Criando um contexto de conciliação
Uma vez que você sabe o que está conciliando, crie o contexto. Nesta etapa, você declara principalmente a cardinalidade (
type), um rótulo de execução obrigatório (interval) e qualquer tolerância de tarifa que a comparação deve permitir. O valor de interval não agenda execuções; a execução automática exige um agendamento de conciliação separado. Um novo contexto começa em DRAFT e permanece assim até que você o ative explicitamente.
Request
cURL
Campos do contexto
string
Nome descritivo para o contexto
string
Cardinalidade da correspondência:
1:1, 1:N ou N:Mstring
Rótulo de execução obrigatório (ex.:
daily, weekly). Ele não agenda execuções.string
padrão:"0"
Tolerância absoluta de taxa para comparação de valores, como string decimal (ex.
"0.01")string
padrão:"0"
Tolerância percentual de taxa para comparação de valores, como string decimal (
"0.5" significa 0.5%)string
Modo opcional de normalização de tarifas:
NET ou GROSS. Omita-o para manter a normalização de tarifas desabilitada.boolean
padrão:"false"
Disparar automaticamente uma execução de correspondência quando um arquivo é carregado
Response
Executando conciliação
Um contexto não concilia por conta própria — você dispara uma execução de correspondência. Uma execução aplica as regras ativas do contexto às transações em suas fontes e, em seguida, produz correspondências e exceções. Você pode disparar execuções manualmente ou deixar que um agendamento as dispare automaticamente. Toda execução funciona em um de dois modos:
Dispare uma execução para um contexto:
cURL
"async": true para enviar a execução e acompanhar seu progresso por consulta. O envio assíncrono exige que o worker de match runs esteja habilitado; caso contrário, o Matcher rejeita "async": true com HTTP 503.
Ambos os modos retornam HTTP 202 Accepted, portanto leia o
status da resposta, não o código HTTP, para saber o resultado. Uma execução síncrona retorna um COMPLETED ou FAILED terminal; uma execução assíncrona retorna QUEUED, e você consulta GET /v1/matching/runs/{runId}. Enquanto está em andamento, uma execução passa por PROCESSING e FINALIZING (trate ambos como ainda não concluídos) antes de alcançar COMPLETED ou FAILED.GET /v1/matching/contexts/{contextId}/runs.
O que é uma fonte?
Uma fonte representa um sistema ou feed de dados que fornece transações para um contexto de conciliação. Cada contexto requer pelo menos duas fontes. Fontes típicas incluem:
- Feeds de extratos bancários
- Exportações do razão geral do ERP
- Streams de transações de processadores de pagamento
- Sistemas contábeis internos
Adicionando fontes a um contexto
Um contexto precisa de pelo menos duas fontes — uma para cada lado da comparação. O campo
side (LEFT ou RIGHT) declara qual lado uma fonte alimenta; o Matcher concilia o lado LEFT contra o lado RIGHT. Atribua um lado a cada fonte e mantenha a atribuição consistente.
Crie uma fonte com um name, type, side e um objeto config. Deixe config vazio ({}) quando a fonte não precisa de configurações específicas de conexão — como no caso de um feed bancário no lado LEFT:
cURL
config carrega as configurações de conexão e parsing específicas da fonte quando são necessárias — por exemplo, um gateway de pagamento no lado RIGHT:
cURL
name, type e side são obrigatórios (name tem de 1 a 50 caracteres). config é opcional e assume um objeto vazio quando omitido.Tipos de fonte
Fontes fetcher
FETCHER identifica um tipo de fonte; ele não habilita a extração automática por si só. Crie a fonte como qualquer outra e conecte a conexão com o agregador upstream por meio de um binding de fonte no trilho de consulta (connectionId) — veja Descoberta para saber como as conexões são configuradas.
cURL
Gerenciando fontes
As fontes suportam um ciclo de vida CRUD completo em
/v1/contexts/{contextId}/sources. Você pode renomear ou reconfigurar uma fonte a qualquer momento, e o arquivamento é lógico e reversível. Uma fonte arquivada é excluída da prontidão do contexto, da correspondência e das listagens de fontes, mas mantém todo o histórico até que você a restaure. O arquivamento não desabilita seus bindings; desabilite-os ou exclua-os separadamente para interromper os despachos do agendador.
Bindings de fonte
Os bindings definem como o agendador de bindings pode extrair os dados de uma fonte sem o carregamento manual de arquivos. Um binding de fonte vincula uma fonte ao trilho que fornece suas transações, além de uma duração que determina quando ele está devido. Exatamente um trilho é relevante por
kind de binding:
file— busca arquivos por meio de um transporte (preenchetransportConfig).query— puxa linhas através de uma conexão do motor de descoberta (preencheconnectionId; veja Descoberta).
/v1/contexts/{contextId}/sources/{sourceId}/bindings.
Um binding só é despachado quando o agendador de bindings está habilitado (ele vem desabilitado por padrão), o binding está habilitado e está devido. Criar ou habilitar um binding não o executa imediatamente.
A listagem retorna todos os bindings, habilitados e desabilitados, de forma que um binding desabilitado permaneça visível em vez de desaparecer silenciosamente.
Criar um binding no trilho de consulta
cURL
Campos
string
obrigatório
Trilho pelo qual a fonte é puxada:
file ou query (obrigatório).string (UUID)
Conexão do motor de descoberta no trilho de consulta. Obrigatório para
query, rejeitado para file.string
Formato declarado que o binding produz (chave descritora com namespace de região/família, ex:
br/cnab400/default).string
String de duração do Go lida pelo agendador de bindings, como
1h ou 30m. As sintaxes cron e @every são inválidas.boolean
Indica se o agendador pode despachar o binding quando ele estiver devido. O padrão é
true; habilitá-lo não o executa imediatamente.Gerenciando contextos
À medida que as conciliações evoluem, você ajustará as configurações de um contexto, o pausará, o aposentará ou o copiará. Essas operações de ciclo de vida preservam o histórico para que você nunca perca uma trilha de auditoria.
Atualizar um contexto
cURL
Pausar um contexto
Para temporariamente impedir que um contexto seja usado em execuções de conciliação, atualize seu status paraPAUSED:
cURL
- Impede novas execuções de correspondência
- Preserva dados históricos
- Permite reativação futura definindo o status de volta para
ACTIVE
Arquivar um contexto
Arquivar é uma exclusão lógica reversível. Em vez de remover permanentemente um contexto, ela move o contexto para o statusARCHIVED, preservando todo o seu histórico (fontes, regras, execuções de correspondência e registros de auditoria) enquanto o exclui da listagem de contextos padrão.
cURL
- Define o status do contexto como
ARCHIVED - Preserva o histórico completo e a trilha de auditoria
- Exclui o contexto da listagem padrão
- Pode ser revertido a qualquer momento com o endpoint de restauração
Restaurar um contexto
Restaurar reverte um arquivamento, movendo o contexto deARCHIVED de volta para DRAFT para que ele possa ser revisado e reconfigurado antes de ser reativado.
cURL
- Define o status do contexto de
ARCHIVEDde volta paraDRAFT - Não retoma a correspondência automaticamente — revise e reative o contexto para executar a conciliação novamente
- Retorna
409 Conflictse chamado em um contexto que não está arquivado
Clonar um contexto
Para duplicar um contexto existente com suas fontes, regras, regras de taxas e mapeamentos de campos, use o endpoint de clonagem. Isso é útil para criar templates ou replicar configurações entre ambientes. As regras de taxas clonadas continuam referenciando as mesmas tabelas de taxas do contexto de origem; as tabelas de taxas em si não são copiadas.cURL
ACTIVE.
Ciclo de vida do contexto
Um contexto de conciliação segue um ciclo de vida bem definido que controla quando a correspondência pode ser executada e como os dados são preservados.
- Um contexto é primeiro criado em Draft, onde fontes e configurações são definidas.
- Um contexto permanece em Draft até que uma atualização explícita defina seu status como
ACTIVE. A ativação valida as fontes obrigatórias dos lados esquerdo e direito, os mapeamentos de campos ou as opções CAMT, as regras de correspondência e as regras de tarifas quando a normalização de tarifas está habilitada. - Um contexto ativo pode ser temporariamente Paused para parar a execução sem afetar a configuração ou dados históricos.
- Quando um contexto não é mais necessário, ele pode ser Archived por meio do endpoint de arquivamento. Arquivar é uma exclusão lógica reversível: move o contexto para
ARCHIVED, preserva o histórico completo e os registros de auditoria, e o exclui da listagem padrão. Um contexto arquivado pode voltar para Draft a qualquer momento com o endpoint de restauração.
Ciclo de vida de um contexto do Matcher
Boas práticas
Use nomes descritivos
Use nomes descritivos
Use nomes explícitos que reflitam contas, sistemas e propósito.
Comece com limites conservadores
Comece com limites conservadores
Favoreça precisão sobre automação inicialmente. Ajuste os limites baseado nos resultados observados.
Separe preocupações
Separe preocupações
Use múltiplos contextos em vez de uma única conciliação ampla.
Sinalize fontes regulatórias
Sinalize fontes regulatórias
Sempre marque fontes com requisitos de compliance.
Alinhe fusos horários
Alinhe fusos horários
Certifique-se de que os fusos horários das fontes reflitam o feed de dados original.
Documente convenções de sinal
Documente convenções de sinal
Defina explicitamente a semântica de débito e crédito para cada fonte.
Próximos passos
Mapeamento de campos
Defina como os campos da fonte mapeiam para o schema do Matcher.
Regras de correspondência
Configure as regras que orientam a conciliação.

