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ámetro | Tipo | Descripción |
|---|---|---|
category_id | number | Filtrar 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)
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
category_id | number | ✅ | ID de la categoría a la que pertenece |
name | string | ✅ | Nombre del plato |
description | string | — | Descripción del plato |
price | number | — | Precio (por defecto: 0) |
type | string | — | Tipo: simple, compound, component (por defecto: simple) |
image_url | string | — | URL de imagen del plato |
is_available | boolean | — | Si 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
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Nombre del plato |
description | string | Descripción |
price | number | Precio |
type | string | Tipo (simple, compound, component) |
image_url | string | URL de imagen |
is_available | boolean | Disponibilidad |
category_id | number | Mover 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"
}