Pular para o conteúdo principal
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:
  • 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.

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 (.csv/.json/.xml). O upload retorna 202 Accepted com o job criado.
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 pela chave de deduplicação da linha dentro de uma fonte:
  • source_id
  • external_id (o identificador de transação do sistema de origem)
Se uma linha repetir essa chave — dentro do mesmo upload ou em relação a dados já persistidos — ela é tratada como duplicata.

Opções de tratamento de duplicatas

Defina a chave duplicate_policy no config da fonte para controlar o tratamento: Quando a chave está ausente, KEEP_FIRST é 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 muito grandes (>50MB), considere dividir em partes menores por intervalo de datas. Isso melhora a confiabilidade 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.