Especificações da API

A seção "Especificação da API" oferece uma visão geral detalhada dos componentes técnicos essenciais para a integração com a plataforma, incluindo escopos de autorização, definições de tipo de dados e estruturas de endpoint. Essa API representa uma evolução estratégica da API Fitbit Web legada, recriada em uma infraestrutura moderna para garantir uma experiência de desenvolvedor mais estável e consistente.

Escopos

É necessário atualizar a solicitação de autorização para usar os escopos da API Google Health. Os escopos definem se o app oferece suporte a operações de leitura ou gravação. Siga as instruções de implementação de escopo, que especificam apenas a solicitação dos escopos necessários, a configuração do acesso de gravação somente ao enviar dados e o tratamento adequado do consentimento parcial.

Os escopos da API Google Health são um URL HTTP que começa com https://www.googleapis.com/auth/googlehealth.{scope}. Por exemplo, https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly.

Mapeamentos de escopo

Confira como os escopos da API Fitbit Web são mapeados para os escopos da API Google Health:

Tabela: mapeamentos de escopo da API Fitbit Web para a API Google Health
Escopos da API Fitbit Web Escopos da API Google Health
atividade .activity_and_fitness.readonly
.activity_and_fitness.writeonly
blood_glucose .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
cardio_fitness .activity_and_fitness.readonly
.activity_and_fitness.writeonly
eletrocardiograma .ecg.readonly
frequência cardíaca .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
irregular_rhythm_notifications .irn.readonly
local .location.readonly
nutrição .nutrition.readonly
.nutrition.writeonly
oxygen_saturation .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
perfil .profile.readonly
.profile.writeonly
respiratory_rate .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
configurações .settings.readonly
.settings.writeonly
sono .sleep.readonly
.sleep.writeonly
temperatura .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
peso .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly

Tipos de dados

Confira uma lista dos tipos de dados da API Google Health e como eles são mapeados para a API Fitbit Web.

Para mais informações sobre como os dados são informados para esses tipos, consulte o guia Presença de dados e zeros verdadeiros. Esse guia inclui detalhes sobre inatividade e filtragem no pulso.

Tabela: mapeamentos de tipo de dados da API Fitbit Web para a API Google Health
Tipo de dados da API Fitbit Web Tipo de dados da API Google Health
  dataType
Activity Calories Active Energy Burned
  active-energy-burned
Minutos na faixa ativa Active Zone Minutes
  active-zone-minutes
Contém mudanças nos níveis de atividade do usuário Activity Level
  activity-level
Elevação Altitude
  altitude
Glicemia Blood Glucose
  blood-glucose
Gordura corporal Body Fat
  body-fat
caloriesOut em cada faixa de frequência cardíaca Calories In Heart Rate Zone
  calories-in-heart-rate-zone
Temperatura (interna) Core Body Temperature
  core-body-temperature
Resumo de HRV Variabilidade da frequência cardíaca diária
  daily-heart-rate-variability
Resumo de SpO2 Daily Oxygen Saturation
  daily-oxygen-saturation
Frequência cardíaca em repouso Frequência cardíaca em repouso diária
  daily-resting-heart-rate
Temperatura da pele Daily Sleep Temperature Derivations
  daily-sleep-temperature-derivations
Distância Distance
  distance
Eletrocardiograma (ECG) Electrocardiogram (ECG)
  electrocardiogram
Atividade de gravação Exercise
  exercise
Andares Floors
  floors
Comida Food
  food
Comida Food
  food
Unidade de medida de alimentos Food Measurement Unit
  food-measurement-unit
Unidade de medida de alimentos Food Measurement Unit
  food-measurement-unit
Frequência cardíaca Heart Rate
  heart-rate
HRV Intraday Variabilidade da frequência cardíaca
  heart-rate-variability
Notificações de ritmo irregular (IRN) Irregular Rhythm Notification
  irregular-rhythm-notification
Registro de alimentos Nutrition Log
  nutrition-log
Registro de alimentos Nutrition Log
  nutrition-log
SpO2 Intraday Oxygen Saturation
  oxygen-saturation
Valor de VO2 máx. quando o usuário corre Run VO2 Max
  run-vo2-max
Minutos sedentários da série temporal de atividades Sedentary Period
  sedentary-period
Sono Sleep
  sleep
Etapas Steps
  steps
Série temporal de atividades de natação Swim Lengths Data
  swim-lengths-data
caloriesOut da atividade Total Calories
  total-calories
Valor de VO2 máx. VO2 Max
  vo2-max
Peso Weight
  weight

Endpoints

Os endpoints REST adotam uma sintaxe consistente para todos os tipos de dados.

  • Endpoint de serviço: o URL HTTP base muda para https://health.googleapis.com.
  • Sintaxe de endpoint: a API Google Health oferece suporte a um número limitado de endpoints, que podem ser usados pela maioria dos tipos de dados compatíveis. Isso fornece uma sintaxe consistente para todos os tipos de dados e facilita o uso dos endpoints.
  • Identificador do usuário: o ID do usuário ou "me" precisa ser especificado na sintaxe do endpoint. Ao usar "me", o ID do usuário é inferido do token de acesso.

Exemplo: confira um exemplo do endpoint GET Profile chamado usando a API Google Health

GET https://health.googleapis.com/v4/users/me/profile

Mapeamentos de endpoint

Consulte a tabela de tipos de dados da API Google Health para conferir uma lista dos tipos de dados disponíveis e os métodos de API que eles oferecem suporte.

Tipo de endpoint da API Fitbit Web API Google Health
GET (registro | resumo | resumo diário) em que você está solicitando um único dia de dados Método dailyRollup com windowSize = 1 dia
GET (intraday) em que você está solicitando dados granulares Método list
GET (série temporal) por data ou intervalo Método rollUp ou dailyRollUp incluindo um período
GET (lista de registros) Método list
CRIAR E ATUALIZAR registros Método patch
EXCLUIR registros Método batchDelete
GET Profile users.getProfile retorna as informações específicas do usuário
users.getSettings retorna as unidades e os fusos horários do usuário
UPDATE Profile users.updateProfile modifica as informações específicas do usuário
users.updateSettings modifica as unidades e os fusos horários do usuário
Receber ID do usuário users.getIdentity retorna o ID do usuário legado do Fitbit e do Google user ID.
Receber dispositivos users.pairedDevices retorna a lista de dispositivos pareados
Criar assinaturas projects.subscribers.subscriptions.create cria uma assinatura manualmente
Excluir assinaturas projects.subscribers.subscriptions.delete exclui uma assinatura
Receber lista de assinaturas projects.subscribers.subscriptions.list lista todas as assinaturas