Restofy Docs
Menú y pedido del comensal POST

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
min:1 max:63
menuId int
min_value:1
productUuid string
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
                        }
                    ]
                }
            ]
        }
    }
}