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
O Matcher guarda as colunas não mapeadas como metadados da transação.
Coluna de débito e crédito
Alguns arquivos marcam cada linha como débito ou crédito em uma coluna separada. Para ler o sinal dessa coluna, mapeie a chave opcionaldirection para um objeto {column, debit, credit}:
direction mapeada, a coluna de valor deve vir sem sinal. Um valor com sinal, uma célula de direção vazia ou um valor de direção desconhecido rejeita a linha. O Matcher lê direction apenas em arquivos CSV, JSON e XML.
Exemplos de formato
CSV
Requisitos do CSV:- A primeira linha deve ser o cabeçalho das colunas
- Codificação UTF-8 e delimitador vírgula por padrão (configuráveis)
- Coloque entre aspas os campos que contêm vírgulas ou quebras de linha
JSON
Requisitos do JSON:- Um array de objetos ou um único objeto
- Nomes de campo consistentes entre os objetos
- Codificação UTF-8 por padrão (configurável)
XML
Requisitos do XML:- XML bem formado
- Elementos de registro chamados
transaction,row,record,itemouentry - Codificação UTF-8 por padrão (configurável)
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.X-Idempotency, e apenas quando você envia uma. Uma requisição que traz uma chave apenas em X-Idempotency-Key ou Idempotency-Key é recusada com 400 (MTCH-0015), e nada é processado. Uma resposta repetida traz o header X-Idempotency-Replayed.
O limite padrão de upload é 1 GiB. Ele conta todo o corpo da requisição, incluindo cada parte, header de parte e boundary, não apenas o arquivo.
413 (MTCH-0010). Ele recusa um upload que para de enviar dados por tempo demais com 408 (MTCH-0311).
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.reviewRows conta as linhas com external_id vazio que o Matcher importa com status PENDING_REVIEW. Isso acontece quando a fonte define blank_external_id como NEEDS_REVIEW no seu config. Com o padrão, REJECT, um external_id vazio faz a linha falhar.
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.
Erros comuns de validação
Cada erro de linha traz o número da linha, o campo quando houver um e uma mensagem. Mensagens comuns:Tratamento de erros
Por padrão, o Matcher importa as linhas válidas mesmo se algumas linhas têm erros. Para fazer o job falhar quando as linhas com falha passam de um percentual, definafail_on_error_rate_percent (de 1 a 99) no config da fonte.
Detecção de duplicatas
O Matcher detecta e trata transações duplicadas automaticamente para evitar contagem em dobro.
Como as duplicatas são detectadas
Por padrão, uma linha é duplicata quando repete oexternal_id de uma linha da mesma fonte, dentro do mesmo upload ou contra dados já persistidos. Para detectar duplicatas por outros campos, defina duplicate_key no config da fonte. O valor é uma lista ordenada de nomes do mapeamento de campos, como ["external_id", "amount"].
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, a correspondência exata de external_id pelo parâmetro reference 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. Quando um arquivo marca débitos e créditos em uma coluna separada, mapeie essa coluna com a chave
direction em vez disso.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.
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.

