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.
| Fonctionnalite | Health Connect | Garmin Health API (via vitalera) | Garmin SDK (via vitalera) |
|---|---|---|---|
| Recommande pour | -- | Choix par defaut | Diffusion / TV en direct uniquement |
| Completude des entrainements | Partielle, lacunes frequentes | Session complete + tours | Session complete + tours |
| Precision de la distance | Arrondie / approximee | Brute, precision a 2 decimales | Brute, precision a 2 decimales |
| Zones de frequence cardiaque | Non | Oui | Oui |
| Cadence et puissance de course | Non | Oui | Oui |
| SpO2 | Non | Quotidienne + a la demande | Flux continu |
| Stades de sommeil | Limite | Complet (leger / profond / REM) | Complet |
| Historique retrospectif | Jours | Jusqu'a 90 jours | Temps reel uniquement |
| UX d'appairage utilisateur | Manuelle par appareil | OAuth unique | Necessite l'installation de l'app |
| Temps d'integration | Semaines | ~15 minutes | 1-2 semaines |
| Passe a l'echelle sur de larges bases d'utilisateurs | Non | Oui, teste en production | Base sur les evenements |
| Serveur a serveur (pas d'app requise) | Non | Oui | Non (necessite le SDK mobile) |
| Streaming temps reel (inferieur a la seconde) | Non | Non | Oui |
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
- L'utilisateur appuie sur Connecter Garmin dans votre application.
- vitalera gere le flux OAuth et stocke la liaison contre votre
user_id. - 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_metersvaut 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
| Segment | Exemple |
|---|---|
| Plateformes d'evenements sportifs | Synchronisez des athletes, coureurs, triathletes ou cyclistes a grande echelle. Classements en direct, analyses post-course, incrustations de diffusion. |
| Entrainement et coaching connecte | Les donnees brutes d'entrainement alimentent des plans personnalises sans perte de fidelite. |
| Cardiologie clinique et readaptation | Le meme pipeline, deja certifie pour le RPM (marquage CE MDR, RGPD, ISO 27001). |
| Bien-etre en entreprise | Agregez les metriques de sante Garmin pour les programmes de bien-etre des employes avec partage de donnees base sur le consentement. |
| Assurance et risque | Donnees continues de frequence cardiaque, sommeil et activite pour les modeles de souscription et les programmes incitatifs. |
| Recherche et essais cliniques | Collecte longitudinale de donnees de wearables avec export standard FHIR pour les cohortes de recherche. |
Demarrez en 15 minutes
- Demandez des identifiants sandbox a info@vitalera.io.
- Recevez votre cle API et des utilisateurs de test deja lies aux comptes sandbox Garmin.
- Appelez
GET /v2/activities?user_id=demo_runner_01et inspectez le JSON ci-dessus avec des donnees reelles. - Abonnez-vous au webhook
activity.created. - 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
| Certifications | CE Mark MDR, ISO 27001, ISO 13485 |
| Confidentialite | Conforme RGPD, pret HIPAA, ENS Alto |
| Residence des donnees | UE par defaut (AWS eu-west-1). Region US disponible. |
| Propriete des donnees | Vous etes proprietaire des donnees de vos utilisateurs. vitalera est le sous-traitant, jamais le responsable de traitement. |
Etapes suivantes
- Dispositifs compatibles -- Liste complete de compatibilite des appareils
- Webhooks -- Abonnements aux evenements et format des payloads
- Ressources FHIR -- Modele de donnees Observation
- Contactez les ventes pour une demo en direct