GET
/api/mod/ventas/{espacio}/inventory/items/{sku}Un artículo del inventario
El artículo con su cantidad y, si lo pides, sus últimos movimientos.
- PERMISOlee (vale cualquier clave)
- CRÉDITOSno gasta
- AUTENTICACIÓNBearer bth_…
PARÁMETROS
| CAMPO | TIPO | REQUERIDO | QUÉ ES |
|---|---|---|---|
| espacio | string | SÍ | El id del espacio (sale en GET /api/companies). Tiene que tener el módulo Ventas. |
| sku | string | SÍ | El SKU del artículo. Si no diste uno al cargarlo, es su nombre en minúsculas con guiones (Café Huila 500 g → cafe-huila-500-g). |
| with_movements | bool, query | no | true: añade movements, los últimos 50 cambios de cantidad. |
RESPUESTA 200
| CAMPO | TIPO | QUÉ ES |
|---|---|---|
| sku · nombre | string | El SKU y el nombre. |
| cantidad | string | Lo que hay, como texto decimal ("12", "2.5"). Nunca baja de 0. |
| umbral_bajo | string | null | Desde esta cantidad hacia abajo cuenta como stock bajo. null: sin umbral. |
| unidad · bodega | string | null | La unidad (unidad, kg, caja…) y dónde está. |
| aliases_json | string | Otros nombres con los que se reconoce, como una lista JSON en texto: "[\"Café Huila\"]". |
| activo | 0 | 1 | 1 si se ofrece. |
| fuente | string | null | De dónde vino su última carga: csv, xlsx, pdf o manual. |
| external_id | string | null | Su id en tu sistema contable, si viene de una sincronización. |
| created_at · updated_at | number | Segundos desde 1970, con decimales. |
| movements[] | { tipo, delta, resultante, motivo, origen, created_at } | El más reciente primero. tipo: ingesta (archivo), set (alta manual), ajuste, venta o sync. delta y resultante, texto decimal. |
ERRORES DE ESTA RUTA · SIEMPRE {"detail": …}
| STATUS | CUÁNDO | DETAIL LITERAL |
|---|---|---|
| 403 | El espacio no tiene el módulo Ventas | módulo no habilitado para este espacio. |
| 404 | No hay un artículo con ese SKU en el inventario | item no encontrado: … |
Y los de cualquier ruta —clave inválida, cuenta no al día, IP, límites—, en Errores, límites y créditos.