Aller au contenu principal

Integration Garmin

vitalera est le seul partenaire Garmin Health dedie exclusivement aux donnees de sante et de sport. Nous combinons l'API officielle Garmin Health et le SDK Garmin Connect Mobile pour fournir des donnees brutes, completes et en temps reel -- sans les lacunes des agregateurs generiques.


Pourquoi Garmin avec vitalera

Les equipes qui s'appuient sur Health Connect ou sur des agregateurs generiques de wearables pour extraire les donnees Garmin rencontrent generalement les memes limitations :

  • Les metriques de distance et GPS sont arrondies ou sous-echantillonnees, si bien que l'activite que vous voyez dans votre plateforme ne correspond pas a ce que l'athlete a reellement enregistre sur sa montre.
  • Les entrainements arrivent incomplets -- tours manquants, trous dans la trace de frequence cardiaque, ou structure des intervalles supprimee.
  • Les metriques avancees ne sont tout simplement pas exposees : cadence, zones de frequence cardiaque, SpO2, puissance de course, charge d'entrainement, stress, Body Battery et autres sources de donnees natives de Garmin restent inaccessibles.
  • Pas de streaming en direct pendant une activite -- vous ne recevez la session qu'une fois terminee et synchronisee.
  • Latence de synchronisation de plusieurs minutes a heures, ce qui rend impossibles les alertes cliniques en temps reel ou la surveillance en course.

vitalera se connecte directement a l'API Garmin Health (serveur a serveur) et au SDK Garmin Connect Mobile (sur l'appareil), vous offrant la meme fidelite de donnees que Garmin utilise en interne.

API vs SDK vs Health Connect

Recommande : Garmin Health API via vitalera -- le moyen le plus rapide et le plus evolutif de connecter des appareils Garmin pour 99% des cas d'utilisation (plateformes sportives, RPM, coaching, recherche). Le SDK n'est necessaire que pour le streaming en direct inferieur a la seconde.

FonctionnaliteHealth ConnectGarmin Health API (via vitalera)Garmin SDK (via vitalera)
Recommande pour--Choix par defautDiffusion / TV en direct uniquement
Completude des entrainementsPartielle, lacunes frequentesSession complete + toursSession complete + tours
Precision de la distanceArrondie / approximeeBrute, precision a 2 decimalesBrute, precision a 2 decimales
Zones de frequence cardiaqueNonOuiOui
Cadence et puissance de courseNonOuiOui
SpO2NonQuotidienne + a la demandeFlux continu
Stades de sommeilLimiteComplet (leger / profond / REM)Complet
Historique retrospectifJoursJusqu'a 90 joursTemps reel uniquement
UX d'appairage utilisateurManuelle par appareilOAuth uniqueNecessite l'installation de l'app
Temps d'integrationSemaines~15 minutes1-2 semaines
Passe a l'echelle sur de larges bases d'utilisateursNonOui, teste en productionBase sur les evenements
Serveur a serveur (pas d'app requise)NonOuiNon (necessite le SDK mobile)
Streaming temps reel (inferieur a la seconde)NonNonOui

Quand choisir quoi

  • Garmin Health API (via vitalera) -- 99% des cas. Plateformes sportives, RPM, applications de coaching, recherche, assurance, bien-etre en entreprise. Serveur a serveur, pas de SDK mobile requis, donnees historiques completes, OAuth unique, passe a l'echelle sur de larges bases d'utilisateurs.
  • Garmin SDK (via vitalera) -- Uniquement lorsque vous avez besoin de streaming en direct inferieur a la seconde pour des incrustations de diffusion ou des alertes d'urgence lors d'un evenement en direct. Necessite une application mobile.
  • Health Connect -- Non recommande pour les cas d'utilisation cliniques ou sportifs.

Fonctionnement de la liaison utilisateur

  1. L'utilisateur appuie sur Connecter Garmin dans votre application.
  2. vitalera gere le flux OAuth et stocke la liaison contre votre user_id.
  3. A partir de ce moment, chaque entrainement, session de sommeil et resume quotidien est pousse vers votre webhook et disponible via l'API.

Pas d'appairage par appareil. Pas de synchronisation manuelle. Pas de "veuillez d'abord ouvrir l'application Garmin Connect."


Exemple : reponse d'un entrainement de course

{
"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_meters vaut 10 043,22 -- brut depuis la montre, ni arrondi ni sous-echantillonne.


Streaming temps reel pour les evenements en direct

vitalera alimente la telemetrie en direct derriere les plateformes d'evenements sportifs, diffusant la frequence cardiaque et la SpO2 des coureurs depuis les montres Garmin vers les flux de diffusion en moins d'une seconde.

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);
},
});

Teste en production a grande echelle lors de deploiements evenementiels uniques avec de larges pelotons d'athletes simultanes.


Sommeil et bien-etre quotidien

En plus des entrainements, la meme integration fournit :

  • Sessions de sommeil avec stades (leger, profond, REM, eveil)
  • Frequence cardiaque au repos et HRV (RMSSD)
  • Resumes quotidiens -- pas, calories, score de stress, Body Battery
  • Pulse Ox moyennes nocturnes

Le tout normalise en ressources FHIR R5 Observation -- voir Ressources FHIR.


Cas d'utilisation

SegmentExemple
Plateformes d'evenements sportifsSynchronisez des athletes, coureurs, triathletes ou cyclistes a grande echelle. Classements en direct, analyses post-course, incrustations de diffusion.
Entrainement et coaching connecteLes donnees brutes d'entrainement alimentent des plans personnalises sans perte de fidelite.
Cardiologie clinique et readaptationLe meme pipeline, deja certifie pour le RPM (marquage CE MDR, RGPD, ISO 27001).
Bien-etre en entrepriseAgregez les metriques de sante Garmin pour les programmes de bien-etre des employes avec partage de donnees base sur le consentement.
Assurance et risqueDonnees continues de frequence cardiaque, sommeil et activite pour les modeles de souscription et les programmes incitatifs.
Recherche et essais cliniquesCollecte longitudinale de donnees de wearables avec export standard FHIR pour les cohortes de recherche.

Demarrez en 15 minutes

  1. Demandez des identifiants sandbox a info@vitalera.io.
  2. Recevez votre cle API et des utilisateurs de test deja lies aux comptes sandbox Garmin.
  3. Appelez GET /v2/activities?user_id=demo_runner_01 et inspectez le JSON ci-dessus avec des donnees reelles.
  4. Abonnez-vous au webhook activity.created.
  5. Passez en production.

Aucun NDA requis pour explorer le sandbox. Le NDA n'intervient que lorsque vous accedez aux donnees de production Garmin (exigence du partenariat Garmin Health).


Conformite et propriete des donnees

CertificationsCE Mark MDR, ISO 27001, ISO 13485
ConfidentialiteConforme RGPD, pret HIPAA, ENS Alto
Residence des donneesUE par defaut (AWS eu-west-1). Region US disponible.
Propriete des donneesVous etes proprietaire des donnees de vos utilisateurs. vitalera est le sous-traitant, jamais le responsable de traitement.

Etapes suivantes