Formatos aceitos
O Matcher aceita arquivos de transações em três formatos de uso geral:
- CSV: valores separados por vírgula com cabeçalhos. O mais comum para exportações bancárias.
- JSON: array de objetos de transação. Melhor para integrações de API.
- XML: elementos estruturados. Comum em sistemas corporativos.
camt053 e as chaves de descritor com namespace do catálogo de formatos (CNAB, layouts de adquirente). 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 você possa mapear para o schema interno do Matcher.
Campos obrigatórios
Cada transação deve ter estes campos (ou equivalentes mapeáveis):Campos opcionais
Exemplos de formato
CSV
Requisitos do CSV:- A primeira linha deve ser o cabeçalho das colunas
- Codificação UTF-8
- Delimitador vírgula (configurável)
- Coloque entre aspas os campos que contêm vírgulas ou quebras de linha
JSON
Requisitos do JSON:- O elemento raiz deve ser um array
- Nomes de campo consistentes entre os objetos
- Codificação UTF-8
XML
Requisitos do XML:- XML válido com declaração
- Elemento raiz contendo os elementos de transação
- Codificação UTF-8
Upload pela API
Use o endpoint de importação para enviar arquivos de transações.
Pré-visualize antes de enviar
Antes de confirmar um arquivo para ingestão, você pode pré-visualizá-lo para conferir a detecção de colunas e uma amostra dos dados. Isso ajuda a pegar problemas de mapeamento de campos cedo.cURL
Resposta
Upload de um único arquivo
cURL
Envie o campo
format antes da parte file. Se file chega primeiro, o Matcher infere o formato pela extensão do nome do arquivo apenas para .csv e .json. O Matcher nunca infere .xml, porque é uma família de formatos que cobre XML puro e camt.053. Envie o campo format explícito para XML. Sem ele, o Matcher rejeita o upload. O upload retorna 202 Accepted com o job criado.O limite de upload é 1 GiB por padrão e vale para toda a requisição multipart, incluindo cada parte, header e boundary, não apenas o arquivo. Você pode configurar
ingestion.max_upload_bytes de 1 MiB até 8 GiB.Resposta
Verificar o status da importação
cURL
Resposta (em processamento)
Resposta (concluída)
Os erros de parsing/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 a contagem em totalErrors/truncated). Para um job FAILED por inteiro, diagnosis traz um motivo seguro de uma linha.Valores de status do job de importação
Validação e tratamento de erros
O Matcher valida os arquivos enviados em várias etapas.
Etapas de validação
1
Validação de formato
Verifica se o arquivo é um CSV, JSON ou XML válido com a estrutura correta.
2
Validação de schema
Confere se os campos obrigatórios estão presentes e batem com o mapa de campos configurado.
3
Validação de tipo de dado
Valida se os valores são decimais válidos, se as datas podem ser interpretadas e se as moedas são códigos ISO válidos.
4
Validação de regra de negócio
Aplica regras específicas do contexto, como intervalos de datas, limites de valor etc.
Erros comuns de validação
Tratamento de erros
Por padrão, o Matcher importa as linhas válidas mesmo se algumas linhas têm erros. Configure o comportamento de tratamento de erros nas configurações do contexto ou trate os erros depois que a importação termina, revisando a resposta de status do job.Detecção de duplicatas
O Matcher detecta e trata transações duplicadas automaticamente para evitar contagem em dobro.
Como as duplicatas são detectadas
Uma chave de deduplicação com escopo na fonte identifica as duplicatas. Por padrão, ela é oexternal_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 você precisa de uma identidade composta. Você deve mapear cada campo selecionado. As fontes vinculadas a agregador não podem declarar uma chave personalizada, porque as retratações delas usam o external_id.
Se uma linha repete essa chave (dentro do mesmo upload ou contra dados já persistidos), o Matcher a trata como duplicata. Uma mudança em duplicate_key afeta apenas as importações seguintes. As linhas importadas antes mantêm as chaves que já têm.
Opções de tratamento de duplicatas
Defina a chaveduplicate_policy no config da fonte para controlar o tratamento:
Quando
duplicate_policy está ausente, vale FLAG_AS_EXCEPTION.
Ver os detalhes das duplicatas
O resumo da importação mostra o número de duplicatas:Uploads em lote
Para jobs grandes de conciliação, você pode enviar vários arquivos em sequência.
Enviar vários arquivos
Aguarde todas as importações
Antes de rodar a correspondência, garanta que todas as importações terminaram:Buscar as transações enviadas
Depois de importar os arquivos, você pode buscar em todas as transações de um contexto para conferir a qualidade dos dados ou investigar registros específicos.
cURL
Resposta
amount_min, amount_max, date_from, date_to, currency, source_id, status e a busca em texto livre pelo parâmetro q.
Boas práticas
Valide os arquivos antes do upload
Valide os arquivos antes do upload
Verifique o formato e a codificação do arquivo localmente antes de enviar. Isso pega erros óbvios mais rápido.
Use formatos de data consistentes
Use formatos de data consistentes
Padronize o formato ISO 8601 (
YYYY-MM-DD ou YYYY-MM-DDTHH:MM:SSZ) em todas as fontes para evitar problemas de interpretação.Inclua os IDs das transações
Inclua os IDs das transações
Sempre inclua IDs únicos de transação do sistema de origem. Isso permite uma detecção de duplicatas correta e trilhas de auditoria.
Trate os valores negativos de forma consistente
Trate os valores negativos de forma consistente
Defina uma convenção (negativo para débitos, positivo para créditos) e aplique-a de forma consistente. Documente isso no seu mapeamento de campos.
Envie de forma incremental para arquivos grandes
Envie de forma incremental para arquivos grandes
Para arquivos maiores que 50 MB, considere dividi-los em pedaços menores por intervalo de datas. Essa é uma recomendação de confiabilidade, não o limite de upload, e permite novas tentativas parciais.
Configure uploads automatizados
Configure uploads automatizados
Para conciliação recorrente, automatize os uploads de arquivo usando jobs agendados ou webhooks dos sistemas de origem.
Próximos passos
Revisão de correspondências
Veja como interpretar os resultados de correspondência e as pontuações de confiança.
Mapeamento de campos
Configure como os campos da fonte mapeiam para o schema do Matcher.

