Costos
POST
Costo de un plato
POST /api/costing/get-product-cost
Descripción
Detalle del costo de un plato con sus ingredientes y adiciones.
Detalles
Devuelve cada ingrediente de la receta con su cantidad, su costo y su peso en el plato. Las sub-recetas vienen abiertas en sus propios ingredientes. Incluye los grupos de adiciones del plato con el precio y el costo de cada opción.
Permisos requeridos
costs.module
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| productId | int | Sí |
min_value:1
|
Ejemplo de request
curl -X POST https://restofy.pro/api/costing/get-product-cost \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"productId": 1
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-11-02T19:00:57Z
HTTP 200
Request
{
"productId": 21
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"targetBasisPoints": 3000,
"product": {
"productId": 21,
"productUuid": "f4b9d296-cfb3-499f-a431-81008d43dd9f",
"name": "Plato costo 6ae8d731e0d9e",
"categoryName": "Sopas y Cremas",
"priceCents": 20000,
"costCents": 5460,
"hasRecipe": 1,
"hasMissingCost": 0,
"foodCostBasisPoints": 2730
},
"lines": [
{
"kind": "item",
"inventoryItemId": 27,
"name": "Insumo Test 6ae8d731094ba",
"quantity": 150,
"unitSymbol": "g",
"countingSymbol": "g",
"unitCostCents": 30,
"costCents": 4500,
"hasMissingCost": 0,
"children": []
},
{
"kind": "item",
"inventoryItemId": 28,
"name": "Insumo Test 6ae8d731b19d3",
"quantity": 80,
"unitSymbol": "g",
"countingSymbol": "g",
"unitCostCents": 12,
"costCents": 960,
"hasMissingCost": 0,
"children": []
}
],
"modifierGroups": []
}
}