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

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.
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 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
Exemplo de código

JSON

Requisitos do JSON:
  • O elemento raiz deve ser um array
  • Nomes de campo 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 os elementos de transação
  • Codificação UTF-8
Exemplo de código

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

Referência da API: Pré-visualizar arquivo

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.
Referência da API: Enviar arquivo

Resposta

Verificar o status da importação

cURL
Referência da API: Obter status da importação

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 é 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 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 chave duplicate_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

Referência da API: Buscar transações
Os filtros aceitos incluem 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


Verifique o formato e a codificação do arquivo localmente antes de enviar. Isso pega erros óbvios mais rápido.
Padronize o 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 únicos de transação do sistema de origem. Isso permite uma detecção de duplicatas correta e trilhas de auditoria.
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.
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.
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.