Skip to content

Plataforma técnica · Orchestrator

Administración API

API Administración

Los endpoints bajo /api/admin/* proveen configuración empresarial y maestros del sistema: capital social, plan contable, datos de la empresa, representantes legales (que también actúan como socios), parámetros generales del sistema y configuración contable (cuentas y conceptos). Todos requieren autenticación JWT; los marcados con (ADMIN) requieren rol ADMIN o SUPER_ADMIN vía requireRole.

El endpoint interno /api/internal/manual-cuentas (consumido por Jean d’Arc en build) vive en Command Center API.

FamiliaPrefijoRouterServicio responsable
Capital social/api/admin/capitalroutes/admin/capital.tsCapitalService
Plan contable (chart of accounts)/api/admin/chart-of-accountsroutes/admin/chart-of-accounts.tsChartOfAccountsService
Empresa/api/admin/companyroutes/admin/company.tsCompanyService
Representantes legales / socios/api/admin/representativesroutes/admin/representatives.tsLegalRepService
Configuración del sistema/api/admin/system-configroutes/admin/system-config.tsSystemConfigService
Configuración contable/api/admin/config-contableroutes/admin/config-contable.tsConfigContableService

Aportes, aumentos y reducciones de capital de la empresa. La aprobación de cada entrada está restringida a ADMIN.

MétodoRutaUso
GET/api/admin/capitalLista entradas con filtros (estado, tipo_capital, fecha_desde, fecha_hasta, limit, offset).
GET/api/admin/capital/:idDetalle de una entrada.
POST/api/admin/capitalCrea entrada de capital (estado inicial PENDIENTE).
PUT/api/admin/capital/:idActualiza monto, descripción u otros campos.
DELETE/api/admin/capital/:idElimina entrada.
POST/api/admin/capital/:id/approve (ADMIN)Aprueba la entrada (cambia estado a APROBADO).
Terminal window
curl -X GET "http://localhost:8000/api/admin/capital?estado=PENDIENTE" -b cookies.txt

Plan de cuentas instanciado del tenant. La vista jerárquica es la misma en / y en /tree.

MétodoRutaUso
GET/api/admin/chart-of-accountsLista cuentas del plan.
GET/api/admin/chart-of-accounts/treeAlias jerárquico de /.
GET/api/admin/chart-of-accounts/:codigoCuenta por código.
POST/api/admin/chart-of-accountsCrea cuenta.
PUT/api/admin/chart-of-accounts/:codigoActualiza nombre, descripción o jerarquía.
DELETE/api/admin/chart-of-accounts/:codigoElimina cuenta.
Terminal window
curl -X GET http://localhost:8000/api/admin/chart-of-accounts -b cookies.txt

Configuración única del tenant: RUT, razón social, giro, contacto y dirección. Solo dos métodos (lectura y actualización completa).

MétodoRutaUso
GET/api/admin/companyObtiene configuración de la empresa.
PUT/api/admin/companyActualiza datos (todos los campos opcionales).
Terminal window
curl -X PUT http://localhost:8000/api/admin/company \
-H "Content-Type: application/json" -b cookies.txt \
-d '{"razon_social": "Mi Empresa SpA", "direccion": "Av. Principal 123"}'

Representantes legales, apoderados o socios firmantes de la empresa. Cada representante puede tener una cuenta corriente socio con saldo y movimientos; esa cuenta se activa o desactiva por separado del registro como representante.

MétodoRutaUso
GET/api/admin/representativesLista representantes (?activeOnly=true para solo activos).
GET/api/admin/representatives/:idDetalle de un representante.
GET/api/admin/representatives/:id/saldo-socioSaldo de cuenta del socio asociado al representante.
GET/api/admin/representatives/:id/movimientos-socio?anio=2026&mes=5Movimientos de la cuenta del socio, con filtros opcionales.
POST/api/admin/representativesCrea representante (vigente queda false si no se informa).
PUT/api/admin/representatives/:idActualiza datos del representante.
DELETE/api/admin/representatives/:idElimina representante.
POST/api/admin/representatives/:id/set-active (ADMIN)Activa al representante como representante legal vigente.
POST/api/admin/representatives/:id/activar-cuenta (ADMIN)Activa la cuenta de socio asociada.
POST/api/admin/representatives/:id/desactivar-cuenta (ADMIN)Desactiva la cuenta de socio asociada.
Terminal window
curl -X POST http://localhost:8000/api/admin/representatives \
-H "Content-Type: application/json" -b cookies.txt \
-d '{
"rut": "12345678-9",
"nombres": "Juan",
"apellidos": "Pérez González",
"fecha_desde": "2026-05-01",
"cargo": "Gerente General",
"email": "[email protected]"
}'

Diccionario clave → valor para parámetros globales del tenant (año tributario, flags de notificación, etc.).

MétodoRutaUso
GET/api/admin/system-configLista todas las configuraciones.
GET/api/admin/system-config/:claveObtiene una configuración por clave.
PUT/api/admin/system-config/:claveActualiza el valor de una clave.
Terminal window
curl -X PUT http://localhost:8000/api/admin/system-config/tax_year \
-H "Content-Type: application/json" -b cookies.txt \
-d '{"valor": "2026"}'

CRUD sobre la configuración contable del tenant: el mapeo entre conceptos del sistema (ej. “IVA débito fiscal”, “remuneración líquida”, “ingreso por venta”) y las cuentas del plan contable que les corresponden. Es el cableado que permite a OperationsService y PayrollService generar asientos automáticamente.

Los endpoints usan cuentaCreateValidator, cuentaUpdateValidator, conceptoCreateValidator y conceptoUpdateValidator para validar payloads.

MétodoRutaUso
GET/api/admin/config-contable/cuentasLista cuentas configuradas.
GET/api/admin/config-contable/cuentas/:tipoCuenta(s) asociada(s) a un tipo.
POST/api/admin/config-contable/cuentasCrea configuración de cuenta.
PUT/api/admin/config-contable/cuentas/:tipoActualiza configuración por tipo.
DELETE/api/admin/config-contable/cuentas/:tipoElimina configuración.
MétodoRutaUso
GET/api/admin/config-contable/conceptosLista conceptos contables.
GET/api/admin/config-contable/conceptos/:codigoConcepto por código.
POST/api/admin/config-contable/conceptosCrea concepto.
PUT/api/admin/config-contable/conceptos/:codigoActualiza concepto.
DELETE/api/admin/config-contable/conceptos/:codigoElimina concepto.
Terminal window
curl -X GET http://localhost:8000/api/admin/config-contable/conceptos -b cookies.txt
  • Autenticación: todos los endpoints usan authenticateToken que valida el JWT desde la cookie sid.
  • Roles: endpoints marcados con (ADMIN) usan requireRole(['ADMIN', 'SUPER_ADMIN']).
  • Service Context: cada handler construye un ServiceContext con tenantDb, userId y requestId (header x-request-id) para tracing.
  • Errores: el formato canónico de error es { "error": "Mensaje descriptivo" }. Códigos: 400 (validación), 401 (sin sesión), 403 (sin rol), 404 (no existe), 500 (error inesperado).