Saltar al contenido principal

Menú: Platos

Gestiona los platos individuales de tu carta.


Listar platos

GET /developer/api/menu/items

Scope: menu:read

Parámetros de query (opcionales)

ParámetroTipoDescripción
category_idnumberFiltrar platos por categoría

Ejemplo

curl "https://mi-restaurante.siteat.app/developer/api/menu/items?category_id=1" \
-H "Authorization: Bearer sk_live_..."

Respuesta (200)

{
"success": true,
"data": [
{
"id": 10,
"name": "Croquetas caseras",
"description": "Croquetas de jamón ibérico",
"price": 8.50,
"type": "simple",
"is_available": true,
"image_url": "https://...",
"category_id": 1,
"category_name": "Entrantes"
},
{
"id": 11,
"name": "Patatas bravas",
"description": "Con salsa brava y alioli",
"price": 6.00,
"type": "simple",
"is_available": true,
"image_url": null,
"category_id": 1,
"category_name": "Entrantes"
}
]
}

Crear plato

POST /developer/api/menu/items

Scope: menu:write

Cuerpo de la petición (JSON)

CampoTipoObligatorioDescripción
category_idnumberID de la categoría a la que pertenece
namestringNombre del plato
descriptionstringDescripción del plato
pricenumberPrecio (por defecto: 0)
typestringTipo: simple, compound, component (por defecto: simple)
image_urlstringURL de imagen del plato
is_availablebooleanSi está disponible (por defecto: true)

Ejemplo

curl -X POST "https://mi-restaurante.siteat.app/developer/api/menu/items" \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"category_id": 5,
"name": "Tarta de queso",
"description": "Tarta de queso al horno con mermelada de frutos rojos",
"price": 7.50,
"is_available": true
}'

Respuesta (201)

{
"success": true,
"data": {
"id": 35,
"category_id": 5,
"name": "Tarta de queso",
"description": "Tarta de queso al horno con mermelada de frutos rojos",
"price": 7.50,
"type": "simple",
"is_available": true,
"image_url": null,
"created_at": "2026-04-15T15:30:00Z"
}
}

Obtener un plato

GET /developer/api/menu/items/{id}

Scope: menu:read

Devuelve el plato con la misma estructura que en el listado.


Editar un plato

PUT /developer/api/menu/items/{id}

Scope: menu:write

CampoTipoDescripción
namestringNombre del plato
descriptionstringDescripción
pricenumberPrecio
typestringTipo (simple, compound, component)
image_urlstringURL de imagen
is_availablebooleanDisponibilidad
category_idnumberMover a otra categoría

Ejemplo — desactivar un plato

curl -X PUT "https://mi-restaurante.siteat.app/developer/api/menu/items/35" \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{ "is_available": false }'

Respuesta (200)

Devuelve el plato actualizado.


Eliminar un plato

DELETE /developer/api/menu/items/{id}

Scope: menu:write

Respuesta (200)

{
"success": true,
"data": null,
"message": "Plato eliminado correctamente"
}