Stock
Consultar stock por variante
GET /api/v1/inventory/stock?variant_id=:id
Retorna el stock en todas las bodegas para una variante.
Respuesta 200:
{
"data": [
{
"variant_id": "uuid",
"warehouse_id": "uuid",
"warehouse_name": "Almacén Central",
"available": 150,
"reserved": 5,
"committed": 10
}
]
}
Listar todo el stock
GET /api/v1/inventory/stock/all
Parámetros:
| Nombre | Tipo | Descripción |
|---|---|---|
cursor | string | Cursor de paginación |
limit | int | Items por página (default 50) |
Ajustar stock
POST /api/v1/inventory/stock/adjust
{
"variant_id": "uuid",
"warehouse_id": "uuid",
"mode": "delta",
"quantity": -10,
"reason": "damage",
"note": "Productos dañados en tránsito"
}
| Campo | Requerido | Tipo | Descripción |
|---|---|---|---|
variant_id | sí | uuid | ID de la variante |
warehouse_id | sí | uuid | ID de la bodega |
mode | sí | string | set (absoluto) o delta (relativo +/-) |
quantity | sí | int | Cantidad (negativa para restar en modo delta) |
reason | sí | string | recount, damage, return, correction, other |
note | no | string | Nota descriptiva |
Historial de movimientos
GET /api/v1/inventory/stock/movements?variant_id=:id
Parámetros:
| Nombre | Tipo | Descripción |
|---|---|---|
variant_id | uuid | ID de la variante |
page | int | Página (paginación offset) |
Respuesta 200:
{
"data": [
{
"id": "uuid",
"variant_id": "uuid",
"warehouse_id": "uuid",
"delta": -10,
"reason": "damage",
"note": "Productos dañados en tránsito",
"created_at": "2026-04-08T12:00:00Z"
}
]
}
Reservar / Liberar / Confirmar stock
Estos endpoints se usan internamente durante el flujo de checkout:
| Acción | Método | Endpoint |
|---|---|---|
| Reservar | POST | /api/v1/inventory/stock/reserve |
| Liberar | POST | /api/v1/inventory/stock/release |
| Confirmar | POST | /api/v1/inventory/stock/commit |
{
"variant_id": "uuid",
"warehouse_id": "uuid",
"quantity": 2,
"reference_id": "uuid-de-orden"
}