Detalle de un producto
POST /api/site/get-product
Descripción
Devuelve el detalle de un producto del menú con sus variaciones y opciones para personalizarlo.
Detalles
Retorna los datos del producto elegido dentro del menú: precio, descripción, fotos, alérgenos, las variaciones con las que se ofrece y los grupos de opciones para personalizarlo con sus precios. Falla si el producto no está disponible en el menú.
Permisos requeridos
public
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| slug | string | Sí |
min:1
max:63
|
| menuId | int | Sí |
min_value:1
|
| productUuid | string | Sí |
min:36
max:36
|
| sessionUuid | string | No |
max:36
|
Ejemplo de request
curl -X POST https://restofy.pro/api/site/get-product \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"slug": "string",
"menuId": 1,
"productUuid": "string"
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-09-13T21:05:19Z
HTTP 200
Request
{
"slug": "restofy_test_siteproductsocia_1258_1789333482_tenant",
"menuId": 1,
"productUuid": "3661c9fa-18be-11f1-9da2-b627060a1ebe",
"sessionUuid": "375ceb7d-38d3-42b5-9220-7e7840e6b42e"
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"prices": [
{
"menuProductId": null,
"productId": 4,
"productPriceId": null,
"priceName": null,
"priceType": "inherit",
"priceValueCents": 0,
"priceBasisPoints": 0,
"resolvedPriceCents": 700000,
"isSelfOrderPrice": true
}
],
"priceOptions": [],
"product": {
"productId": 4,
"productUuid": "3661c9fa-18be-11f1-9da2-b627060a1ebe",
"name": "Sopa del Día",
"description": "Sopa casera preparada según disponibilidad del día",
"priceCents": 700000,
"kitchenDefaultNotes": "Caliente; Tibia; Sin sal; Aparte el pan",
"icon": "fa-solid fa-bowl-hot",
"color": "#f59e0b",
"categoryId": 2,
"categoryName": "Sopas y Cremas",
"categoryColor": "#f97316",
"imageUrl": null,
"images": [],
"likesCount": 1,
"questionsCount": 3,
"viewsCount": 0,
"likedByMe": false,
"allergens": [
{
"allergenId": 1,
"name": "Gluten",
"icon": "fa-solid fa-wheat-awn",
"contains": "may_contain"
},
{
"allergenId": 7,
"name": "Leche",
"icon": "fa-solid fa-cow",
"contains": "may_contain"
}
],
"modifierGroups": []
}
}
}