Relógios e apps de saúde

O sono e os passos de um atleta entram no Vytal por um único sítio:
POST /wearable/upsert-day. Não há integração com nenhum fabricante em concreto, e é de
propósito: qualquer app que consiga fazer um pedido HTTP escreve aqui, e nenhuma precisa
de uma parceria connosco.

O que isto é, e o que não é

O check-in de bem-estar é o que o atleta diz ("dormi mal, 2 em 5"). Isto é o que foi
medido ("5h40"). São coisas diferentes e vivem separadas de propósito: os dois
discordam com frequência, e é do desacordo que sai a conversa útil entre treinador e
atleta. Um não substitui o outro.

O pedido

POST /v1/wearable/upsert-day
Authorization: Bearer vk_live_…
Content-Type: application/json

{
  "memberId": "m-1",
  "date": "2026-08-06",
  "source": "apple-health",
  "sleepMinutes": 432,
  "steps": 8431,
  "restingHr": 52
}

Todos os números são opcionais: enviar só os passos é válido, e o sono desse dia fica
como estava.

Três regras que vale a pena conhecer antes de integrar

Reenviar o mesmo dia reescreve, não acumula. Um relógio sincroniza várias vezes ao
longo do dia, e é assim que deve ser: manda o dia inteiro de cada vez. Se cada
sincronização criasse uma linha, os passos somavam-se e o atleta acabava o dia com o
triplo do que andou.

A source faz parte da chave. O telefone e o relógio podem reportar o mesmo dia com
números diferentes, e guardamos os dois. Escolher um vencedor no momento da escrita
esconderia o outro para sempre; quem lê é que decide. Usa sempre a mesma source para a
mesma origem.

Um número impossível é recusado, não guardado. sleepMinutes vai até 1440 (um dia),
steps até 200 000, restingHr entre 20 e 200. É a proteção contra o erro mais comum
destas integrações: enviar milissegundos onde se pediram minutos, e o ecrã do treinador
mostrar 720 horas de sono com toda a seriedade.

Ligar um iPhone sem escrever código

Com o Atalhos (Shortcuts) do iOS, ou com o Health Auto Export:

  1. Cria uma automação diária (por exemplo às 9h).
  2. Lê do Saúde as horas de sono e os passos de ontem.
  3. Acrescenta a ação Obter conteúdo do URL, método POST, para
    https://api.vytal.fit/v1/wearable/upsert-day, com o cabeçalho
    Authorization: Bearer <a tua chave> e o corpo em JSON como acima.
  4. Usa "source": "apple-health" e a data de ontem.

O Android faz o mesmo com o Tasker ou o Health Connect.

Onde é que estes números aparecem

  • proVytal, no ecrã Hoje: por baixo do nome de cada atleta, ao lado da prontidão.
  • myVytal, em Bem-estar: os últimos catorze dias, com a fonte dita ao lado, porque
    dois relógios podem discordar e o atleta tem direito a saber qual disse o quê.

Privacidade

São dados de saúde (RGPD Art. 9) e as regras são as mesmas do check-in de bem-estar: um
atleta só lê e só escreve os seus; ler os de vários atletas exige um papel de staff. Uma
chave de API age em nome da organização, logo trata-a como trataria a palavra-passe do
dono.


Did this page help you?