Transferir insumos entre bodegas
POST /api/inventory/create-transfer
Descripción
Mueve uno o varios insumos de una bodega de origen a una de destino.
Detalles
Registra una transferencia de insumos entre dos bodegas. Por cada insumo descuenta la cantidad en la bodega de origen y la suma en la de destino, dejando el rastro del movimiento con su saldo resultante. La cantidad de cada insumo se envía en cualquier unidad y se convierte a la unidad base. Según la configuración del negocio, puede bloquearse si el origen no tiene saldo suficiente.
Permisos requeridos
inventory.module
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| fromStorageLocationId | int | Sí |
min_value:1
|
| toStorageLocationId | int | Sí |
min_value:1
|
| notes | string | No |
max:500
|
| items | array | Sí | — |
| items[].inventoryItemId | int | Sí |
min_value:1
|
| items[].quantity | string | Sí |
decimal
min_value:0
|
| items[].unitId | int | Sí |
min_value:1
|
Ejemplo de request
curl -X POST https://restofy.pro/api/inventory/create-transfer \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-H "X-Tenant-Key: <tenantKey>" \
-d '{
"fromStorageLocationId": 1,
"toStorageLocationId": 1,
"items": [
{
"inventoryItemId": 1,
"quantity": "string",
"unitId": 1
}
]
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-09-08T16:35:34Z
HTTP 200
Request
{
"fromStorageLocationId": 4,
"toStorageLocationId": 1,
"notes": "Traslado a cuarto frío",
"items": [
{
"inventoryItemId": 27,
"quantity": 4,
"unitId": 2
}
]
}
Response
{
"success": true,
"message": "Transferencia registrada",
"data": {
"transferUuid": "90241f0c-bda6-49ff-8c4e-657b181d7a19"
}
}