رابط برنامهنویسی کاربردی گوگل هلث (Google Health API) انواع دادههایی را ارائه میدهد که الگوهای خواب کاربر، از جمله مدت زمان، کیفیت و معیارهای فیزیولوژیکی در طول استراحت را ردیابی میکنند. این معیارها به برنامهها کمک میکنند تا بینشهایی در مورد بهبودی، بهداشت خواب و روندهای سلامت در درازمدت ارائه دهند.
معیارهای فیزیولوژیکی مانند تغییرپذیری ضربان قلب (HRV)، اشباع اکسیژن (SpO2) و میزان تنفس به طور خاص در طول خواب ثبت میشوند زیرا بدن در حالت پایدار و استراحت قرار دارد. این به API اجازه میدهد تا بدون دخالت عوامل استرسزای روزانه، فعالیت بدنی یا شرایط محیطی متغیر، یک پایه از سلامت خودکار و تنفسی کاربر را ثبت کند.
تفاوتهای بین این نوع دادهها را درک کنید تا مشخص کنید کدام معیارها برای برنامه شما مناسب هستند.
انواع داده پشتیبانی شده
این API از انواع دادههای زیر برای اندازهگیری خواب پشتیبانی میکند:
| نوع داده | موجود است عملیات | دامنه |
|---|---|---|
| تغییرپذیری روزانه ضربان قلب نوع داده: daily-heart-rate-variabilityپارامتر فیلتر: daily_heart_rate_variability نوع ثبت: روزانه دستگاههای سازگار
| فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
| اشباع اکسیژن روزانه نوع داده: daily-oxygen-saturationپارامتر فیلتر: daily_oxygen_saturation نوع ثبت: روزانه دستگاههای سازگار
| فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
| میزان تنفس روزانه نوع داده: daily-respiratory-rateپارامتر فیلتر: daily_respiratory_rate نوع ثبت: روزانه دستگاههای سازگار
| فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
| مشتقات دمای خواب روزانه نوع داده: daily-sleep-temperature-derivationsپارامتر فیلتر: daily_sleep_temperature_derivations نوع ثبت: روزانه دستگاههای سازگار
| فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
| تغییرپذیری ضربان قلب نوع داده: heart-rate-variabilityپارامتر فیلتر: heart_rate_variability نوع رکورد: نمونه دستگاههای سازگار
| فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
| اشباع اکسیژن نوع داده: oxygen-saturationپارامتر فیلتر: oxygen_saturation نوع رکورد: نمونه دستگاههای سازگار
| فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
| خلاصه خواب با نرخ تنفس نوع داده: respiratory-rate-sleep-summaryپارامتر فیلتر: respiratory_rate_sleep_summary نوع رکورد: نمونه دستگاههای سازگار
| فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
| خواب نوع داده: sleepپارامتر فیلتر: sleep نوع رکورد: جلسه دستگاههای سازگار
| لیست کردن، دریافت کردن، تطبیق دادن، ایجاد کردن، بهروزرسانی کردن، حذف دستهای | .sleep.readonly.sleep.writeonly |
جلسات خواب و بیداریهای کوتاه
یک جلسه خواب ( Sleep ) نشان دهنده یک رویداد خواب گسسته، مانند یک خواب شبانه یا یک چرت روزانه است. این شامل تجزیه و تحلیل دقیقی از مراحل خواب غیر همپوشانی در کنار فواصل کوتاه انتقال بیداری است که به عنوان بیداریهای کوتاه شناخته میشوند.
- جلسه خواب (
Sleep) : یک رویداد خواب گسسته (فواصل مراحلLIGHT،DEEP،REM،AWAKE) را نشان میدهد که جدول زمانی پیوسته استراحت اولیه را تقسیم میکند. - بیداریهای کوتاه (
shortAwakenings) : انتقالهای کوتاه مدت از خواب یا بیدار شدنهایی که در طول استراحت رخ میدهند. برخلاف فواصل استاندارد مراحلAWAKE(که پیشرفت مراحل خواب پیوسته و غیر همپوشانی را تقسیم میکنند)، بیداریهای کوتاه بخشهای مجزایی هستند که میتوانند با مراحل خواب اطراف همپوشانی داشته باشند. آنها بدون ایجاد اختلال در ساختار مراحل اولیه خواب، امکان مشاهده دقیق بیقراری و بیداریهای کوچک را فراهم میکنند.
مثال
{
"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"
}
]
}
ایجاد یک جلسه خواب
برای ایجاد یک ورودی جلسه خواب، یک درخواست POST به نقطه پایانی نقاط داده sleep ارسال کنید. پاسخ شامل فیلد name حاوی data-point-id است که میتواند در یک درخواست بهروزرسانی (وصله) یا حذف استفاده شود.
درخواست
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"
}
]
}
}پاسخ
{
"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"
}
]
}
}
}مشتقات دمای خواب روزانه
مشتقات دمای خواب روزانه، تغییرات دمای پوست کاربر را در طول خواب در مقایسه با دمای پایه اندازهگیری میکنند. این دادهها معمولاً روزی یک بار پس از یک جلسه خواب طولانی گزارش میشوند.
میزان تنفس
نرخ تنفس، تعداد نفسهای کاربر در دقیقه را اندازهگیری میکند. در طول خواب، این یک معیار کلیدی برای نظارت بر کیفیت خواب و اختلالات احتمالی است. این API از نرخ تنفس نمونه ( respiratory-rate )، خلاصههای روزانه ( daily-respiratory-rate ) و خلاصههای خواب در سطح جلسه ( respiratory-rate-sleep-summary ) پشتیبانی میکند.
تغییرپذیری ضربان قلب (HRV)
HRV تغییر زمان بین هر ضربان قلب را اندازهگیری میکند. این یک شاخص کلیدی از وضعیت سیستم عصبی خودکار است؛ HRV بالا در طول خواب عموماً نشاندهنده بهبودی و آمادگی بهتر است، در حالی که HRV پایین میتواند نشاندهنده استرس یا تمرین بیش از حد باشد. این API از HRV نمونه ( heart-rate-variability ) و خلاصههای روزانه ( daily-heart-rate-variability ) پشتیبانی میکند.
اشباع اکسیژن (SpO2)
SpO2 نشان دهنده درصد هموگلوبین اشباع شده با اکسیژن نسبت به کل هموگلوبین خون است. نظارت بر SpO2 در طول خواب برای تشخیص اختلالات تنفسی احتمالی و اطمینان از حفظ سطح اکسیژن کافی کاربر در طول شب بسیار مهم است. API از SpO2 نمونه ( oxygen-saturation ) و خلاصههای روزانه ( daily-oxygen-saturation ) پشتیبانی میکند.
دیدگاه جامع در مورد سلامت خواب و بهبودی
در حالی که هر معیار بینشهای خاصی را ارائه میدهد، عمیقاً به هم مرتبط هستند و در کنار هم، یک دیدگاه جامع از بهبودی کاربر ارائه میدهند. مراحل خواب (سبک، عمیق، REM) پایه و اساس ساختاری استراحت را فراهم میکنند، در حالی که نشانگرهای فیزیولوژیکی مانند HRV و SpO2 نشان میدهند که بدن چگونه به آن استراحت از نظر فیزیکی پاسخ میدهد. به عنوان مثال، یک جلسه خواب با کیفیت بالا با خواب عمیق بهینه اغلب با HRV بالاتر مرتبط است که نشاندهنده بهبودی مؤثر سیستم عصبی خودکار است.
ترکیب این دادهها با دادههای مربوط به نرخ تنفس و دمای خواب به برنامهها اجازه میدهد تا اختلالات بالقوه را شناسایی کنند. افزایش ناگهانی نرخ تنفس یا انحراف در دمای خواب میتواند نشان دهد که چرا کاربر ممکن است زمان کمتری را در مراحل ترمیمی گذرانده باشد. با تجزیه و تحلیل این نوع دادهها به صورت همزمان، توسعهدهندگان میتوانند ارزیابی جامعی از بهداشت خواب و روندهای سلامت در درازمدت ارائه دهند.
دستورالعملها
هنگام ادغام معیارهای خواب در برنامه خود، از این دستورالعملها استفاده کنید:
- جزئیات جلسه : برای نمایش مراحل خواب کاربر (سبک، عمیق، REM، بیدار) و بیداریهای کوتاه، نوع داده
sleepرا جستجو کنید. - پایش فیزیولوژیکی : برای پایش پیشرفته سلامت، دادههای جلسه خواب را با معیارهای فیزیولوژیکی و بهبودی مانند
respiratory-rate-sleep-summary،daily-sleep-temperature-derivations،daily-heart-rate-variabilityوdaily-oxygen-saturationترکیب کنید. - تطبیق : از عملیات
reconcileاستفاده کنید تا اطمینان حاصل شود که گزارشهای خواب همپوشانی از دستگاههای مختلف (به عنوان مثال، یک حسگر پوشیدنی و یک تشک) در یک رکورد خواب واحد "اصلی" ادغام میشوند.
محاسبه کل زمان خواب عمیق
برای محاسبه کل زمانی که کاربر در یک شب خاص در مرحله خواب عمیق ترمیمی گذرانده است:
- نوع داده
sleepرا برای محدوده زمانی مشخص شده پرس و جو کنید. - در لیست مراحل (stages) جستجو کنید و فواصلی را که در آنها
stageTypeDEEPاست، شناسایی کنید. - مدت زمان (زمان پایان - زمان شروع) را برای هر بازه خواب عمیق محاسبه کرده و آنها را با هم جمع کنید.
حاصل جمع، کل مدت زمان فیزیکی خواب عمیق را برای آن جلسه فراهم میکند.