Restofy Docs
Catálogo del punto de venta POST

Precios del menú

POST /api/pos-catalog/get-menu-prices

Descripción

Devuelve todos los precios configurados para los productos del menú, incluyendo opciones de listas de precio y el valor resuelto de cada uno.

Detalles

Retorna los precios habilitados para cada producto del menú indicado, identificando si son fijos, heredados de la base, porcentuales, listas de precio, gratuitos o de precio abierto. Cuando aplica también devuelve las opciones de cada lista de precio. Falla si el menú no aplica a la orden o el usuario no tiene acceso.

Permisos requeridos

orders.module orders.integration

El usuario solo necesita uno de los permisos listados.

Request

Nombre Tipo Requerido Reglas
menuId int
min_value:1
orderUuid string
min:36 max:36
productIds string No
array_int

Ejemplo de request

curl -X POST https://restofy.pro/api/pos-catalog/get-menu-prices \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>" \
  -H "X-Tenant-Key: <tenantKey>" \
  -d '{
    "menuId": 1,
    "orderUuid": "string"
}'

Los valores son demo: reemplázalos por datos reales del negocio.

Ejemplo de respuesta

Actualizado: 2026-09-08T16:35:34Z
HTTP 200

Request

{
    "orderUuid": "23c322c2-ff78-4395-a157-fac5cbbd1c38",
    "menuId": 1
}

Response

{
    "success": true,
    "message": "Operación realizada correctamente",
    "data": {
        "prices": [
            {
                "menuProductId": 4,
                "productId": 4,
                "productPriceId": 4,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 700000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 5,
                "productId": 5,
                "productPriceId": 46,
                "priceName": "Precio normal",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 1100000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 5,
                "productId": 5,
                "productPriceId": 47,
                "priceName": "Happy hour",
                "priceType": "fixed",
                "priceValueCents": 850000,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 850000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 5,
                "productId": 5,
                "productPriceId": 48,
                "priceName": "50% OFF",
                "priceType": "percentage",
                "priceValueCents": 0,
                "priceBasisPoints": 5000,
                "resolvedPriceCents": 550000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 5,
                "productId": 5,
                "productPriceId": 49,
                "priceName": "Cortesía",
                "priceType": "free",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 0,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 5,
                "productId": 5,
                "productPriceId": 50,
                "priceName": "Por tamaño",
                "priceType": "price_list",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": null,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 5,
                "productId": 5,
                "productPriceId": 51,
                "priceName": "Precio manual",
                "priceType": "open_price",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": null,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 6,
                "productId": 6,
                "productPriceId": 6,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 1800000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 7,
                "productId": 7,
                "productPriceId": 7,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 2200000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 8,
                "productId": 8,
                "productPriceId": 8,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 2500000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 9,
                "productId": 9,
                "productPriceId": 9,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 2300000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 10,
                "productId": 10,
                "productPriceId": 10,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 1600000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 11,
                "productId": 11,
                "productPriceId": 11,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 1000000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 12,
                "productId": 12,
                "productPriceId": 12,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 1100000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 13,
                "productId": 13,
                "productPriceId": 13,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 900000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 14,
                "productId": 14,
                "productPriceId": 14,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 850000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 15,
                "productId": 15,
                "productPriceId": 15,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 750000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 16,
                "productId": 16,
                "productPriceId": 16,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 500000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 17,
                "productId": 17,
                "productPriceId": 17,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 550000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 18,
                "productId": 18,
                "productPriceId": 18,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 350000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 19,
                "productId": 19,
                "productPriceId": 19,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 400000,
                "isSelfOrderPrice": false
            },
            {
                "menuProductId": 20,
                "productId": 20,
                "productPriceId": 20,
                "priceName": "Precio estándar",
                "priceType": "inherit",
                "priceValueCents": 0,
                "priceBasisPoints": 0,
                "resolvedPriceCents": 600000,
                "isSelfOrderPrice": false
            }
        ],
        "priceOptions": [
            {
                "productPriceId": 50,
                "optionId": 14,
                "description": "Pequeño",
                "priceCents": 800000,
                "sortOrder": 1
            },
            {
                "productPriceId": 50,
                "optionId": 15,
                "description": "Mediano",
                "priceCents": 1100000,
                "sortOrder": 2
            },
            {
                "productPriceId": 50,
                "optionId": 16,
                "description": "Grande",
                "priceCents": 1400000,
                "sortOrder": 3
            }
        ]
    }
}