Skip to content

Jornadas

Jornadas

Prefijo: /api/jornada
Requiere Auth:
Permiso requerido: jornadas, *

Módulo de jornadas de caja. Cada usuario puede tener una jornada activa que registra apertura, operaciones diarias y cierre.

GET /api/jornada/

Descripción: Lista las jornadas de caja con paginación
Requiere Auth:
Permiso requerido: jornadas, leer

Respuesta exitosa: 200 OK

Response:

[
{
"id": 1,
"usuario": "Juan Pérez",
"apertura": "2025-01-15T06:00:00",
"base_inicial": 500000,
"cierre": "2025-01-15T18:00:00",
"estado": "CERRADA",
"tenant_id": "uuid-tenant"
}
]

cURL:

Terminal window
curl "http://localhost/api/jornada/?skip=0&limit=10" -H "Authorization: Bearer <token>"

Python:

import httpx
resp = httpx.get("http://localhost/api/jornada/", headers={"Authorization": f"Bearer {token}"})
jornadas = resp.json()

JavaScript:

const resp = await fetch('http://localhost/api/jornada/', {
headers: {'Authorization': `Bearer ${token}`}
});
const jornadas = await resp.json();

GET /api/jornada/{jornada_id}

Descripción: Obtiene una jornada por ID
Requiere Auth:
Permiso requerido: jornadas, leer

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

cURL:

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

POST /api/jornada/

Descripción: Crea una nueva jornada de caja
Requiere Auth:
Permiso requerido: jornadas, crear

Request:

{
"usuario": "Juan Pérez",
"apertura": "2025-01-15T06:00:00",
"base_inicial": 500000,
"estado": "ABIERTA"
}

Respuesta exitosa: 201 Created

cURL:

Terminal window
curl -X POST http://localhost/api/jornada/ \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token>" \
-d '{"usuario":"Juan Pérez","apertura":"2025-01-15T06:00:00","base_inicial":500000,"estado":"ABIERTA"}'

Python:

import httpx
resp = httpx.post("http://localhost/api/jornada/",
json={"usuario": "Juan Pérez", "apertura": "2025-01-15T06:00:00", "base_inicial": 500000, "estado": "ABIERTA"},
headers={"Authorization": f"Bearer {token}"})
jornada = resp.json()

JavaScript:

const resp = await fetch('http://localhost/api/jornada/', {
method: 'POST',
headers: {'Content-Type': 'application/json', 'Authorization': `Bearer ${token}`},
body: JSON.stringify({usuario: 'Juan Pérez', apertura: '2025-01-15T06:00:00', base_inicial: 500000, estado: 'ABIERTA'})
});

PUT /api/jornada/{jornada_id}

Descripción: Actualiza una jornada (cierre, estado)
Requiere Auth:
Permiso requerido: jornadas, actualizar

Request:

{
"cierre": "2025-01-15T18:00:00",
"estado": "CERRADA"
}

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

cURL:

Terminal window
curl -X PUT http://localhost/api/jornada/1 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token>" \
-d '{"cierre":"2025-01-15T18:00:00","estado":"CERRADA"}'

DELETE /api/jornada/{jornada_id}

Descripción: Elimina una jornada
Requiere Auth:
Permiso requerido: jornadas, eliminar

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

cURL:

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

GET /api/jornada/activa/detalle

Descripción: Obtiene la jornada activa de un usuario
Requiere Auth:
Permiso requerido: jornadas, leer

Parámetros query:

ParámetroTipoObligatorioDescripción
usuariostringNombre del usuario

Respuesta exitosa: 200 OK
Errores: 404 (no hay jornada activa)

cURL:

Terminal window
curl "http://localhost/api/jornada/activa/detalle?usuario=Juan%20P%C3%A9rez" -H "Authorization: Bearer <token>"

GET /api/jornada/activas/usuarios

Descripción: Lista los usuarios con jornada activa
Requiere Auth:
Permiso requerido: jornadas, leer

Respuesta exitosa: 200 OK

Response:

["Juan Pérez", "María López"]

cURL:

Terminal window
curl http://localhost/api/jornada/activas/usuarios -H "Authorization: Bearer <token>"