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:
- Cria uma automação diária (por exemplo às 9h).
- Lê do Saúde as horas de sono e os passos de ontem.
- 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. - 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.
Updated 21 days ago
