Um mapa de campos apenas renomeia colunas. Ele não analisa, calcula, transforma nem combina valores. Cada campo canônico é preenchido a partir de exatamente uma coluna de origem.
O que é um mapa de campos
Um mapa de campos pertence a uma única fonte dentro de um contexto. Um contexto concilia dois lados — uma fonte
LEFT e uma fonte RIGHT — e cada fonte tem seu próprio mapa de campos. O Matcher compara os campos canônicos produzidos por ambos os mapas, então os dois lados devem resolver para o mesmo vocabulário mesmo quando seus arquivos brutos não se parecem em nada.
O mapeamento é um objeto JSON no formato:
- A chave é um campo canônico. As chaves vêm de um vocabulário fechado e sensível a maiúsculas e minúsculas — o Matcher rejeita qualquer chave fora dele.
- O valor é o nome da coluna na fonte bruta que carrega esse campo. Os valores são texto livre (seja qual for o nome que seu arquivo dá à coluna) e devem ser strings não vazias.
Vocabulário canônico
O espaço de chaves é fechado. Estas são as únicas chaves que o Matcher aceita.
Chaves obrigatórias
Todo mapa de campos deve declarar as quatro:| Chave | Descrição |
|---|---|
external_id | Identificador único do registro dentro da fonte |
amount | Valor da transação |
currency | Código de moeda ISO 4217 |
date | Data da transação |
Chaves opcionais
Declare estas apenas quando a fonte as carregar:| Chave | Descrição |
|---|---|
description | Rótulo de texto livre copiado para a coluna de descrição da transação |
fee_amount | Coluna que carrega o valor de uma taxa para o registro |
fee_currency | Coluna que carrega a moeda dessa taxa |
fee_amount e fee_currency são o slot de taxa opcional. Quando presentes, o valor da coluna mapeada é copiado para o metadata da transação que a verificação de taxas lê, de modo que uma coluna com qualquer nome (por exemplo mdr_fee) pode carregar taxas de ponta a ponta sem metadata construído à mão. Omita-as e o comportamento é idêntico ao de um mapa sem slot de taxa.Criando um mapa de campos
Mapas de campos são criados por fonte. Envie o objeto de mapeamento para o endpoint de mapa de campos da fonte:
cURL
Atualizando um mapa de campos
Cada fonte tem um mapa de campos. Para alterar um mapeamento, faça
PATCH por seu próprio ID (não o ID da fonte). Envie o mapeamento completo — ele substitui o anterior e incrementa version.
cURL
| Operação | Endpoint |
|---|---|
| Obter o mapa de campos de uma fonte | GET /v1/contexts/{contextId}/sources/{sourceId}/field-maps |
| Listar todos os mapas de campos de um contexto | GET /v1/contexts/{contextId}/field-maps |
| Excluir um mapa de campos | DELETE /v1/field-maps/{fieldMapId} |
Exemplo: ambos os lados de um contexto
Um contexto concilia um feed bancário contra uma exportação de ledger interna. Os dois arquivos usam nomes de coluna diferentes, então cada fonte declara seu próprio mapa — mas ambos resolvem para as mesmas chaves canônicas.
Fonte LEFT — extrato bancário (CSV)
Colunas brutas:Fonte RIGHT — exportação de ledger (CSV)
Colunas brutas:external_id, amount, currency e date no vocabulário canônico, de modo que as regras de match podem compará-las diretamente — mesmo que um arquivo chamasse o valor de Amount e o outro o chamasse de value.
Erros comuns
Inverter a direção
Inverter a direção
A chave é o campo canônico e o valor é sua coluna —
{"external_id": "BankRef"}, não {"BankRef": "external_id"}. Escrever ao contrário coloca uma chave desconhecida (BankRef) à esquerda e é rejeitado.Usar chaves fora do vocabulário
Usar chaves fora do vocabulário
Apenas
external_id, amount, currency, date, description, fee_amount e fee_currency são aceitas. Chaves como transaction_id, reference, counterparty ou type são rejeitadas como chaves desconhecidas, e o erro nomeia cada infratora.Caixa incorreta
Caixa incorreta
As chaves são tokens em minúsculas e sensíveis a maiúsculas e minúsculas.
External_Id, Amount ou CURRENCY são tratadas como chaves desconhecidas.Faltar uma chave obrigatória
Faltar uma chave obrigatória
Todas as chaves
external_id, amount, currency e date devem estar presentes. Um mapa ao qual falte qualquer uma delas falha na validação com uma mensagem “missing required keys”.Valores vazios ou que não são strings
Valores vazios ou que não são strings
Cada valor deve ser uma string não vazia que nomeie uma coluna de origem.
null, números, objetos ou "" são rejeitados.Esperar transformações
Esperar transformações
Mapas de campos não analisam datas, dividem valores, concatenam colunas nem aplicam condicionais. Entregue os valores já no formato esperado a partir do arquivo de origem, ou normalize a montante antes do upload.
Próximos passos
Regras de match
Defina como os campos canônicos são comparados e agrupados.
Upload de arquivos
Importe transações usando seus mapas de campos.

