Entries y formato CSV

Una entry es una cuenta destino que tu empresa autorizó o bloqueó. Vive en una de las dos listas de tu Fin ID.

Campos de una entry

Campo Tipo Obligatorio Descripción
list enum ✓ allowlist o blocklist.
account_type enum ✓ Tipo de cuenta. Ver catálogo abajo.
creditor_fin string ✓ Banco destino (ej: BANCO_DE_CHILE_CL, BBVA_MEXICO_MX).
account string ✓ Número de cuenta. Se canonicaliza antes de persistir (ver nota abajo).
reason enum ✓ Motivo de la entry. Catálogo depende de la lista (ver abajo).
reason_text string (*) Texto libre. Obligatorio cuando reason = other.

Canonicalización del account: antes de guardarse, el número se normaliza según el account_type. Guiones, puntos y espacios se remueven. Para CLABE (18 dígitos) se preservan los ceros a la izquierda — "012180..." no se colapsa a "12180...". Al momento del check, el account del payout se canonicaliza con la misma regla, así que "012-345" en la lista matchea "012345" en el pago.

account_type soportados

Valor Dónde se usa
current_account Cuenta corriente (Chile, Colombia).
savings_account Cuenta de ahorro (Chile, Colombia).
cash_account Cuenta vista / cuenta RUT (Chile).
clabe CLABE (México, 18 dígitos).
cci CCI (Perú, 20 dígitos).
debit_card Tarjeta de débito (México).
cell_phone Pago por número de celular (México — CoDi, SPEI).

Catálogo de reason por lista

Allowlist — por qué una cuenta está pre-aprobada:

Valor Significado
trusted_vendor Proveedor recurrente ya conocido y validado.
payroll Cuenta de un empleado dentro de la nómina.
intra_company Movimiento entre cuentas de empresas del mismo grupo.
test Cuenta para pruebas (QA, integración).
other Requiere reason_text con descripción libre.

Blocklist — por qué una cuenta está bloqueada:

Valor Significado
fraud_reported Reporte de fraude confirmado hacia esa cuenta.
compliance_hold Bloqueo por áreas legales / compliance.
duplicate Cuenta duplicada que se mantiene bloqueada para evitar errores.
test Cuenta de prueba que no debe recibir pagos reales.
other Requiere reason_text con descripción libre.

Formato CSV

El upload CSV desde el dashboard acepta un archivo UTF-8 con cabecera obligatoria y una entry por fila.

Cabecera exacta:

list,operation,account_type,creditor_fin,account,reason,reason_text
  • operation es add o remove. Un mismo CSV puede mezclar ambas, el request pendiente agrupa todas y se aprueban en bloque.
  • reason_text queda vacío salvo cuando reason = other.

Ejemplo:

list,operation,account_type,creditor_fin,account,reason,reason_text
allowlist,add,current_account,BANCO_DE_CHILE_CL,00123456789,payroll,
allowlist,add,clabe,BBVA_MEXICO_MX,012180000000000001,trusted_vendor,
blocklist,add,current_account,SANTANDER_CL,00987654321,fraud_reported,
blocklist,add,current_account,BCI_CL,00111222333,other,Reportado por el usuario el 2026-10-20
blocklist,remove,clabe,BBVA_MEXICO_MX,012180000000000999,duplicate,

El upload CSV crea un request pendiente que agrupa todas las filas del archivo. La aprobación es all-or-nothing para el request completo. Si una fila tiene formato inválido (p.ej. reason = other sin reason_text), el preview del dashboard marca el error y el request queda sin crearse hasta que corrijas el archivo.

Export CSV

El endpoint GET /v1/payout-filter-list/entries.csv?list=allowlist|blocklist devuelve tu lista efectiva en el mismo formato de arriba, útil para auditoría o reconciliación con tu propio sistema. El header Content-Disposition sugiere un nombre de archivo con fecha.