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>" \
-H "X-Tenant-Key: <tenantKey>" \
-d '{
"slug": "string",
"menuId": 1,
"productUuid": "string"
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-09-08T16:35:34Z
HTTP 200
Request
{
"slug": "restofy_test_siteproductsocia_9505_1788885297_tenant",
"menuId": 1,
"productUuid": "3662ba46-18be-11f1-9da2-b627060a1ebe",
"sessionUuid": "2fd119f9-9e7a-4a3f-a952-0012dab4f74e"
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"prices": [
{
"menuProductId": null,
"productId": 18,
"productPriceId": null,
"priceName": null,
"priceType": "inherit",
"priceValueCents": 0,
"priceBasisPoints": 0,
"resolvedPriceCents": 350000,
"isSelfOrderPrice": true
}
],
"priceOptions": [],
"product": {
"productId": 18,
"productUuid": "3662ba46-18be-11f1-9da2-b627060a1ebe",
"name": "Agua con Gas",
"description": "Agua mineral con gas 350ml",
"priceCents": 350000,
"kitchenDefaultNotes": null,
"icon": "fa-solid fa-droplet",
"color": "#3b82f6",
"categoryId": 9,
"categoryName": "Bebidas Frías",
"categoryColor": "#06b6d4",
"imageUrl": null,
"images": [],
"likesCount": 1,
"questionsCount": 3,
"viewsCount": 0,
"likedByMe": false,
"allergens": [],
"modifierGroups": [
{
"modifierGroupId": 3,
"name": "Tamaño de bebida",
"description": "Seleccione el tamaño de la bebida",
"minSelections": 1,
"maxSelections": 1,
"isCollapsible": 0,
"sortOrder": 3,
"options": [
{
"modifierId": 9,
"name": "Regular (350ml)",
"priceCents": 0,
"minQuantity": 0,
"maxQuantity": 1,
"defaultQuantity": 1,
"sortOrder": 1
},
{
"modifierId": 10,
"name": "Grande (500ml)",
"priceCents": 100000,
"minQuantity": 0,
"maxQuantity": 1,
"defaultQuantity": 0,
"sortOrder": 2
}
]
}
]
}
}
}