Integración Garmin
vitalera es el único partner de Garmin Health enfocado exclusivamente en datos de salud y rendimiento deportivo. Combinamos la API oficial de Garmin Health y el SDK de Garmin Connect Mobile para ofrecer datos en bruto, completos y en tiempo real — sin las lagunas de los agregadores genéricos.
Por qué Garmin con vitalera
Los equipos que dependen de Health Connect o de agregadores genéricos de wearables para obtener datos de Garmin suelen encontrarse con las mismas limitaciones:
- Las métricas de distancia y GPS se redondean o submuestrean, por lo que la actividad que ve en su plataforma no coincide con lo que el atleta realmente registró en su reloj.
- Los entrenamientos llegan incompletos — faltan vueltas, hay huecos en la traza de frecuencia cardíaca o se pierde la estructura de los intervalos.
- Las métricas avanzadas simplemente no se exponen: cadencia, zonas de frecuencia cardíaca, SpO2, potencia de carrera, carga de entrenamiento, estrés, Body Battery y otras fuentes de datos nativas de Garmin quedan fuera de alcance.
- Sin streaming en vivo durante una actividad — solo recibe la sesión una vez que ha terminado y se ha sincronizado.
- Latencia de sincronización de varios minutos a horas, lo que hace imposibles las alertas clínicas en tiempo real o la monitorización en carrera.
vitalera se conecta directamente a la Garmin Health API (servidor a servidor) y al Garmin Connect Mobile SDK (en dispositivo), proporcionándole la misma fidelidad de datos que Garmin utiliza internamente.
API vs SDK vs Health Connect
Recomendado: Garmin Health API a través de vitalera — la forma más rápida y escalable de conectar dispositivos Garmin para el 99% de los casos de uso (plataformas deportivas, RPM, coaching, investigación). El SDK solo es necesario para streaming en vivo con latencia inferior al segundo.
| Capacidad | Health Connect | Garmin Health API (vía vitalera) | Garmin SDK (vía vitalera) |
|---|---|---|---|
| Recomendado para | — | Opción por defecto | Solo broadcast / TV en vivo |
| Completitud del entrenamiento | Parcial, lagunas frecuentes | Sesión completa + vueltas | Sesión completa + vueltas |
| Precisión de distancia | Redondeada / aproximada | En bruto, precisión de 2 decimales | En bruto, precisión de 2 decimales |
| Zonas de frecuencia cardíaca | No | Sí | Sí |
| Cadencia y potencia de carrera | No | Sí | Sí |
| SpO2 | No | Diario + bajo demanda | Streaming continuo |
| Fases del sueño | Limitado | Completo (ligero / profundo / REM) | Completo |
| Retroalimentación histórica | Días | Hasta 90 días | Solo en vivo |
| UX de vinculación de usuario | Manual por dispositivo | OAuth de una sola vez | Requiere instalación de app |
| Tiempo de integración | Semanas | ~15 minutos | 1-2 semanas |
| Escala a grandes bases de usuarios | No | Sí, probado en producción | Basado en eventos |
| Servidor a servidor (sin app necesaria) | No | Sí | No (requiere SDK móvil) |
| Streaming en tiempo real (sub-segundo) | No | No | Sí |
Cuándo elegir cada opción
- Garmin Health API (vía vitalera) — 99% de los casos. Plataformas deportivas, RPM, apps de coaching, investigación, seguros, bienestar corporativo. Servidor a servidor, sin SDK móvil necesario, datos históricos completos, OAuth de una sola vez, escala a grandes bases de usuarios.
- Garmin SDK (vía vitalera) — Solo cuando necesita streaming en vivo con latencia sub-segundo para overlays de broadcast o alertas de emergencia durante un evento en vivo. Requiere una app móvil.
- Health Connect — No recomendado para ningún caso de uso clínico o deportivo de grado profesional.
Cómo funciona la vinculación de usuarios
- El usuario pulsa Conectar Garmin en su app.
- vitalera gestiona el flujo OAuth y almacena la vinculación con su
user_id. - A partir de ese momento, cada entrenamiento, sesión de sueño y resumen diario se envía a su webhook y está disponible a través de la API.
Sin vinculación por dispositivo. Sin sincronización manual. Sin "por favor abra la app Garmin Connect primero."
Ejemplo: respuesta de un entrenamiento de carrera
{
"user_id": "athlete_8421",
"source": "garmin",
"activity_id": "gar_2026_04_10_0731",
"type": "running",
"start_time": "2026-04-10T07:31:04Z",
"duration_seconds": 3284,
"distance_meters": 10043.22,
"calories_kcal": 612,
"avg_heart_rate_bpm": 154,
"max_heart_rate_bpm": 181,
"hr_zones": {
"z1": 124,
"z2": 612,
"z3": 1890,
"z4": 540,
"z5": 118
},
"avg_cadence_spm": 172,
"avg_pace_sec_per_km": 327,
"elevation_gain_m": 84,
"laps": [
{ "lap": 1, "distance_m": 1000, "duration_s": 318, "avg_hr": 148 },
{ "lap": 2, "distance_m": 1000, "duration_s": 322, "avg_hr": 152 }
],
"device": { "model": "Garmin Forerunner 965", "firmware": "22.19" }
}
distance_meterses 10 043,22 — en bruto desde el reloj, no un valor redondeado ni submuestreado.
Streaming en tiempo real para eventos en vivo
vitalera impulsa la telemetría en vivo detrás de plataformas de eventos deportivos, transmitiendo la frecuencia cardíaca y SpO2 de los corredores desde relojes Garmin a los feeds de broadcast en menos de un segundo.
vitalera.stream.subscribe({
user_id: 'athlete_8421',
metrics: ['heart_rate', 'spo2', 'cadence', 'pace'],
onData: (sample) => {
// sample = { ts, hr: 162, spo2: 96, cadence: 174, pace: 315 }
broadcastOverlay.update(sample);
},
});
Probado en producción a escala en despliegues de un solo evento con grandes grupos de atletas simultáneos.
Sueño y bienestar diario
Además de los entrenamientos, la misma integración proporciona:
- Sesiones de sueño con fases (ligero, profundo, REM, despierto)
- Frecuencia cardíaca en reposo y HRV (RMSSD)
- Resúmenes diarios — pasos, calorías, puntuación de estrés, Body Battery
- Pulse Ox promedios nocturnos
Todo normalizado a recursos FHIR R5 Observation — consulte Recursos FHIR.
Casos de uso
| Segmento | Ejemplo |
|---|---|
| Plataformas de eventos deportivos | Sincronice atletas, corredores, triatletas o ciclistas a escala. Clasificaciones en vivo, analíticas post-carrera, overlays de broadcast. |
| Entrenamiento y coaching conectado | Datos de entrenamiento en bruto alimentan planes de entrenamiento personalizados sin perder fidelidad. |
| Cardiología clínica y rehabilitación | El mismo pipeline, ya certificado para RPM (CE Mark MDR, GDPR, ISO 27001). |
| Bienestar corporativo | Agregue métricas de salud Garmin para programas de bienestar de empleados con compartición de datos basada en consentimiento. |
| Seguros y riesgo | Datos continuos de frecuencia cardíaca, sueño y actividad para modelos de suscripción e incentivos. |
| Investigación y ensayos clínicos | Recopilación longitudinal de datos de wearables con exportación estándar FHIR para cohortes de investigación. |
Empiece en 15 minutos
- Solicite credenciales de sandbox en info@vitalera.io.
- Reciba su API key y usuarios de prueba ya vinculados a cuentas sandbox de Garmin.
- Llame a
GET /v2/activities?user_id=demo_runner_01e inspeccione el JSON anterior con datos reales. - Suscríbase al webhook
activity.created. - Pase a producción.
No se requiere NDA para explorar el sandbox. El NDA solo se activa cuando accede a datos de producción de Garmin (requisito de Garmin Health Partner).
Cumplimiento normativo y propiedad de datos
| Certificaciones | CE Mark MDR, ISO 27001, ISO 13485 |
| Privacidad | Conforme con GDPR, preparado para HIPAA, ENS Alto |
| Residencia de datos | UE por defecto (AWS eu-west-1). Región de EE. UU. disponible. |
| Propiedad de datos | Usted es propietario de los datos de sus usuarios. vitalera es el procesador, nunca el controlador. |
Próximos pasos
- Dispositivos compatibles — Lista completa de compatibilidad de dispositivos
- Webhooks — Suscripciones a eventos y formato de payloads
- Recursos FHIR — Modelo de datos Observation
- Contacte con ventas para una demo en vivo