Skip to content

Configuración

Configuración

Prefijo: /api/config
Requiere Auth:
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:
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:

Terminal window
curl http://localhost/api/config/empresa -H "Authorization: Bearer <token>"

Python:

import httpx
resp = 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:
Permiso requerido: configuracion, leer

Respuesta exitosa: 200 OK
Errores: 404 (no encontrada)

cURL:

Terminal window
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:
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:

Terminal window
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 httpx
resp = 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:
Permiso requerido: configuracion, actualizar

Respuesta exitosa: 200 OK
Errores: 404 (no encontrada)

cURL:

Terminal window
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:
Permiso requerido: configuracion, eliminar

Respuesta exitosa: 204 No Content
Errores: 404 (no encontrada)

cURL:

Terminal window
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:
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:

Terminal window
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:
Permiso requerido: configuracion, leer

Respuesta exitosa: 200 OK
Errores: 404 (no encontrada)

cURL:

Terminal window
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:
Permiso requerido: configuracion, leer

Respuesta exitosa: 200 OK
Errores: 404 (no encontrada)

cURL:

Terminal window
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:
Permiso requerido: configuracion, crear

Request:

{
"clave": "IMPUESTO_INC",
"valor": "8",
"descripcion": "Porcentaje de INC"
}

Respuesta exitosa: 201 Created

cURL:

Terminal window
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:
Permiso requerido: configuracion, actualizar

Respuesta exitosa: 200 OK
Errores: 404 (no encontrada)

cURL:

Terminal window
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:
Permiso requerido: configuracion, eliminar

Respuesta exitosa: 204 No Content
Errores: 404 (no encontrada)

cURL:

Terminal window
curl -X DELETE http://localhost/api/config/configuraciones/1 -H "Authorization: Bearer <token>"