Facturiadocs
Referencia API

Conectores

Las fuentes de primera parte que alimentan el libro de gastos: Fintoc y la carga de cartolas.

Base: https://api.facturia.cl/v1. Todos los endpoints de este capítulo se autentican con Authorization: Bearer salvo que se diga lo contrario, y el sobre de error es el de Errores.

MétodoRutaQué hace
GET/connectionsLista las conexiones de conectores de esta empresa
POST/connectionsCrea una conexión bancaria o de tarjeta con Fintoc
GET/connections/{connection_id}Devuelve una conexión
DELETE/connections/{connection_id}Desconecta (revoca el enlace y detiene la ingesta)
POST/connections/{connection_id}/syncFuerza una sincronización de movimientos (asíncrona)
GET/tax/statementsLista las cartolas cargadas
POST/tax/statementsCarga una cartola (CSV/XLSX) para crear gastos

GET /connections

Lista las conexiones de conectores de esta empresa

curl -sS https://api.facturia.cl/v1/connections \
  -H "Authorization: Bearer $FACTURIA_KEY" \
  -H "Facturia-Empresa: $EMPRESA"

Parámetros

ParámetroEnRequeridoTipoNotas
Facturia-EmpresaheaderstringLa empresa destino: RUT canónico (77928532-4) o id de empresa (emp_…). Obligatorio en toda llamada con alcance de empresa, salvo que la llave sea un token de empresa. Este header es el ÚNICO mecanismo: no hay parámetro ?empresa= ni campo empresa en el cuerpo. Omitido donde se requiere → 400 empresa_required; fuera de la lista blanca → 403 empresa_not_allowed.
limitqueryinteger
cursorquerystringCursor opaco tomado del next_cursor de una respuesta anterior.

Respuestas

CódigoSignificadoCuerpo
200Una lista de conexiones.lista de Connection

POST /connections

Crea una conexión bancaria o de tarjeta con Fintoc

Devuelve status: pending_link con un link_url. Manda a la persona por ahí una vez; de ahí en adelante cada sincronización se queda con los movimientos en moneda extranjera, los convierte en objetos expense (source: "fintoc", fx_source: "card_rate") y deja correr el detector de tipo 46. Las credenciales quedan en Fintoc — Facturia guarda un token de enlace, nunca una clave bancaria.

curl -sS -X POST https://api.facturia.cl/v1/connections \
  -H "Authorization: Bearer $FACTURIA_KEY" \
  -H "Facturia-Empresa: $EMPRESA" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"provider":"fintoc"}'

Parámetros

ParámetroEnRequeridoTipoNotas
Facturia-EmpresaheaderstringLa empresa destino: RUT canónico (77928532-4) o id de empresa (emp_…). Obligatorio en toda llamada con alcance de empresa, salvo que la llave sea un token de empresa. Este header es el ÚNICO mecanismo: no hay parámetro ?empresa= ni campo empresa en el cuerpo. Omitido donde se requiere → 400 empresa_required; fuera de la lista blanca → 403 empresa_not_allowed.
Idempotency-KeyheaderstringLlave que genera el cliente, única por operación lógica, retenida 24 h y con alcance (cuenta, empresa, endpoint). Un replay devuelve la respuesta original con Facturia-Idempotent-Replay: true. Misma llave y cuerpo distinto → 409.

Cuerpo

CampoTipoRequeridoNotas
providerfintoc
account_typeschecking · credit_card[]
sync_frequencydaily · weekly · manualPor defecto: "daily".
Respuestas
CódigoSignificadoCuerpo
201La conexión, a la espera del flujo de enlace.Connection
400Entrada mal formada o incompleta.ErrorResponse

GET /connections/{connection_id}

Devuelve una conexión

curl -sS https://api.facturia.cl/v1/connections/con_01K2RJ7B2W4M \
  -H "Authorization: Bearer $FACTURIA_KEY" \
  -H "Facturia-Empresa: $EMPRESA"

Parámetros

ParámetroEnRequeridoTipoNotas
connection_idpathstring
Facturia-EmpresaheaderstringLa empresa destino: RUT canónico (77928532-4) o id de empresa (emp_…). Obligatorio en toda llamada con alcance de empresa, salvo que la llave sea un token de empresa. Este header es el ÚNICO mecanismo: no hay parámetro ?empresa= ni campo empresa en el cuerpo. Omitido donde se requiere → 400 empresa_required; fuera de la lista blanca → 403 empresa_not_allowed.

Respuestas

CódigoSignificadoCuerpo
200La conexión.Connection
404No existe ese objeto bajo esta llave.ErrorResponse

DELETE /connections/{connection_id}

Desconecta (revoca el enlace y detiene la ingesta)

Los gastos ya creados desde esta conexión se conservan.

curl -sS -X DELETE https://api.facturia.cl/v1/connections/con_01K2RJ7B2W4M \
  -H "Authorization: Bearer $FACTURIA_KEY" \
  -H "Facturia-Empresa: $EMPRESA"

Parámetros

ParámetroEnRequeridoTipoNotas
connection_idpathstring
Facturia-EmpresaheaderstringLa empresa destino: RUT canónico (77928532-4) o id de empresa (emp_…). Obligatorio en toda llamada con alcance de empresa, salvo que la llave sea un token de empresa. Este header es el ÚNICO mecanismo: no hay parámetro ?empresa= ni campo empresa en el cuerpo. Omitido donde se requiere → 400 empresa_required; fuera de la lista blanca → 403 empresa_not_allowed.

Respuestas

CódigoSignificadoCuerpo
204Desconectada.

POST /connections/{connection_id}/sync

Fuerza una sincronización de movimientos (asíncrona)

curl -sS -X POST https://api.facturia.cl/v1/connections/con_01K2RJ7B2W4M/sync \
  -H "Authorization: Bearer $FACTURIA_KEY" \
  -H "Facturia-Empresa: $EMPRESA" \
  -H "Idempotency-Key: $(uuidgen)"

Parámetros

ParámetroEnRequeridoTipoNotas
connection_idpathstring
Facturia-EmpresaheaderstringLa empresa destino: RUT canónico (77928532-4) o id de empresa (emp_…). Obligatorio en toda llamada con alcance de empresa, salvo que la llave sea un token de empresa. Este header es el ÚNICO mecanismo: no hay parámetro ?empresa= ni campo empresa en el cuerpo. Omitido donde se requiere → 400 empresa_required; fuera de la lista blanca → 403 empresa_not_allowed.
Idempotency-KeyheaderstringLlave que genera el cliente, única por operación lógica, retenida 24 h y con alcance (cuenta, empresa, endpoint). Un replay devuelve la respuesta original con Facturia-Idempotent-Replay: true. Misma llave y cuerpo distinto → 409.

Respuestas

CódigoSignificadoCuerpo
202Job de sincronización aceptado.Job
422Bien formado pero viola una regla del dominio: folios agotados, ventana de acuse cerrada.ErrorResponse

GET /tax/statements

Lista las cartolas cargadas

curl -sS https://api.facturia.cl/v1/tax/statements \
  -H "Authorization: Bearer $FACTURIA_KEY" \
  -H "Facturia-Empresa: $EMPRESA"

Parámetros

ParámetroEnRequeridoTipoNotas
Facturia-EmpresaheaderstringLa empresa destino: RUT canónico (77928532-4) o id de empresa (emp_…). Obligatorio en toda llamada con alcance de empresa, salvo que la llave sea un token de empresa. Este header es el ÚNICO mecanismo: no hay parámetro ?empresa= ni campo empresa en el cuerpo. Omitido donde se requiere → 400 empresa_required; fuera de la lista blanca → 403 empresa_not_allowed.
limitqueryinteger
cursorquerystringCursor opaco tomado del next_cursor de una respuesta anterior.

Respuestas

CódigoSignificadoCuerpo
200Una lista de importaciones de cartola.lista de Statement

POST /tax/statements

Carga una cartola (CSV/XLSX) para crear gastos

Asíncrono. El result del job devuelve rows_read, expenses_created, duplicates_skipped y un errors[] por fila. La deduplicación es por (empresa, fecha, amount_original, currency, provider) más tu external_id cuando existe, así que volver a subir una cartola que se traslapa es seguro.

curl -sS -X POST https://api.facturia.cl/v1/tax/statements \
  -H "Authorization: Bearer $FACTURIA_KEY" \
  -H "Facturia-Empresa: $EMPRESA" \
  -H "Idempotency-Key: $(uuidgen)" \
  -F "file=…" \
  -F "format=…"

Parámetros

ParámetroEnRequeridoTipoNotas
Facturia-EmpresaheaderstringLa empresa destino: RUT canónico (77928532-4) o id de empresa (emp_…). Obligatorio en toda llamada con alcance de empresa, salvo que la llave sea un token de empresa. Este header es el ÚNICO mecanismo: no hay parámetro ?empresa= ni campo empresa en el cuerpo. Omitido donde se requiere → 400 empresa_required; fuera de la lista blanca → 403 empresa_not_allowed.
Idempotency-KeyheaderstringLlave que genera el cliente, única por operación lógica, retenida 24 h y con alcance (cuenta, empresa, endpoint). Un replay devuelve la respuesta original con Facturia-Idempotent-Replay: true. Misma llave y cuerpo distinto → 409.

Cuerpo (multipart/form-data)

CampoTipoRequeridoNotas
filestring
formatauto · generic_csv · santander · bci · banco_chile · itau · scotiabank · xlsxPor defecto: "auto".
default_currencystringSe aplica a las filas sin columna de moneda.
Respuestas
CódigoSignificadoCuerpo
202Job de importación aceptado.Job
400Entrada mal formada o incompleta.ErrorResponse

En esta página