Base URL
/api/v1
Autenticacion
Endpoints para registro, inicio y cierre de sesion. Usa Laravel Sanctum para tokens de autenticacion.
/auth/register
Registrar un nuevo usuario en el sistema.
Body Parameters
| Parametro | Tipo | Descripcion |
|---|---|---|
| name requerido | string | Nombre del usuario (max: 255) |
| email requerido | string | Correo electronico unico |
| password requerido | string | Contrasena (min: 8 caracteres) |
| password_confirmation requerido | string | Confirmacion de contrasena |
/auth/login
Iniciar sesion y obtener token de acceso.
Body Parameters
| Parametro | Tipo | Descripcion |
|---|---|---|
| email requerido | string | Correo electronico registrado |
| password requerido | string | Contrasena (min: 8 caracteres) |
{
"success": true,
"data": {
"user": { ... },
"token": "1|abc123..."
}
}
/auth/logout
Requiere Auth
Cerrar sesion actual (invalida el token).
/auth/logout-all
Requiere Auth
Cerrar todas las sesiones del usuario.
/user
Requiere Auth
Obtener informacion del usuario autenticado.
Compania
Gestion de la informacion de la compania. Solo puede existir una compania en el sistema.
/compania
Requiere Auth
Obtener informacion de la compania.
/compania/logo
Requiere Auth
Obtener el logo de la compania.
/compania/alta
Requiere Auth
Registrar una nueva compania.
/compania/actualizacion
Requiere Auth
Actualizar informacion de la compania.
/compania/logo
Requiere Auth
Subir logo de la compania (multipart/form-data).
/compania/logo
Requiere Auth
Eliminar logo de la compania.
/compania/eliminar
Requiere Auth
Eliminar compania (soft delete).
/compania/restaurar
Requiere Auth
Restaurar compania eliminada.
Categorias
Gestion de categorias de productos.
/categoria
Requiere Auth
Listar todas las categorias.
/categoria/{id}
Requiere Auth
Obtener una categoria por ID.
/categoria/alta
Requiere Auth
Crear una nueva categoria.
Body Parameters
| Parametro | Tipo | Descripcion |
|---|---|---|
| name requerido | string | Nombre de la categoria (max: 255) |
| description opcional | string | Descripcion de la categoria (max: 255) |
/categoria/actualizacion/{id}
Requiere Auth
Actualizar una categoria.
/categoria/eliminar/{id}
Requiere Auth
Eliminar una categoria.
Productos
Gestion del catalogo de productos disponibles para renta.
/producto
Requiere Auth
Listar todos los productos.
/producto/{id}
Requiere Auth
Obtener un producto por ID.
/producto/alta
Requiere Auth
Crear un nuevo producto.
Body Parameters
| Parametro | Tipo | Descripcion |
|---|---|---|
| category_id requerido | integer | ID de la categoria |
| name requerido | string | Nombre del producto (max: 255) |
| description opcional | string | Descripcion del producto |
| rental_price requerido | decimal | Precio de renta por unidad |
| replacement_cost requerido | decimal | Costo de reposicion |
| stock_total requerido | integer | Cantidad total en inventario |
/producto/actualizacion/{id}
Requiere Auth
Actualizar un producto.
/producto/eliminar/{id}
Requiere Auth
Eliminar un producto (soft delete).
/producto/bulk-soft-delete
Requiere Auth
Eliminar multiples productos.
/producto/bulk-restore
Requiere Auth
Restaurar multiples productos eliminados.
Clientes
Gestion de clientes que rentan productos.
/cliente
Requiere Auth
Listar todos los clientes.
/cliente/{id}
Requiere Auth
Obtener un cliente por ID.
/cliente/alta
Requiere Auth
Registrar un nuevo cliente.
Body Parameters
| Parametro | Tipo | Descripcion |
|---|---|---|
| first_name requerido | string | Nombre del cliente (max: 100) |
| last_name opcional | string | Apellido del cliente (max: 100) |
| email requerido | string | Correo electronico unico |
| phone opcional | string | Telefono (max: 14) |
| address opcional | string | Direccion del cliente |
/cliente/actualizacion/{id}
Requiere Auth
Actualizar un cliente.
/cliente/eliminar/{id}
Requiere Auth
Eliminar un cliente (soft delete).
/cliente/bulk-soft-delete
Requiere Auth
Eliminar multiples clientes.
/cliente/bulk-restore
Requiere Auth
Restaurar multiples clientes eliminados.
Rentas
Gestion de rentas de productos. Incluye control de estatus y manejo automatico de inventario.
/renta
Requiere Auth
Listar todas las rentas.
/renta/estatus
Requiere Auth
Obtener lista de estatus disponibles.
/renta/{id}
Requiere Auth
Obtener una renta por ID con sus items.
/renta/alta
Requiere Auth
Crear una nueva renta. El stock se descuenta automaticamente.
Body Parameters
| Parametro | Tipo | Descripcion |
|---|---|---|
| customer_id requerido | integer | ID del cliente |
| rental_date requerido | date | Fecha de renta (>= hoy) |
| return_date requerido | date | Fecha de devolucion (> rental_date) |
| delivery_address requerido | string | Direccion de entrega |
| notes opcional | string | Notas adicionales |
| items requerido | array | Lista de productos a rentar |
| items.*.product_id requerido | integer | ID del producto |
| items.*.quantity requerido | integer | Cantidad a rentar (min: 1) |
{
"customer_id": 1,
"rental_date": "2026-02-01",
"return_date": "2026-02-05",
"delivery_address": "Calle Principal 123",
"notes": "Entregar por la manana",
"items": [
{ "product_id": 1, "quantity": 10 },
{ "product_id": 2, "quantity": 5 }
]
}
/renta/actualizacion/{id}
Requiere Auth
Actualizar una renta.
/renta/{id}/estatus
Requiere Auth
Actualizar el estatus de una renta. Maneja automaticamente el stock.
Body Parameters
| Parametro | Tipo | Descripcion |
|---|---|---|
| status requerido | string | pending, delivered, returned, cancelled, finished |
// Flujo de estatus: pending -> delivered | cancelled delivered -> returned | cancelled | finished // Estados finales (no se pueden modificar): returned, cancelled, finished
/renta/eliminar/{id}
Requiere Auth
Eliminar una renta (soft delete).
/renta/bulk-soft-delete
Requiere Auth
Eliminar multiples rentas.
/renta/bulk-restore
Requiere Auth
Restaurar multiples rentas eliminadas.