📍 Seleccionar Centros (haz clic en uno o varios para comparar)
Tipo de espacio:
Todos los espacios
▾
Todas las zonas
▾
Mapa de Calor - Ocupación por Hora y Espacio
Mapa de Calor - Ocupación por Hora y Zona
% Ocupación Media por Hora
Ocupación por Espacio
| Fecha | Hora | Ubicación | Espacio | Zona | Personas | Aforo | % Ocup. | Registrado |
|---|
a
KPIs de Ocupación por Espacio y Zona
Gráfico Ranking Zonas
Tendencia Semanal
Ranking de Espacios
Ranking de Zonas
Centros o sedes donde se ubican los espacios
| Nombre | Dirección | Red | Espacios | Zonas | Aforo Total | Estado |
|---|
Estructura: Ubicación → Espacio → Zona (con aforo)
Usuarios con acceso a la plataforma
| Nombre | Rol | Red | Ubicaciones | Estado |
|---|
🔑 API Keys — Conteo Automático
Las API Keys permiten que sensores, cámaras y dispositivos IoT envíen datos de conteo automático a la plataforma.
📡 Dispositivos Conectados
Cargando...
API REST — Conteo Automático
Base URL: api.php · Autenticación: header X-API-Key
Conteo de personas
POST?action=count
Registrar conteo desde sensor/cámara. Body:
{"zona_id":"z1", "personas":15, "device_id":"cam-01", "tipo":"camara"}POST?action=count_batch
Enviar múltiples conteos. Body:
{"registros":[{"zona_id":"z1","personas":15},{"zona_id":"z2","personas":8}]}GET?action=count_status
Estado actual de ocupación de todas las zonas (datos de hoy)
GET?action=zones
Listado de zonas para configurar dispositivos
Dispositivos
POST?action=device_heartbeat
Heartbeat periódico del dispositivo. Body:
{"device_id":"cam-01","status":"online","metadata":{}}GET?action=devices_list
Lista de dispositivos conectados con último estado
📊 Consultas de datos (API de lectura)
GET?action=get_estructura
Árbol jerárquico completo: ubicaciones → espacios → zonas
GET?action=get_ubicaciones
Listar ubicaciones con contadores. Filtro:
activa=1|0GET?action=get_espacios
Listar espacios. Filtros:
ubicacion_id, activoGET?action=get_zonas
Listar zonas. Filtros:
espacio_id, ubicacion_id, activaGET?action=get_registros
Consultar registros de ocupación. Filtros:
fecha_desde, fecha_hasta, ubicacion_id, espacio_id, zona_id, hora, tipo, limit, offset, ordenGET?action=get_kpis
KPIs agregados. Filtros +
agrupar_por=fecha|hora|ubicacion|espacio|zona|dia_semana|mesGET?action=get_horarios
Horarios configurados. Filtro:
ubicacion_idGET?action=get_resumen
Resumen/dashboard de un día. Filtro:
fecha (default: hoy)Datos generales
GET?action=load&network=ID
Cargar todos los datos de una red
POST?action=save&network=ID
Guardar datos completos de una red
GET?action=ping
Health check del servidor con info de versión y endpoints disponibles
📖 Documentación interactiva completa para desarrolladores →
Prueba los endpoints en vivo con tu API Key
Ejemplo de integración — Sensor/Cámara
1. Obtener zonas disponibles
curl -H "X-API-Key: fm_tu_api_key" \ "https://espacios.fitmetrics.es/api.php?action=zones"
2. Enviar conteo de personas
curl -X POST -H "X-API-Key: fm_tu_api_key" \
-H "Content-Type: application/json" \
-d '{"zona_id":"z1a2b3","personas":23,"device_id":"cam-entrada","tipo":"camara"}' \
"https://espacios.fitmetrics.es/api.php?action=count"
3. Consultar estado actual
curl -H "X-API-Key: fm_tu_api_key" \
"https://espacios.fitmetrics.es/api.php?action=count_status"
# Respuesta:
{
"ok": true,
"fecha": "2026-03-25",
"hora": "14:00",
"zonas": [
{
"zona_id": "z1a2b3",
"zona_nombre": "Cardio",
"espacio_nombre": "Sala Fitness",
"ubicacion_nombre": "Centro Principal",
"aforo": 30,
"personas_actual": 23,
"pct_ocupacion": 77,
"ultima_hora": "14:00",
"tipo": "camara"
}
]
}
Esquema de datos
{
"usuario": { "id":"str", "nombre":"str", "email":"str", "rol":"superadmin|gestor|admin|operador", "ubicaciones_ids":"[]", "activo":"bool" },
"ubicacion": { "id":"str", "nombre":"str", "direccion":"str", "activa":"bool" },
"espacio": { "id":"str", "nombre":"str", "ubicacion_id":"str", "activo":"bool" },
"zona": { "id":"str", "nombre":"str", "espacio_id":"str", "aforo":"number", "activa":"bool" },
"registro": { "id":"str", "fecha":"YYYY-MM-DD", "hora":"HH:00", "zona_id":"str",
"espacio_id":"str", "ubicacion_id":"str", "personas":"number",
"registrado_por":"str|auto:device_id", "tipo":"manual|sensor|camara|iot",
"timestamp":"ISO 8601" },
"api_key": { "key":"fm_xxx", "network_id":"str", "nombre":"str", "permisos":["read","write","count"], "activa":"bool" }
}