Un mapa de campos solo renombra columnas. No analiza, calcula, transforma ni combina valores. Cada campo canónico se completa a partir de exactamente una columna de origen.
Qué es un mapa de campos
Un mapa de campos pertenece a una única fuente dentro de un contexto. Un contexto concilia dos lados — una fuente
LEFT y una fuente RIGHT — y cada fuente tiene su propio mapa de campos. Matcher compara los campos canónicos producidos por ambos mapas, así que ambos lados deben resolverse al mismo vocabulario aunque sus archivos sin procesar no se parezcan en nada.
El mapeo es un objeto JSON con la forma:
- La clave es un campo canónico. Las claves provienen de un vocabulario cerrado y sensible a mayúsculas y minúsculas: Matcher rechaza cualquier clave fuera de él.
- El valor es el nombre de la columna en la fuente sin procesar que contiene ese campo. Los valores son texto libre (como sea que tu archivo llame a la columna) y deben ser cadenas no vacías.
Vocabulario canónico
El espacio de claves es cerrado. Estas son las únicas claves que Matcher acepta.
Claves requeridas
Todo mapa de campos debe declarar las cuatro:Claves opcionales
Declara estas solo cuando la fuente las contenga:fee_amount y fee_currency son la ranura de comisión opcional. Cuando están presentes, el valor de la columna mapeada se copia en la metadata de la transacción que lee la verificación de comisiones, de modo que una columna con cualquier nombre (por ejemplo mdr_fee) puede transportar comisiones de extremo a extremo sin metadata construida a mano. Omítelas y el comportamiento es idéntico al de un mapa sin ranura de comisión.Crear un mapa de campos
Los mapas de campos se crean por fuente. Envía el objeto de mapeo al endpoint de mapa de campos de la fuente:
cURL
Actualizar un mapa de campos
Cada fuente tiene un mapa de campos. Para cambiar un mapeo, hazle
PATCH por su propio ID (no el ID de la fuente). Envía el mapeo completo: reemplaza al anterior e incrementa version.
cURL
Ejemplo: ambos lados de un contexto
Un contexto concilia un feed bancario contra una exportación de ledger interna. Los dos archivos usan nombres de columna distintos, así que cada fuente declara su propio mapa, pero ambos se resuelven a las mismas claves canónicas.
Fuente LEFT — extracto bancario (CSV)
Columnas sin procesar:Fuente RIGHT — exportación de ledger (CSV)
Columnas sin procesar:external_id, amount, currency y date en el vocabulario canónico, de modo que las reglas de matching pueden compararlas directamente, aunque un archivo llamara al monto Amount y el otro lo llamara value.
Errores comunes
Invertir la dirección
Invertir la dirección
La clave es el campo canónico y el valor es tu columna —
{"external_id": "BankRef"}, no {"BankRef": "external_id"}. Escribirlo al revés coloca una clave desconocida (BankRef) a la izquierda y se rechaza.Usar claves fuera del vocabulario
Usar claves fuera del vocabulario
Solo se aceptan
external_id, amount, currency, date, description, fee_amount y fee_currency. Claves como transaction_id, reference, counterparty o type se rechazan como claves desconocidas, y el error nombra a cada infractora.Mayúsculas incorrectas
Mayúsculas incorrectas
Las claves son tokens en minúsculas y sensibles a mayúsculas y minúsculas.
External_Id, Amount o CURRENCY se tratan como claves desconocidas.Falta una clave requerida
Falta una clave requerida
Todas las claves
external_id, amount, currency y date deben estar presentes. Un mapa al que le falte alguna falla la validación con un mensaje “missing required keys”.Valores vacíos o que no son cadenas
Valores vacíos o que no son cadenas
Cada valor debe ser una cadena no vacía que nombre una columna de origen.
null, números, objetos o "" se rechazan.Esperar transformaciones
Esperar transformaciones
Los mapas de campos no analizan fechas, dividen montos, concatenan columnas ni aplican condicionales. Entrega los valores ya con la forma esperada desde el archivo de origen, o normaliza aguas arriba antes de subirlos.
Próximos pasos
Reglas de match
Define cómo se comparan y agrupan los campos canónicos.
Subir archivos
Importa transacciones usando tus mapas de campos.

