Skip to main content
Este guia aborda como importar dados de transações de fontes externas para o Matcher para reconciliação.

Formatos suportados


O Matcher aceita arquivos de transações em três formatos de propósito geral:
  • CSV: Valores separados por vírgula com cabeçalhos. Mais comum para exportações bancárias.
  • JSON: Array de objetos de transação. Melhor para integrações via API.
  • XML: Elementos estruturados. Comum em sistemas corporativos.
Além desses, o endpoint de upload também aceita formatos bancários especializados como camt053 e as chaves de descritor com namespace do catálogo de formatos (CNAB, layouts de adquirentes) — veja Formatos de importação para o catálogo completo.

Requisitos de estrutura do arquivo


Cada arquivo deve conter registros de transações com campos que podem ser mapeados para o schema interno do Matcher.

Campos obrigatórios

Toda transação deve ter estes campos (ou equivalentes mapeáveis):

Campos opcionais

Exemplos de formato


CSV

Requisitos do CSV:
  • A primeira linha deve ser cabeçalhos de colunas
  • Codificação UTF-8
  • Delimitador vírgula (configurável)
  • Campos com vírgulas ou quebras de linha devem estar entre aspas
Exemplo de código

JSON

Requisitos do JSON:
  • O elemento raiz deve ser um array
  • Nomes de campos consistentes entre os objetos
  • Codificação UTF-8
Exemplo de código

XML

Requisitos do XML:
  • XML válido com declaração
  • Elemento raiz contendo elementos de transação
  • Codificação UTF-8
Exemplo de código

Upload via API


Use o endpoint de importação para enviar arquivos de transações.

Pré-visualizar antes do upload

Antes de enviar um arquivo para ingestão, você pode pré-visualizá-lo para verificar a detecção de colunas e os dados de amostra. Isso ajuda a identificar problemas de mapeamento de campos antecipadamente.
cURL

Resposta

Referência da API: Preview file

Upload de arquivo único

cURL
Envie o campo format antes da parte file. Se o file chegar primeiro, o formato é inferido a partir da extensão do nome do arquivo apenas para .csv e .json; .xml nunca é inferido (é uma família de formatos — XML puro, camt.053 — então o campo format explícito é obrigatório; caso contrário o upload é rejeitado). O upload retorna 202 Accepted com o job criado.
O limite padrão de upload é de 1 GiB e se aplica à solicitação multipart inteira, incluindo todas as partes, cabeçalhos e delimitadores, não apenas ao arquivo. Você pode configurar ingestion.max_upload_bytes entre 1 MiB e 8 GiB.
Referência da API: Upload file

Resposta

Verificar status da importação

cURL
Referência da API: Get import status

Resposta (Processando)

Resposta (Concluído)

Os erros de parse/normalização por linha não ficam embutidos no job. Quando completedWithErrors é true (ou o job está FAILED), busque os detalhes em GET /v1/imports/contexts/{contextId}/jobs/{jobId}/errors (limitado a 100 linhas armazenadas, com contagem de totalErrors/truncated). Para um job totalmente FAILED, o diagnosis traz um motivo seguro de uma única linha.

Valores de status do job de importação

Validação e tratamento de erros


O Matcher valida os arquivos enviados em múltiplas etapas.

Etapas de validação

1

Validação de formato

Verifica se o arquivo é um CSV, JSON ou XML válido com estrutura correta.
2

Validação de schema

Verifica se os campos obrigatórios estão presentes e correspondem ao mapeamento de campos configurado.
3

Validação de tipo de dados

Valida se os valores são decimais válidos, datas são interpretáveis, moedas são códigos ISO válidos.
4

Validação de regras de negócio

Aplica regras específicas do contexto como intervalos de datas, limites de valores, etc.

Erros de validação comuns

Tratamento de erros

Por padrão, linhas válidas são importadas mesmo se algumas linhas tiverem erros. Configure o comportamento de tratamento de erros através das configurações de contexto ou trate os erros após a conclusão da importação revisando a resposta de status do job.

Detecção de duplicatas


O Matcher detecta e trata automaticamente transações duplicadas para evitar contagem dupla.

Como as duplicatas são detectadas

Duplicatas são identificadas por uma chave de deduplicação com escopo da fonte. Por padrão, ela é o external_id da fonte. Defina duplicate_key no config da fonte como uma lista ordenada de campos mapeados (external_id, amount, currency, date, description, fee_amount ou fee_currency) quando precisar de uma identidade composta. Todo campo selecionado deve estar mapeado. Fontes vinculadas a um agregador não podem declarar uma chave personalizada porque suas retrações são endereçadas por external_id. Se uma linha repetir essa chave — dentro do mesmo upload ou em relação a dados já persistidos — ela é tratada como duplicata. Alterar duplicate_key afeta apenas importações futuras; as linhas já importadas mantêm suas chaves existentes.

Opções de tratamento de duplicatas

Defina a chave duplicate_policy no config da fonte para controlar o tratamento: Quando a política está ausente, FLAG_AS_EXCEPTION é aplicado.

Visualizando detalhes de duplicatas

O resumo da importação mostra quantas duplicatas foram encontradas:

Uploads em lote


Para jobs de reconciliação grandes, você pode enviar múltiplos arquivos em sequência.

Enviar múltiplos arquivos

Aguardar todas as importações

Antes de executar a conciliação, certifique-se de que todas as importações estejam concluídas:

Pesquisar transações importadas


Após importar arquivos, você pode pesquisar entre todas as transações de um contexto para verificar a qualidade dos dados ou investigar registros específicos.
cURL

Resposta

Referência da API: Search transactions
Os filtros suportados incluem amount_min, amount_max, date_from, date_to, currency, source_id, status e busca de texto livre via parâmetro q.

Melhores práticas


Verifique o formato e codificação do arquivo localmente antes de enviar. Isso detecta erros óbvios mais rapidamente.
Padronize no formato ISO 8601 (YYYY-MM-DD ou YYYY-MM-DDTHH:MM:SSZ) em todas as fontes para evitar problemas de interpretação.
Sempre inclua IDs de transação únicos do sistema de origem. Isso permite a detecção adequada de duplicatas e trilhas de auditoria.
Decida uma convenção (negativo para débitos, positivo para créditos) e aplique-a consistentemente. Documente isso no seu mapeamento de campos.
Para arquivos maiores que 50 MB, considere dividi-los em partes menores por intervalo de datas. Essa é uma recomendação de confiabilidade, não o limite de upload, e permite novas tentativas parciais.
Para reconciliação recorrente, automatize o envio de arquivos usando jobs agendados ou webhooks dos sistemas de origem.

Próximos passos


Revisando correspondências

Aprenda como interpretar resultados de correspondência e pontuações de confiança.

Mapeamento de campos

Configure como os campos de origem mapeiam para o schema do Matcher.