El módulo de platillos gestiona el catálogo del menú del restaurante. Los endpoints de creación y edición aceptan imágenes medianteDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/AbyssDevs/CUSCATLECO/llms.txt
Use this file to discover all available pages before exploring further.
multipart/form-data, lo que permite subir fotografías de cada platillo. Las operaciones de lectura requieren el permiso ver_menu, mientras que la creación, edición y cambio de disponibilidad requieren gestionar_menu. Todos los endpoints requieren sesión activa y registran auditoría.
POST /api/platillos
Crea un nuevo platillo en el menú. El nombre debe ser único. Si se adjunta un archivo de imagen, se almacena en el servidor y se guarda la ruta relativa/uploads/<nombre_archivo>.
Permiso requerido: gestionar_menuContent-Type:
multipart/form-data
Cuerpo de la solicitud
ID de la categoría a la que pertenece el platillo. Las categorías disponibles son:
Entradas, Platos Fuertes, Bebidas, Postres.Nombre del platillo. Debe ser único en el sistema (máximo 100 caracteres).
Precio del platillo en dólares. Acepta hasta dos decimales. Ejemplo:
12.50.Descripción del platillo, ingredientes o presentación. Texto libre.
Disponibilidad inicial del platillo. Si se omite, el valor por defecto es
true.Archivo de imagen del platillo (JPEG, PNG, etc.). El campo del formulario debe llamarse exactamente
imagen. Si se omite, platillo_imagen_url queda como null.Respuesta exitosa — 200
Mensaje de confirmación:
"Platillo creado correctamente".ID asignado al nuevo platillo.
Ejemplo
cURL
Respuesta 200
Errores
| Código | Descripción |
|---|---|
400 | Faltan campos requeridos (id_categoria, platillo_nombre o platillo_precio), o el nombre ya existe. |
401 | Sesión no activa. |
403 | Sin permiso gestionar_menu. |
GET /api/platillos
Lista todos los platillos del menú. Los usuarios con rolAdministrador ven todos los platillos incluyendo los no disponibles. El resto de roles solo ven platillos con platillo_disponible = true.
Permiso requerido: ver_menu
Parámetros de consulta
Filtra platillos por categoría. Ejemplo:
?categoria_id=2.Filtra por nombre del platillo (búsqueda parcial, sin distinción de mayúsculas). Ejemplo:
?nombre=pupusa.Campo por el que ordenar. Valores válidos:
nombre, precio.Dirección del orden. Valores válidos:
ASC, DESC.Respuesta exitosa — 200
Retorna un array de objetos platillo.Identificador único del platillo.
ID de la categoría del platillo.
Nombre de la categoría. Ejemplo:
"Platos Fuertes".Nombre del platillo.
Descripción del platillo. Puede ser
null.Precio del platillo en dólares.
Ruta relativa de la imagen. Ejemplo:
"/uploads/pupusa.jpg". Puede ser null.Indica si el platillo está disponible para pedidos.
Fecha de creación en formato
YYYY-MM-DD.Fecha de la última actualización en formato
YYYY-MM-DD.Nombre del usuario que realizó la última modificación. Puede ser
null.Ejemplo
cURL
Respuesta 200
GET /api/platillos/:id
Obtiene un platillo específico por su ID. Los roles que no sonAdministrador solo pueden acceder a platillos con platillo_disponible = true.
Permiso requerido: ver_menu
Parámetros de ruta
ID del platillo a consultar.
Respuesta exitosa — 200
Identificador único del platillo.
ID de la categoría del platillo.
Nombre de la categoría.
Nombre del platillo.
Descripción del platillo.
Precio del platillo.
Ruta relativa de la imagen del platillo.
Disponibilidad actual del platillo.
Ejemplo
cURL
Respuesta 200
Errores
| Código | Descripción |
|---|---|
401 | Sesión no activa. |
403 | Sin permiso ver_menu. |
404 | Platillo no encontrado, o no está disponible y el usuario no es Administrador. |
PUT /api/platillos/:id
Edita un platillo existente. Solo se pueden editar platillos que están activos (platillo_disponible = true). Si no se adjunta una nueva imagen, se conserva la imagen existente.
Permiso requerido: gestionar_menuContent-Type:
multipart/form-data
Parámetros de ruta
ID del platillo a editar.
Cuerpo de la solicitud
ID de la categoría del platillo.
Nombre actualizado del platillo. Si cambia, no debe coincidir con el nombre de otro platillo.
Precio actualizado del platillo.
Descripción actualizada del platillo.
Nueva imagen del platillo. Si se omite, se conserva la imagen actual. El campo debe llamarse
imagen.Respuesta exitosa — 200
Mensaje de confirmación:
"Platillo actualizado correctamente".Ejemplo
cURL
Respuesta 200
Errores
| Código | Descripción |
|---|---|
400 | El nombre ya existe en otro platillo. |
401 | Sesión no activa. |
403 | Sin permiso gestionar_menu, o el platillo está inactivo (platillo_disponible = false). |
404 | Platillo no encontrado. |
PATCH /api/platillos/:id/estado
Activa o desactiva la disponibilidad de un platillo sin modificar sus demás datos. Un platillo desactivado no aparece en el menú para roles que no sean Administrador. Permiso requerido:gestionar_menu
Parámetros de ruta
ID del platillo al que se desea cambiar la disponibilidad.
Cuerpo de la solicitud
Nuevo estado de disponibilidad.
true para activar, false para desactivar.Respuesta exitosa — 200
Mensaje de confirmación:
"Estado del platillo actualizado correctamente".Ejemplo
cURL
Respuesta 200
Errores
| Código | Descripción |
|---|---|
400 | El campo platillo_disponible no fue enviado. |
401 | Sesión no activa. |
403 | Sin permiso gestionar_menu. |
404 | Platillo no encontrado. |