Restofy Docs
Costos POST

Compras de un insumo

POST /api/costing/list-item-purchase-costs

Descripción

Listado paginado de las compras de un insumo con su costo.

Detalles

Cada compra trae su proveedor, su fecha y el costo pagado por unidad de conteo. Indica si la compra cuenta hoy para el costo, si quedó con alerta y si fue excluida. Viene de la compra más reciente a la más antigua.

Permisos requeridos

costs.module

Request

Nombre Tipo Requerido Reglas
inventoryItemId int Sí
min_value:1

Paginación

defaultLimit 30
maxLimit 100
defaultDir desc
withTotal true
allowedSorts [invoiceDate, purchaseItemId]
tieBreak purchaseItemId desc

Ejemplo de request

curl -X POST https://restofy.pro/api/costing/list-item-purchase-costs \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>" \
  -d '{
    "inventoryItemId": 1
}'

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

Ejemplo de respuesta

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

Request

{
    "inventoryItemId": 33
}

Response

{
    "success": true,
    "message": "Operación realizada correctamente",
    "data": {
        "purchases": [
            {
                "purchaseItemId": 6,
                "purchaseUuid": "32d351a6-d116-11f1-8bb6-de64ef616b7c",
                "invoiceNumber": "FC-6ae8d73d49acd",
                "supplierName": "Distribuidora 6ae8d73cda5f6",
                "invoiceDate": "2026-11-02",
                "quantity": 100,
                "unitSymbol": "g",
                "unitCostCents": 200,
                "hasCostAlert": 1,
                "varianceBasisPoints": 90000,
                "isCostExcluded": 0,
                "excludedReason": null,
                "isInWindow": 1
            },
            {
                "purchaseItemId": 5,
                "purchaseUuid": "323facee-d116-11f1-8bb6-de64ef616b7c",
                "invoiceNumber": "FC-6ae8d73c59631",
                "supplierName": "Distribuidora 6ae8d73be8b4f",
                "invoiceDate": "2026-11-02",
                "quantity": 100,
                "unitSymbol": "g",
                "unitCostCents": 20,
                "hasCostAlert": 1,
                "varianceBasisPoints": 10000,
                "isCostExcluded": 0,
                "excludedReason": null,
                "isInWindow": 1
            }
        ],
        "pagination": {
            "page": 1,
            "limit": 30,
            "total": 2,
            "totalPages": 1,
            "hasNext": false,
            "hasPrev": false
        }
    }
}