Restofy Docs
Insumos de inventario POST

Configurar varios insumos de una vez

POST /api/inventory-items/update-inventory-items

Descripción

Aplica la misma categoría, bodegas, punto de reorden, estado o frecuencia de conteo a hasta 100 insumos en una sola llamada.

Detalles

Solo cambia los bloques marcados; el resto de cada insumo queda igual. Las excepciones de bodega se suman a las que ya tiene el insumo o las reemplazan, y la frecuencia de conteo se guarda en cada bodega elegida. El punto de reorden solo se aplica a los insumos que se miden en la misma dimensión que la unidad elegida; los demás se omiten. Valida todo antes de guardar: si algo falla no se guarda nada.

Permisos requeridos

recipes.module

Request

Nombre Tipo Requerido Reglas
dryRun bool No
default:0
items array Sí —
items[].inventoryItemId int Sí
min_value:1
applyCategory bool No
default:0
categoryUuid string No
min:36 max:36
applyDefaultLocation bool No
default:0
defaultConsumptionLocationId int No
min_value:1
applyLocationRules bool No
default:0
locationRulesMode string No
enum:add,replace default:add
locationRules array No —
locationRules[].conditionType string Sí
enum:kitchen_station,printer,zone,fulfillment
locationRules[].conditionRefId int Sí
min_value:1
locationRules[].storageLocationId int Sí
min_value:1
applyReorderPoint bool No
default:0
reorderPoint string No
decimal min_value:0
reorderUnitId int No
min_value:1
applyActive bool No
default:0
isActive int No
enum:0,1
applyCountSchedule bool No
default:0
countStorageLocationIds string No
array_int
frequencyType string No
enum:weekdays,interval,none
isMon bool No —
isTue bool No —
isWed bool No —
isThu bool No —
isFri bool No —
isSat bool No —
isSun bool No —
intervalDays int No
min_value:1 max_value:365

Ejemplo de request

curl -X POST https://restofy.pro/api/inventory-items/update-inventory-items \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>" \
  -d '{
    "items": [
        {
            "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

{
    "items": [
        {
            "inventoryItemId": 27
        },
        {
            "inventoryItemId": 28
        }
    ],
    "applyCategory": 1,
    "categoryUuid": "99df57cf-3420-40a2-ba88-c6da6b9a329d",
    "applyDefaultLocation": 1,
    "defaultConsumptionLocationId": 4,
    "applyActive": 1,
    "isActive": 0
}

Response

{
    "success": true,
    "message": "Insumos actualizados",
    "data": {
        "dryRun": false,
        "updated": 2,
        "skippedReorderPoint": 0
    }
}