La API de Google Health proporciona tipos de datos para hacer un seguimiento de la salud reproductiva, los síntomas y los estados de ánimo. Estos tipos te permiten registrar los períodos menstruales, los resultados de las pruebas de ovulación y los estados físicos y emocionales asociados.
Tipos de datos admitidos
| Tipo de datos | Operaciones disponibles |
Alcance |
|---|---|---|
|
Período menstrual
dataType:
menstrual-periodfilter parameter: menstrual_period
Tipo de registro: Intervalo
|
create, update, batchDelete | .reproductive_health.writeonly |
|
Estados de ánimo
|
create, update, batchDelete | .mindfulness.writeonly |
|
Prueba de ovulación
dataType:
ovulation-testfilter parameter: ovulation_test
Tipo de registro: Muestra
|
create, update, batchDelete | .reproductive_health.writeonly |
|
Síntomas
|
create, update, batchDelete | .logged_symptoms.writeonly |
Período menstrual
Un período menstrual representa un intervalo de período registrado por un usuario. Para obtener una lista completa
de los campos y las descripciones, consulta
MenstrualPeriod.
Lineamientos para registrar períodos
- Se requieren fechas de finalización: Todos los registros de períodos deben incluir una fecha o hora de finalización. Las fechas de finalización nunca deben ser nulas.
- Cómo controlar los períodos en curso: Si no puedes proporcionar una fecha de finalización cuando se crea el registro (por ejemplo, si el período está en curso), establece la fecha de finalización para que coincida con la fecha de inicio. Actualiza el registro todos los días y establece la fecha de finalización en la fecha actual hasta que finalice el período y se confirme la fecha de finalización final.
- Períodos confirmados: Todos los registros de períodos se tratan como períodos confirmados.
Cómo crear un período menstrual
Para crear una entrada de período menstrual, envía una solicitud POST al extremo de datos menstrual-period. La respuesta incluye el campo name
que contiene el data-point-id, que se puede usar en una
solicitud de eliminación por lotes o
actualización (parche).
Solicitud
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."
}
}Respuesta
{
"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."
}
}
}Prueba de ovulación
Registra una observación de la prueba de ovulación. Para obtener una lista completa de los campos y
las descripciones, consulta
OvulationTest.
Cómo crear una prueba de ovulación
Para registrar el resultado de una prueba de ovulación, envía una solicitud POST al extremo de datos ovulation-test. La respuesta incluye el campo name que contiene el
data-point-id, que se puede usar en una solicitud de eliminación por lotes o
actualización (parche).
Solicitud
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"
}
}Respuesta
{
"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"
}
}
}Síntomas
Registra los síntomas físicos que se experimentan en una marca de tiempo determinada. Para obtener una lista completa
de los campos y las descripciones, consulta
Symptoms.
Cómo crear un registro de síntomas
Para registrar síntomas físicos, envía una solicitud POST al extremo de datos symptoms. La respuesta incluye el campo name que contiene el data-point-id,
que se puede usar en una solicitud de eliminación por lotes o
actualización (parche).
Solicitud
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" ]
}
}Respuesta
{
"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" ]
}
}
}Estados de ánimo
Registra los estados emocionales y las valencias en una marca de tiempo determinada. Para obtener una lista completa
de los campos y las descripciones, consulta
Moods.
Cómo crear un registro de estados de ánimo
Para registrar estados emocionales, envía una solicitud POST al extremo de datos moods. La respuesta incluye el campo name que contiene el data-point-id,
que se puede usar en una solicitud de eliminación por lotes o
actualización (parche).
Solicitud
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" ]
}
}Respuesta
{
"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" ]
}
}
}Borrar lote
Para borrar uno o más datos, envía una solicitud POST al extremo batchDelete con los nombres de recursos de las entradas que deseas quitar.
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"
]
}Ejemplo: Cómo borrar varios datos
Para borrar varios datos en una sola solicitud, incluye sus nombres de recursos en el array 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"
]
}