Referencia API WHMS
Referencia completa de la API del Sistema de Gestión de Almacén — 37 endpoints cubriendo almacenes, zonas, slots, activos, eventos, dashboard y planos de planta.
Última actualización: 2025-02-18
Referencia API WHMS
El Sistema de Gestión de Almacén expone 37 endpoints REST para gestionar almacenes, zonas, slots, activos, eventos de colocación y analíticas de dashboard.
KPIs del dashboard impulsados por la API WHMS — utilización, rendimiento, incidentes y unidades activas.
Autenticación
Todos los endpoints WHMS requieren autenticación. Consulta la Referencia de API REST para detalles de autenticación.
Almacenes
/api/whms/warehousesListar todos los almacenes accesibles al usuario autenticado
Retorna almacenes con conteo de zonas, slots totales y utilización general.
{
"warehouses": [
{
"id": 1,
"name": "Monterrey Hub",
"location": { "lat": 25.6866, "lng": -100.3161 },
"timezone": "America/Mexico_City",
"zones": 5,
"totalSlots": 120,
"utilization": 72
}
]
}
/api/whms/warehousesCrear un nuevo almacén
{
"name": "Monterrey Hub",
"location": { "lat": 25.6866, "lng": -100.3161 },
"timezone": "America/Mexico_City",
"floor_plan_image": "base64_or_url"
}
/api/whms/warehouses/:idObtener detalles del almacén con resumen de zonas
Retorna metadatos completos del almacén incluyendo todas las zonas, conteo de slots y desglose de utilización.
/api/whms/warehouses/:idActualizar metadatos del almacén
Actualizar nombre, ubicación, zona horaria o imagen del plano de planta.
Zonas
/api/whms/zonesListar todas las zonas con datos de ocupación
Retorna zonas con conteo de slots, slots ocupados y utilización a nivel de zona.
{
"zones": [
{
"id": 1,
"name": "Zone A",
"zone_type": "storage",
"color": "#3b82f6",
"warehouseId": 1,
"totalSlots": 40,
"occupiedSlots": 29,
"utilization": 72.5
}
]
}
/api/whms/zonesCrear una zona
{
"name": "Zone A",
"zone_type": "storage",
"color": "#3b82f6",
"warehouseId": 1
}
/api/whms/zones/:idObtener detalles de la zona
Retorna metadatos de la zona, todos los slots y analíticas a nivel de zona.
/api/whms/zones/:idActualizar metadatos de la zona
Actualizar nombre de la zona, tipo, color o asignación de almacén.
/api/whms/zones/:id/slotsListar todos los slots en una zona
Retorna slots con estado de ocupación calculado desde el registro de eventos.
/api/whms/zones/:id/analyticsObtener analíticas de la zona
Retorna datos de series temporales para utilización de zona, eventos por hora y conteo de incidentes.
Slots
/api/whms/slotsListar todos los slots
Soporta filtrado por zone, status (empty, occupied, verified) y paginación.
/api/whms/slotsCrear un slot
{
"slot_id": "A-01-01",
"zone": "A",
"floor_plan_polygon": [
{ "x": 10, "y": 20 },
{ "x": 50, "y": 20 },
{ "x": 50, "y": 60 },
{ "x": 10, "y": 60 }
],
"constraints": {
"max_weight_kg": 5000,
"max_height_m": 4.0,
"allowed_types": ["pallet", "box"]
}
}
/api/whms/slots/:idObtener slot con ocupación calculada
Retorna metadatos del slot y estado derivado: isOccupied, assetBarcode, isVerified, lastEvent.
/api/whms/slots/:idActualizar metadatos del slot
Actualizar polígono, restricciones o asignación de zona. No afecta el registro de eventos.
/api/whms/slots/:id/eventsObtener historial de eventos de un slot
Retorna eventos cronológicos para un slot específico. Soporta paginación y filtrado por fecha.
Activos
/api/whms/assetsListar todos los activos registrados
Retorna activos con tipo, metadatos y ubicación actual (derivada de eventos).
/api/whms/assetsRegistrar un nuevo activo
{
"asset_id": "PLT-2024-00042",
"type": "pallet",
"weight_kg": 1250,
"dimensions": { "length": 120, "width": 100, "height": 15 }
}
/api/whms/assets/:barcodeObtener detalles del activo
Retorna metadatos del activo, ubicación actual e historial de colocación.
/api/whms/assets/:barcode/locationObtener ubicación actual del activo
Retorna el slot actual donde el activo está colocado, derivado del registro de eventos.
/api/whms/assets/:barcode/historyObtener historial de movimientos del activo
Lista cronológica de todos los eventos de colocación y retiro para este activo.
Eventos de Colocación
Registro Inmutable
El endpoint de eventos es solo-adición. Los eventos no pueden ser actualizados ni eliminados. Todas las correcciones deben registrarse como nuevos eventos.
/api/whms/eventsCrear un evento de colocación
{
"event_type": "PLACED",
"slot_id": 5,
"asset_barcode": "PLT-2024-00042",
"operator": "op-123",
"photo_url": "https://cloud.example.com/evidence/photo.jpg",
"scale_weight_kg": 1250,
"cctv_clip_url": "https://cloud.example.com/clips/cam3-14h32.mp4",
"work_order_ref": "WO-2025-001"
}
La respuesta incluye el evidence_hash SHA-256 del paquete de evidencias.
/api/whms/eventsConsultar historial de eventos
Soporta filtrado por slot_id, asset_barcode, event_type, operator, rango de fechas y paginación vía limit/offset.
/api/whms/events/:idObtener detalles del evento
Retorna el registro completo del evento incluyendo URLs de evidencia, hash y clips CCTV vinculados.
/api/whms/events/streamTransmitir eventos para visualización en mapa
Retorna eventos dentro de una ventana temporal y límites de viewport. Selecciona automáticamente el modo de respuesta (crudo, agrupado o agregado) basándose en la densidad de datos.
Dashboard
/api/whms/dashboard/utilizationEstadísticas de utilización por zona
{
"totalSlots": 200,
"occupiedSlots": 142,
"utilizationPercent": 71,
"pendingVerifications": 8,
"byZone": [
{ "zone": "A", "occupied": 45, "total": 60, "utilization": 75 }
]
}
/api/whms/dashboard/throughputMétricas de rendimiento
Retorna unidades procesadas por hora/día/semana con datos de tendencia.
/api/whms/dashboard/incidentsResumen de incidentes activos
Retorna incidentes abiertos agrupados por severidad y categoría.
/api/whms/dashboard/kpisDatos de KPI agregados
Endpoint combinado que retorna utilización, rendimiento, incidentes y unidades de transporte activas.
Planos de Planta
/api/whms/floor-plansListar planos de planta
Retorna todas las imágenes de planos de planta con conteo de slots por plano.
/api/whms/floor-plansSubir una imagen de plano de planta
Acepta multipart/form-data con la imagen del plano y metadatos.
/api/whms/floor-plans/:idObtener plano de planta con polígonos de slots
Retorna la URL de la imagen del plano y todas las definiciones de polígonos de slots asociados.
Unidades de Transporte
/api/whms/transport-unitsListar unidades de transporte
Soporta filtrado por status, stage, operator y priority.
/api/whms/transport-units/:idObtener detalles de unidad de transporte
Retorna el registro completo incluyendo historial de flujo de trabajo, elementos de evidencia y datos de peso.
/api/whms/transport-unitsCrear una unidad de transporte
{
"type": "container",
"operation": "import",
"priority": "normal",
"seal_number": "SEAL-2025-00042"
}
/api/whms/transport-units/:id/advanceAvanzar a la siguiente etapa del flujo de trabajo
Valida que todos los requisitos de la etapa se cumplan antes de avanzar. Retorna errores de validación si está incompleto.