Restofy Docs
Costos POST

Listar costo de platos

POST /api/costing/list-product-costs

Descripción

Listado paginado de platos con su costo, precio y porcentaje de costo.

Detalles

Calcula el costo de cada plato con su receta y el costo vigente de sus insumos. Permite ver solo los platos que superan la meta de costo o los que no tienen receta. Incluye cuántos platos superan la meta y cuántos no tienen receta en todo el catálogo.

Permisos requeridos

costs.module

Request

Nombre Tipo Requerido Reglas
search string No
max:100
status string No
enum:over,noRecipe

Paginación

defaultLimit 50
maxLimit 100
defaultDir asc
withTotal true
allowedSorts [name, costCents, priceCents, foodCostBasisPoints, productId]
tieBreak productId asc

Ejemplo de request

curl -X POST https://restofy.pro/api/costing/list-product-costs \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>"

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

Ejemplo de respuesta

Actualizado: 2026-11-02T19:00:57Z
HTTP 200

Request

{
    "search": "Plato costo 6ae8d7303c119"
}

Response

{
    "success": true,
    "message": "Operación realizada correctamente",
    "data": {
        "targetBasisPoints": 3000,
        "kpis": {
            "productsOverTarget": 1,
            "productsWithoutRecipe": 17
        },
        "products": [
            {
                "productId": 21,
                "productUuid": "e3650f94-595d-4c3b-912d-af30ff51fd12",
                "name": "Plato costo 6ae8d7303c119",
                "categoryName": "Sopas y Cremas",
                "priceCents": 10000,
                "costCents": 8000,
                "hasRecipe": 1,
                "hasMissingCost": 0,
                "foodCostBasisPoints": 8000
            }
        ],
        "pagination": {
            "page": 1,
            "limit": 50,
            "total": 1,
            "totalPages": 1,
            "hasNext": false,
            "hasPrev": false
        }
    }
}