L'API Google Health fournit des types de données qui suivent les habitudes de sommeil d'un utilisateur, y compris la durée, la qualité et les métriques physiologiques pendant le repos. Ces métriques aident les applications à fournir des informations sur la récupération, l'hygiène du sommeil et les tendances de santé à long terme.
Les métriques physiologiques telles que la variabilité de la fréquence cardiaque (VFC), la saturation en oxygène (SpO2) et la fréquence respiratoire sont enregistrées spécifiquement pendant le sommeil, car le corps est dans un état stable et au repos. Cela permet à l'API de capturer une base de référence de la santé autonome et respiratoire de l'utilisateur sans l'interférence des facteurs de stress diurnes, de l'activité physique ou des conditions environnementales variables.
Comprendre les différences entre ces types de données vous aidera à déterminer les métriques qui conviennent à votre application.
Types de données acceptés
L'API est compatible avec les types de données suivants pour mesurer le sommeil :
| Type de données | Opérations disponibles |
Champ d'application |
|---|---|---|
|
Variabilité quotidienne de la fréquence cardiaque
dataType :
daily-heart-rate-variabilityfilter parameter : daily_heart_rate_variability
Type d'enregistrement : "Tous les jours"
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Saturation en oxygène quotidienne
dataType :
daily-oxygen-saturationfilter parameter : daily_oxygen_saturation
Type d'enregistrement : "Tous les jours"
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Fréquence respiratoire quotidienne
dataType :
daily-respiratory-ratefilter parameter : daily_respiratory_rate
Type d'enregistrement : "Tous les jours"
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Dérivations quotidiennes de la température de sommeil
dataType :
daily-sleep-temperature-derivationsfilter parameter : daily_sleep_temperature_derivations
Type d'enregistrement : "Tous les jours"
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Variabilité de la fréquence cardiaque
dataType :
heart-rate-variabilityfilter parameter : heart_rate_variability
Type d'enregistrement : Exemple
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Saturation en oxygène
dataType :
oxygen-saturationfilter parameter : oxygen_saturation
Type d'enregistrement : Exemple
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Résumé du sommeil avec la fréquence respiratoire
dataType :
respiratory-rate-sleep-summaryfilter parameter : respiratory_rate_sleep_summary
Type d'enregistrement : Exemple
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Sommeil
dataType :
sleepfilter parameter : sleep
Type d'enregistrement : session
Appareils compatibles
|
list, get, reconcile, create, update, batchDelete | .sleep.readonly.sleep.writeonly |
Périodes de sommeil et brefs éveils
Une session de sommeil (Sleep) représente un événement de sommeil distinct, comme une nuit de sommeil ou une sieste. Il inclut une répartition détaillée des phases de sommeil non chevauchantes, ainsi que de brefs intervalles de transition vers l'éveil appelés "éveils brefs".
- Session de sommeil (
Sleep) : représente un événement de sommeil discret (intervalles de phasesLIGHT,DEEP,REMetAWAKE) qui partitionne la chronologie continue du repos principal. - Éveils brefs (
shortAwakenings) : brèves transitions ou éveils qui se produisent pendant le repos. Contrairement aux intervalles de phasesAWAKEstandards (qui divisent la progression des phases de sommeil contiguës et non chevauchantes), les brefs éveils sont des segments distincts qui peuvent se chevaucher avec les phases de sommeil environnantes. Elles offrent une visibilité précise sur l'agitation et les micro-éveils sans perturber la structure principale des phases de sommeil.
Exemple
{
"name": "sleeps/12345",
"startTime": "2026-04-20T22:30:00Z",
"endTime": "2026-04-21T06:30:00Z",
"sleepType": "STAGES",
"sleepStages": [
{
"startTime": "2026-04-20T22:30:00Z",
"endTime": "2026-04-20T23:45:00Z",
"type": "LIGHT"
},
{
"startTime": "2026-04-20T23:45:00Z",
"endTime": "2026-04-21T01:15:00Z",
"type": "DEEP"
}
],
"shortAwakenings": [
{
"startTime": "2026-04-20T23:10:00Z",
"endTime": "2026-04-20T23:11:30Z",
"type": "AWAKE"
}
]
}
Créer une période de sommeil
Pour créer une entrée de période de sommeil, envoyez une requête POST au point de terminaison des points de données sleep. La réponse inclut le champ name contenant le data-point-id, qui peut être utilisé dans une requête Update (Patch) ou Delete.
Requête
POST https://health.googleapis.com/v4/users/me/dataTypes/sleep/dataPoints
Authorization: Bearer access-token
Content-Type: application/json
{
"sleep": {
"interval": {
"startTime": "2026-06-07T22:00:00Z",
"startUtcOffset": "-14400s",
"endTime": "2026-06-08T06:00:00Z",
"endUtcOffset": "-14400s"
},
"type": "STAGES",
"stages": [
{
"startTime": "2026-06-07T22:00:00Z",
"startUtcOffset": "-14400s",
"endTime": "2026-06-07T22:30:00Z",
"endUtcOffset": "-14400s",
"type": "LIGHT"
},
{
"startTime": "2026-06-07T22:30:00Z",
"startUtcOffset": "-14400s",
"endTime": "2026-06-07T23:45:00Z",
"endUtcOffset": "-14400s",
"type": "DEEP"
},
{
"startTime": "2026-06-07T23:45:00Z",
"startUtcOffset": "-14400s",
"endTime": "2026-06-08T02:15:00Z",
"endUtcOffset": "-14400s",
"type": "LIGHT"
},
{
"startTime": "2026-06-08T02:15:00Z",
"startUtcOffset": "-14400s",
"endTime": "2026-06-08T02:45:00Z",
"endUtcOffset": "-14400s",
"type": "REM"
},
{
"startTime": "2026-06-08T02:45:00Z",
"startUtcOffset": "-14400s",
"endTime": "2026-06-08T05:15:00Z",
"endUtcOffset": "-14400s",
"type": "LIGHT"
},
{
"startTime": "2026-06-08T05:15:00Z",
"startUtcOffset": "-14400s",
"endTime": "2026-06-08T06:00:00Z",
"endUtcOffset": "-14400s",
"type": "REM"
}
]
}
}Réponse
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
"name": "users/user-id/dataTypes/sleep/dataPoints/data-point-id",
"sleep": {
"interval": {
"startTime": "2026-06-07T22:00:00Z",
"startUtcOffset": "-14400s",
"endTime": "2026-06-08T06:00:00Z",
"endUtcOffset": "-14400s"
},
"type": "STAGES",
"stages": [
{
"startTime": "2026-06-07T22:00:00Z",
"startUtcOffset": "-14400s",
"endTime": "2026-06-07T22:30:00Z",
"endUtcOffset": "-14400s",
"type": "LIGHT"
},
{
"startTime": "2026-06-07T22:30:00Z",
"startUtcOffset": "-14400s",
"endTime": "2026-06-07T23:45:00Z",
"endUtcOffset": "-14400s",
"type": "DEEP"
},
{
"startTime": "2026-06-07T23:45:00Z",
"startUtcOffset": "-14400s",
"endTime": "2026-06-08T02:15:00Z",
"endUtcOffset": "-14400s",
"type": "LIGHT"
},
{
"startTime": "2026-06-08T02:15:00Z",
"startUtcOffset": "-14400s",
"endTime": "2026-06-08T02:45:00Z",
"endUtcOffset": "-14400s",
"type": "REM"
},
{
"startTime": "2026-06-08T02:45:00Z",
"startUtcOffset": "-14400s",
"endTime": "2026-06-08T05:15:00Z",
"endUtcOffset": "-14400s",
"type": "LIGHT"
},
{
"startTime": "2026-06-08T05:15:00Z",
"startUtcOffset": "-14400s",
"endTime": "2026-06-08T06:00:00Z",
"endUtcOffset": "-14400s",
"type": "REM"
}
]
}
}
}Dérivations quotidiennes de la température pendant le sommeil
Les dérivations quotidiennes de la température pendant le sommeil mesurent la variation de la température cutanée d'un utilisateur pendant le sommeil par rapport à sa température de référence. Ces données sont généralement communiquées une fois par jour après une période de sommeil importante.
Fréquence respiratoire
La fréquence respiratoire mesure le nombre de respirations par minute de l'utilisateur. Pendant le sommeil, il s'agit d'une métrique clé pour surveiller la qualité du sommeil et les perturbations potentielles. L'API est compatible avec la fréquence respiratoire échantillonnée (respiratory-rate), les résumés quotidiens (daily-respiratory-rate) et les résumés du sommeil au niveau de la session (respiratory-rate-sleep-summary).
Variabilité de la fréquence cardiaque (VFC)
La VFC mesure la variation de temps entre deux battements de cœur. Il s'agit d'un indicateur clé de l'état du système nerveux autonome. Une VFC élevée pendant le sommeil signifie généralement une meilleure récupération et une meilleure aptitude, tandis qu'une VFC faible peut indiquer un stress ou un surentraînement. L'API est compatible avec les échantillons de VFC (heart-rate-variability) et les récapitulatifs quotidiens (daily-heart-rate-variability).
Saturation en oxygène (SpO2)
La SpO2 représente le pourcentage d'hémoglobine saturée en oxygène par rapport à la quantité totale d'hémoglobine dans le sang. Il est essentiel de surveiller la SpO2 pendant le sommeil pour détecter d'éventuels troubles respiratoires et s'assurer que l'utilisateur maintient un niveau d'oxygène adéquat tout au long de la nuit. L'API est compatible avec les exemples de SpO2 (oxygen-saturation) et les récapitulatifs quotidiens (daily-oxygen-saturation).
Vue globale de la qualité du sommeil et de la récupération
Bien que chaque métrique fournisse des informations spécifiques, elles sont profondément liées et offrent ensemble une vue holistique de la récupération d'un utilisateur. Les phases de sommeil (léger, profond, paradoxal) constituent la base structurelle du repos, tandis que les marqueurs physiologiques comme la VFC et la SpO2 indiquent comment le corps réagit physiquement à ce repos. Par exemple, une période de sommeil de haute qualité avec une phase de sommeil profond optimale est souvent associée à une VFC plus élevée, ce qui indique une récupération efficace du système nerveux autonome.
En combinant ces données avec les dérivations de la fréquence respiratoire et de la température pendant le sommeil, les applications peuvent identifier les perturbations potentielles. Un pic soudain de la fréquence respiratoire ou une variation de la température du corps pendant le sommeil peuvent expliquer pourquoi un utilisateur a passé moins de temps dans les phases de sommeil réparateur. En analysant ces types de données ensemble, les développeurs peuvent fournir une évaluation complète de l'hygiène du sommeil et des tendances de santé à long terme.
Consignes
Lorsque vous intégrez des métriques de sommeil dans votre application, suivez ces consignes :
- Détails de la session : pour afficher les phases de sommeil d'un utilisateur (léger, profond, paradoxal, éveillé) et les brefs réveils, interrogez le type de données
sleep. - Surveillance physiologique : pour une surveillance avancée de la santé, combinez les données de la période de sommeil avec les métriques physiologiques et de récupération telles que
respiratory-rate-sleep-summary,daily-sleep-temperature-derivations,daily-heart-rate-variabilityetdaily-oxygen-saturation. - Réconciliation : utilisez l'opération
reconcilepour vous assurer que les journaux de sommeil qui se chevauchent provenant de différents appareils (par exemple, un wearable et un capteur de matelas) sont fusionnés en un seul enregistrement de sommeil "principal".
Calculer le temps total de sommeil profond
Pour calculer la durée totale pendant laquelle un utilisateur a été en phase de sommeil profond réparateur pour une nuit spécifique :
- Interrogez le type de données
sleeppour la période spécifiée. - Parcourez la liste des étapes et identifiez les intervalles où
stageTypeestDEEP. - Calculez la durée (heure de fin - heure de début) de chaque intervalle de sommeil profond et additionnez-les.
La somme obtenue correspond à la durée physique totale du sommeil profond pour cette session.