API Google Health предоставляет типы данных для отслеживания репродуктивного здоровья, симптомов и настроения. Эти типы позволяют регистрировать менструальные циклы, результаты тестов на овуляцию, а также связанные с ними физические и эмоциональные состояния.
Поддерживаемые типы данных
| Тип данных | Доступный операции | Объем |
|---|---|---|
| Менструация Тип данных: menstrual-periodПараметр фильтра: menstrual_period Тип записи: Интервал | создать, обновить, удалить пакетом | .reproductive_health.writeonly |
| Настроения | создать, обновить, удалить пакетом | .mindfulness.writeonly |
| Тест на овуляцию Тип данных: ovulation-testПараметр фильтра: ovulation_test Тип записи: Образец | создать, обновить, удалить пакетом | .reproductive_health.writeonly |
| Симптомы Тип данных: symptomsПараметр фильтра: symptoms Тип записи: Образец | создать, обновить, удалить пакетом | .logged_symptoms.writeonly |
Менструация
«Месячный период» — это интервал менструального цикла, зарегистрированный пользователем. Полный список полей и их описаний см. в MenstrualPeriod .
Рекомендации по периодам ведения учета
- Обязательны даты окончания : все записи за период должны содержать дату или время окончания. Даты окончания никогда не должны быть пустыми.
- Обработка непрерывных периодов : Если при создании записи невозможно указать дату окончания (например, если период продолжается), установите дату окончания равной дате начала. Обновляйте запись ежедневно, устанавливая дату окончания на текущую дату, пока период не закончится и окончательная дата окончания не будет подтверждена.
- Подтвержденные периоды : Все записи за определенные периоды рассматриваются как подтвержденные периоды.
Сформируйте менструальный цикл
Для создания записи о менструальном цикле отправьте POST запрос на конечную точку данных menstrual-period . В ответе будет содержаться поле name , включающее идентификатор data-point-id , который можно использовать в запросе на пакетное удаление или обновление (патч) .
Запрос
POST https://health.googleapis.com/v4/users/me/dataTypes/menstrual-period/dataPoints
Authorization: Bearer access-token
Content-Type: application/json
{
"menstrualPeriod": {
"interval": {
"startTime": "2026-07-01T08:00:00Z",
"endTime": "2026-07-05T20:00:00Z"
},
"notes": "Regular flow reported."
}
}Ответ
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
"name": "users/user-id/dataTypes/menstrual-period/dataPoints/data-point-id",
"menstrualPeriod": {
"interval": {
"startTime": "2026-07-01T08:00:00Z",
"startUtcOffset": "0s",
"endTime": "2026-07-05T20:00:00Z",
"endUtcOffset": "0s",
"civilStartTime": {
"date": { "year": 2026, "month": 7, "day": 1 },
"time": { "hours": 8 }
},
"civilEndTime": {
"date": { "year": 2026, "month": 7, "day": 5 },
"time": { "hours": 20 }
}
},
"notes": "Regular flow reported."
}
}
}Тест на овуляцию
Записывает результаты теста на овуляцию. Полный список полей и их описание см. в OvulationTest .
Создайте тест на овуляцию
Для регистрации результатов теста на овуляцию отправьте POST запрос на конечную точку данных ovulation-test . В ответе будет содержаться поле name , включающее идентификатор data-point-id , который можно использовать в запросе на пакетное удаление или обновление (патч) .
Запрос
POST https://health.googleapis.com/v4/users/me/dataTypes/ovulation-test/dataPoints
Authorization: Bearer access-token
Content-Type: application/json
{
"ovulationTest": {
"sampleTime": {
"physicalTime": "2026-07-14T07:30:00Z"
},
"result": "LUTEINIZING_HORMONE_SURGE"
}
}Ответ
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
"name": "users/user-id/dataTypes/ovulation-test/dataPoints/data-point-id",
"ovulationTest": {
"sampleTime": {
"physicalTime": "2026-07-14T07:30:00Z",
"utcOffset": "0s",
"civilTime": {
"date": { "year": 2026, "month": 7, "day": 14 },
"time": { "hours": 7, "minutes": 30 }
}
},
"result": "LUTEINIZING_HORMONE_SURGE"
}
}
}Симптомы
Записывает физические симптомы, испытываемые в заданный момент времени. Полный список полей и их описаний см. в разделе Symptoms .
Создайте журнал симптомов.
Для регистрации физических симптомов отправьте POST запрос на конечную точку данных о symptoms . В ответе будет содержаться поле name , включающее идентификатор data-point-id , который можно использовать в запросе на пакетное удаление или обновление (патч) .
Запрос
POST https://health.googleapis.com/v4/users/me/dataTypes/symptoms/dataPoints
Authorization: Bearer access-token
Content-Type: application/json
{
"symptoms": {
"sampleTime": {
"physicalTime": "2026-07-02T19:00:00Z"
},
"symptoms": [ "CRAMPS", "BLOATED", "FATIGUE" ]
}
}Ответ
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
"name": "users/user-id/dataTypes/symptoms/dataPoints/data-point-id",
"symptoms": {
"sampleTime": {
"physicalTime": "2026-07-02T19:00:00Z",
"utcOffset": "0s",
"civilTime": {
"date": { "year": 2026, "month": 7, "day": 2 },
"time": { "hours": 19 }
}
},
"symptoms": [ "CRAMPS", "BLOATED", "FATIGUE" ]
}
}
}Настроения
Записывает эмоциональные состояния и валентности в заданный момент времени. Полный список полей и их описаний см. в Moods .
Создайте дневник настроения
Для регистрации эмоциональных состояний отправьте POST запрос на конечную точку данных moods . В ответе будет содержаться поле name , включающее идентификатор data-point-id , который можно использовать в запросе на пакетное удаление или обновление (патч) .
Запрос
POST https://health.googleapis.com/v4/users/me/dataTypes/moods/dataPoints
Authorization: Bearer access-token
Content-Type: application/json
{
"moods": {
"sampleTime": {
"physicalTime": "2026-07-02T21:00:00Z"
},
"moods": [ "CALM", "CONTENT" ],
"valences": [ "PLEASANT" ]
}
}Ответ
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
"name": "users/user-id/dataTypes/moods/dataPoints/data-point-id",
"moods": {
"sampleTime": {
"physicalTime": "2026-07-02T21:00:00Z",
"utcOffset": "0s",
"civilTime": {
"date": { "year": 2026, "month": 7, "day": 2 },
"time": { "hours": 21 }
}
},
"moods": [ "CALM", "CONTENT" ],
"valences": [ "PLEASANT" ]
}
}
}Пакетное удаление
Для удаления одной или нескольких точек данных отправьте POST запрос на конечную точку batchDelete , указав имена ресурсов удаляемых записей.
POST https://health.googleapis.com/v4/users/me/dataTypes/data-type-name/dataPoints:batchDelete
Authorization: Bearer access-token
Content-Type: application/json
{
"names": [
"users/me/dataTypes/data-type/dataPoints/data-point-id"
]
}Пример: Удаление нескольких точек данных
Для удаления нескольких точек данных в одном запросе укажите их имена ресурсов в массиве names .
POST https://health.googleapis.com/v4/users/me/dataTypes/symptoms/dataPoints:batchDelete
Authorization: Bearer access-token
Content-Type: application/json
{
"names": [
"users/user-id/dataTypes/symptoms/dataPoints/symptom-id-1",
"users/user-id/dataTypes/symptoms/dataPoints/symptom-id-2"
]
}