Configuración
Configuración
Prefijo: /api/config
Requiere Auth: Sí
Permiso requerido: configuracion, *
Módulo de configuración del sistema. Se divide en dos subsecciones: datos de la empresa y configuraciones clave-valor generales.
Empresa
GET /api/config/empresa
Descripción: Obtiene la configuración de la empresa del tenant actual
Requiere Auth: Sí
Permiso requerido: configuracion, leer
Respuesta exitosa: 200 OK
Response:
{ "id": 1, "nombre": "Mi Empresa SAS", "ruc": "900123456-7", "telefono": "3001234567", "direccion": "Calle 123 #45-67", "razon": "Mi Empresa SAS", "tenant_id": "uuid-tenant"}cURL:
curl http://localhost/api/config/empresa -H "Authorization: Bearer <token>"Python:
import httpxresp = httpx.get("http://localhost/api/config/empresa", headers={"Authorization": f"Bearer {token}"})empresa = resp.json()JavaScript:
const resp = await fetch('http://localhost/api/config/empresa', { headers: {'Authorization': `Bearer ${token}`}});const empresa = await resp.json();GET /api/config/empresa/{config_id}
Descripción: Obtiene configuración de empresa por ID
Requiere Auth: Sí
Permiso requerido: configuracion, leer
Respuesta exitosa: 200 OK
Errores: 404 (no encontrada)
cURL:
curl http://localhost/api/config/empresa/1 -H "Authorization: Bearer <token>"POST /api/config/empresa
Descripción: Crea la configuración de empresa
Requiere Auth: Sí
Permiso requerido: configuracion, crear
Request:
{ "nombre": "Mi Empresa SAS", "ruc": "900123456-7", "telefono": "3001234567", "direccion": "Calle 123 #45-67", "razon": "Mi Empresa SAS"}Respuesta exitosa: 201 Created
cURL:
curl -X POST http://localhost/api/config/empresa \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <token>" \ -d '{"nombre":"Mi Empresa SAS","ruc":"900123456-7","telefono":"3001234567","direccion":"Calle 123 #45-67","razon":"Mi Empresa SAS"}'Python:
import httpxresp = httpx.post("http://localhost/api/config/empresa", json={"nombre": "Mi Empresa SAS", "ruc": "900123456-7", "telefono": "3001234567", "direccion": "Calle 123 #45-67", "razon": "Mi Empresa SAS"}, headers={"Authorization": f"Bearer {token}"})empresa = resp.json()JavaScript:
const resp = await fetch('http://localhost/api/config/empresa', { method: 'POST', headers: {'Content-Type': 'application/json', 'Authorization': `Bearer ${token}`}, body: JSON.stringify({nombre: 'Mi Empresa SAS', ruc: '900123456-7', telefono: '3001234567', direccion: 'Calle 123 #45-67', razon: 'Mi Empresa SAS'})});PUT /api/config/empresa
Descripción: Actualiza la configuración de empresa
Requiere Auth: Sí
Permiso requerido: configuracion, actualizar
Respuesta exitosa: 200 OK
Errores: 404 (no encontrada)
cURL:
curl -X PUT http://localhost/api/config/empresa \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <token>" \ -d '{"nombre":"Mi Empresa SAS Actualizado","telefono":"3009998877"}'DELETE /api/config/empresa/{config_id}
Descripción: Elimina configuración de empresa
Requiere Auth: Sí
Permiso requerido: configuracion, eliminar
Respuesta exitosa: 204 No Content
Errores: 404 (no encontrada)
cURL:
curl -X DELETE http://localhost/api/config/empresa/1 -H "Authorization: Bearer <token>"Configuraciones Clave-Valor
GET /api/config/configuraciones
Descripción: Lista las configuraciones clave-valor
Requiere Auth: Sí
Permiso requerido: configuracion, leer
Respuesta exitosa: 200 OK
Response:
[ { "id": 1, "clave": "IVA_DEFECTO", "valor": "19", "descripcion": "Porcentaje de IVA por defecto", "tenant_id": "uuid-tenant", "fecha_update": "2025-01-01T00:00:00" }]cURL:
curl http://localhost/api/config/configuraciones -H "Authorization: Bearer <token>"GET /api/config/configuraciones/{config_id}
Descripción: Obtiene una configuración por ID
Requiere Auth: Sí
Permiso requerido: configuracion, leer
Respuesta exitosa: 200 OK
Errores: 404 (no encontrada)
cURL:
curl http://localhost/api/config/configuraciones/1 -H "Authorization: Bearer <token>"GET /api/config/configuraciones/clave/{clave}
Descripción: Obtiene una configuración por clave
Requiere Auth: Sí
Permiso requerido: configuracion, leer
Respuesta exitosa: 200 OK
Errores: 404 (no encontrada)
cURL:
curl http://localhost/api/config/configuraciones/clave/IVA_DEFECTO -H "Authorization: Bearer <token>"POST /api/config/configuraciones
Descripción: Crea una nueva configuración clave-valor
Requiere Auth: Sí
Permiso requerido: configuracion, crear
Request:
{ "clave": "IMPUESTO_INC", "valor": "8", "descripcion": "Porcentaje de INC"}Respuesta exitosa: 201 Created
cURL:
curl -X POST http://localhost/api/config/configuraciones \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <token>" \ -d '{"clave":"IMPUESTO_INC","valor":"8","descripcion":"Porcentaje de INC"}'PUT /api/config/configuraciones/{config_id}
Descripción: Actualiza una configuración
Requiere Auth: Sí
Permiso requerido: configuracion, actualizar
Respuesta exitosa: 200 OK
Errores: 404 (no encontrada)
cURL:
curl -X PUT http://localhost/api/config/configuraciones/1 \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <token>" \ -d '{"valor":"16","descripcion":"Nuevo porcentaje IVA"}'DELETE /api/config/configuraciones/{config_id}
Descripción: Elimina una configuración
Requiere Auth: Sí
Permiso requerido: configuracion, eliminar
Respuesta exitosa: 204 No Content
Errores: 404 (no encontrada)
cURL:
curl -X DELETE http://localhost/api/config/configuraciones/1 -H "Authorization: Bearer <token>"