Por onde começar
A Kitelife Radar é uma rede de estações meteorológicas instaladas em pontos de vento. Cada estação mede vento, rajada, direção, temperatura, umidade, pressão, chuva e índice UV, e publica uma leitura a cada poucos segundos.
Esta API entrega esses dados. Toda leitura, em qualquer canal, é o mesmo objeto:
{ "stationId": "stn_barra-da-tijuca-01", "observedAt": "2026-08-26T17:42:08Z", "timeSource": "station", "windSpeedKnots": 18.2, "windGustKnots": 24.6, "windDirectionDegrees": 118, "temperatureCelsius": 27.4, "humidityPercent": 71, "pressureAbsoluteHpa": 1012.4, "pressureSeaLevelHpa": 1012.9, "rainRateMmPerHour": 0, "uvIndex": 3.1}Vento em nós, e toda grandeza traz a unidade no nome do campo. Todo instante é UTC.
Três canais, o mesmo dado
Seção intitulada “Três canais, o mesmo dado”A escolha entre eles é sobre como você consome, não sobre o que recebe.
| Você quer | Canal | Como funciona |
|---|---|---|
| O vento agora, uma vez | REST | Você pergunta, a API responde |
| Histórico e gráficos | REST, rota de série | Blocos agregados de 1 min a 1 dia |
| Poucas estações ao vivo numa tela | WebSocket | Conexão aberta, leitura empurrada na hora |
| Fluxo contínuo de muitas estações | AMQP | Fila durável, guarda enquanto você está fora |
Três atalhos que evitam retrabalho:
Não faça polling na REST para ter dado ao vivo. As estações publicam a cada poucos segundos. Um cliente em polling ou chega tarde ou desperdiça requisições contra a sua cota, e nos dois casos existe um canal melhor.
Não use WebSocket para não perder nada. O WebSocket não retém: cliente desconectado perde o que passou. Isso é adequado para uma interface, onde só importa o valor de agora, e inadequado para um pipeline de dados.
Não use AMQP para consultar. A fila entrega o que chega a partir de agora. Histórico é REST.
Primeira chamada
Seção intitulada “Primeira chamada”Com a sua chave em mãos, o catálogo de estações é o ponto de partida. Os id
que ele devolve são a chave de tudo, em todos os canais.
curl https://api.radar-sandbox.kitelife.com.br/v1/stations -H "X-Api-Key: $RADAR_API_KEY"Depois, a leitura mais recente de uma delas:
curl https://api.radar-sandbox.kitelife.com.br/v1/stations/stn_barra-da-tijuca-01/readings/latest -H "X-Api-Key: $RADAR_API_KEY"Se as duas responderem, a integração está de pé. O resto é escolher o canal.
O que ler antes de escrever a primeira linha
Seção intitulada “O que ler antes de escrever a primeira linha”- Grandezas e unidades: vento em nós, direção de onde sopra, duas pressões diferentes. A maioria dos erros de integração está aqui, não no código.
- Autenticação: chave por integrador, e como o handshake do WebSocket difere entre servidor e navegador.
- Erros: o formato é o mesmo em toda falha, e
o campo em que programar é o
code. - Limites de uso: cotas, cabeçalhos de
controle e o que fazer diante de um
429.
O que esta API não é
Seção intitulada “O que esta API não é”Não é previsão do tempo. São medições de estações físicas, do que está acontecendo agora e do que já aconteceu. Não há projeção para o futuro em nenhuma rota.
Também não é um serviço de escrita. Todos os canais são de leitura: não há rota para criar, alterar ou apagar nada, e o relay AMQP entrega sem aceitar publicação de volta.