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. Não use escopos que não são necessários para o app. Você sempre pode adicionar mais escopos mais tarde se o design do app mudar.

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 Calorias ativas queimadas
  active-energy-burned
Minutos na faixa ativa Minutos na faixa ativa
  active-zone-minutes
Contém mudanças nos níveis de atividade do usuário Nível de atividade
  activity-level
Elevação Altitude
  altitude
Glicemia Glicemia
  blood-glucose
Gordura corporal Gordura corporal
  body-fat
caloriesOut em cada faixa de frequência cardíaca Calorias na faixa de frequência cardíaca
  calories-in-heart-rate-zone
Temperatura (central) Temperatura corporal central
  core-body-temperature
Resumo da VFC Variabilidade da frequência cardíaca diária
  daily-heart-rate-variability
Resumo da SpO₂ Saturação de oxigênio diária
  daily-oxygen-saturation
Frequência cardíaca em repouso Frequência cardíaca em repouso diária
  daily-resting-heart-rate
Temperatura da pele Derivações de temperatura do sono diárias
  daily-sleep-temperature-derivations
Distância Distância
  distance
Eletrocardiograma Eletrocardiograma
  electrocardiogram
Atividade de gravação Exercício
  exercise
Andares Andares
  floors
Comida Comida
  food
Unidade de medida de alimentos Unidade de medida de alimentos
  food-measurement-unit
Frequência cardíaca Frequência cardíaca
  heart-rate
VFC intraday Variabilidade da frequência cardíaca
  heart-rate-variability
Notificações de ritmo irregular (IRN) Notificação de ritmo irregular
  irregular-rhythm-notification
Registro de alimentos Registro de nutrição
  nutrition-log
SpO₂ intraday Saturação de oxigênio
  oxygen-saturation
Valor de VO₂ máx. quando o usuário corre VO₂ máx. da corrida
  run-vo2-max
Minutos sedentários da série temporal de atividades Período sedentário
  sedentary-period
Sono Sono
  sleep
Etapas Etapas
  steps
Série temporal de atividades: braçadas de natação Dados de voltas de natação
  swim-lengths-data
caloriesOut da atividade Total de calorias
  total-calories
Valor de VO₂ máx. VO₂ máx.
  vo2-max
Peso Peso
  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