Google Health API menyediakan jenis data yang melacak pola tidur pengguna, termasuk durasi, kualitas, dan metrik fisiologis selama istirahat. Metrik ini membantu aplikasi memberikan insight tentang pemulihan, kebersihan tidur, dan tren kesehatan jangka panjang.
Metrik fisiologis seperti Variabilitas Detak Jantung (HRV), Saturasi Oksigen (SpO2), dan laju pernapasan direkam secara khusus selama tidur karena tubuh berada dalam kondisi istirahat yang stabil. Hal ini memungkinkan API mencatat data dasar kesehatan otonom dan pernapasan pengguna tanpa gangguan dari pemicu stres siang hari, aktivitas fisik, atau kondisi lingkungan yang bervariasi.
Pahami perbedaan antara jenis data ini untuk menentukan metrik mana yang sesuai dengan aplikasi Anda.
Jenis data yang didukung
API ini mendukung jenis data berikut untuk mengukur tidur:
| Jenis data | Operasi yang tersedia |
Cakupan |
|---|---|---|
|
Variabilitas Detak Jantung Harian
dataType:
daily-heart-rate-variabilityparameter filter: daily_heart_rate_variability
Jenis data: Harian
Perangkat yang kompatibel
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Saturasi Oksigen Harian
dataType:
daily-oxygen-saturationparameter filter: daily_oxygen_saturation
Jenis data: Harian
Perangkat yang kompatibel
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Laju Pernapasan Harian
dataType:
daily-respiratory-rateparameter filter: daily_respiratory_rate
Jenis data: Harian
Perangkat yang kompatibel
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Turunan Suhu Tidur Harian
dataType:
daily-sleep-temperature-derivationsparameter filter: daily_sleep_temperature_derivations
Jenis data: Harian
Perangkat yang kompatibel
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Variabilitas Detak Jantung
dataType:
heart-rate-variabilityparameter filter: heart_rate_variability
Jenis data: Contoh
Perangkat yang kompatibel
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Saturasi Oksigen
dataType:
oxygen-saturationparameter filter: oxygen_saturation
Jenis data: Contoh
Perangkat yang kompatibel
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Ringkasan Tidur Laju Pernapasan
dataType:
respiratory-rate-sleep-summaryparameter filter: respiratory_rate_sleep_summary
Jenis data: Contoh
Perangkat yang kompatibel
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Tidur
dataType:
sleepfilter parameter: sleep
Jenis data: Sesi
Perangkat yang kompatibel
|
list, get, reconcile, create, update, batchDelete | .sleep.readonly.sleep.writeonly |
Sesi Tidur dan Bangun Singkat
Sesi Tidur (Sleep) mewakili peristiwa tidur yang terpisah, seperti tidur malam tunggal atau tidur siang. Fitur ini mencakup perincian mendetail tentang fase tidur yang tidak tumpang-tindih bersama dengan interval transisi bangun singkat yang dikenal sebagai bangun singkat.
- Sesi Tidur (
Sleep): Merepresentasikan peristiwa tidur diskrit (interval tahapLIGHT,DEEP,REM,AWAKE) yang mempartisi linimasa berurutan istirahat utama. - Bangun Singkat (
shortAwakenings): Transisi bangun atau bangun singkat yang terjadi selama istirahat. Tidak seperti interval faseAWAKEstandar (yang membagi progres fase tidur yang berdekatan dan tidak tumpang-tindih), bangun singkat adalah segmen berbeda yang dapat tumpang-tindih dengan fase tidur di sekitarnya. Fitur ini memberikan visibilitas terperinci ke dalam kegelisahan dan bangun singkat tanpa mengganggu struktur tahap tidur utama.
Contoh
{
"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"
}
]
}
Membuat sesi tidur
Untuk membuat entri sesi tidur, kirim permintaan POST ke endpoint titik data sleep. Respons mencakup kolom name yang berisi
data-point-id, yang dapat digunakan dalam permintaan
Perbarui (Patch) atau
Hapus.
Permintaan
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"
}
]
}
}Respons
{
"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"
}
]
}
}
}Turunan Suhu Tidur Harian
Turunan Suhu Tidur Harian mengukur variasi suhu kulit pengguna saat tidur dibandingkan dengan suhu dasarnya. Data ini biasanya dilaporkan sekali per hari setelah sesi tidur utama.
Laju Pernapasan
Laju pernapasan mengukur napas pengguna per menit. Selama tidur, ini adalah
metrik utama untuk memantau kualitas tidur dan potensi gangguan. API ini mendukung laju pernapasan sampel (respiratory-rate), ringkasan harian (daily-respiratory-rate), dan ringkasan tidur tingkat sesi (respiratory-rate-sleep-summary).
Variabilitas Detak Jantung (HRV)
HRV mengukur variasi waktu antara setiap detak jantung. HRV adalah indikator utama kondisi sistem saraf otonom; HRV yang tinggi selama tidur umumnya menandakan pemulihan dan kesiapan yang lebih baik, sedangkan HRV yang rendah dapat mengindikasikan stres atau latihan berlebihan. API ini mendukung HRV sampel (heart-rate-variability)
dan ringkasan harian (daily-heart-rate-variability).
Saturasi Oksigen (SpO2)
SpO2 menunjukkan persentase hemoglobin yang tersaturasi oksigen relatif terhadap total hemoglobin dalam darah. Memantau SpO2 selama tidur sangat penting untuk mendeteksi potensi gangguan pernapasan dan memastikan pengguna mempertahankan kadar oksigen yang memadai sepanjang malam. API ini mendukung sampel SpO2
(oxygen-saturation) dan ringkasan harian (daily-oxygen-saturation).
Gambaran menyeluruh tentang kesehatan dan pemulihan tidur
Meskipun setiap metrik memberikan insight tertentu, metrik tersebut sangat saling terkait dan bersama-sama menawarkan gambaran menyeluruh tentang pemulihan pengguna. Tahapan tidur (Ringan, Nyenyak, REM) memberikan dasar struktural istirahat, sementara penanda fisiologis seperti HRV dan SpO2 menunjukkan bagaimana tubuh merespons istirahat tersebut secara fisik. Misalnya, sesi tidur berkualitas tinggi dengan Tidur lelap yang optimal sering kali berkorelasi dengan HRV yang lebih tinggi, yang menandakan pemulihan yang efektif dari sistem saraf otonom.
Dengan menggabungkannya dengan turunan laju pernapasan dan suhu tidur, aplikasi dapat mengidentifikasi potensi gangguan. Peningkatan mendadak pada laju pernapasan atau perubahan suhu saat tidur dapat memberikan konteks mengapa pengguna mungkin menghabiskan lebih sedikit waktu dalam tahap pemulihan. Dengan menganalisis jenis data ini secara bersamaan, developer dapat memberikan penilaian komprehensif tentang kebiasaan tidur dan tren kesehatan jangka panjang.
Panduan
Saat mengintegrasikan metrik tidur di aplikasi Anda, gunakan panduan berikut:
- Detail Sesi: Untuk menampilkan tahapan tidur pengguna (Ringan, Nyenyak, REM, Terjaga)
dan bangun tidur singkat, kueri jenis data
sleep. - Pemantauan Fisiologis: Untuk pemantauan kesehatan tingkat lanjut, gabungkan data sesi tidur dengan metrik fisiologis dan pemulihan seperti
respiratory-rate-sleep-summary,daily-sleep-temperature-derivations,daily-heart-rate-variability, dandaily-oxygen-saturation. - Rekonsiliasi: Gunakan operasi
reconcileuntuk memastikan bahwa catatan tidur yang tumpang-tindih dari perangkat yang berbeda (misalnya, perangkat wearable dan sensor kasur) digabungkan ke dalam satu catatan tidur "utama".
Menghitung total waktu dalam fase tidur lelap
Untuk menghitung total waktu yang dihabiskan pengguna dalam fase tidur dalam restoratif selama malam tertentu:
- Buat kueri tipe data
sleepuntuk rentang waktu yang ditentukan. - Lakukan iterasi pada daftar tahap dan identifikasi interval saat
stageTypeadalahDEEP. - Hitung durasi (Waktu Berakhir - Waktu Mulai) untuk setiap interval fase tidur dalam dan jumlahkan.
Jumlah yang dihasilkan memberikan total durasi fisik tidur lelap untuk sesi tersebut.