HG Weather Documentação
API de previsão do tempo e dados climáticos
Documentação
Índice
Introdução
O HG Weather é uma API que fornece dados de previsão do tempo e condições climáticas atuais para uma cidade.
API fácil de implementar, com respostas e parâmetros objetivos, com bibliotecas em PHP, Ruby e JavaScript.
Você pode obter a cidade desejada de várias formas diferentes, como geolocalização, IP do usuário, busca por nome ou código.
Recomendamos que sempre use sua chave em todas as requisições.
O idioma de resposta da API pode ser configurado através do parâmetro locale
.
Estão disponíveis: pt, en. (pt é o padrão)
Mesmo que sua aplicação não seja com essas linguagens, abaixo você pode conferir como integrar a API.
Todos esses dados de uma cidade são retornados na mesma requisição de uma só vez, sendo esses dados:
Todas as requisições em como base o seguinte endpoint:
Estrutura de dados
Os dados referentes à consulta chegam no parâmetro results
, você também pode conferir a autenticação de sua chave no parâmetro de retorno valid_key
.
temp
- temperatura atual em ºCdate
- data da consulta, em fuso horário do localtime
- hora da consulta, em fuso horário do localcondition_code
- código da condição de tempo atual veja a listadescription
- descrição da condição de tempo atual no idioma escolhidocurrently
- retorna se está de dia ou de noite no idioma escolhidocid
- antigo identificador da cidade, pode não estar presente em alguns casoscity
- nome da cidade seguido por uma vírgula (mantido para as libs antigas)humidity
- umidade atual em percentualcloudiness
- nebulosidade em percentual, de 0 a 100NOVO
rain
- volume de chuva em mm na última horaNOVO
wind_speedy
- velocidade do vento em km/hwind_direction
- direção do vento em grauNOVO
wind_cardinal
- direção do vento em ponto cardealNOVO
sunrise
- nascer do Sol em horário local da cidadesunset
- pôr do Sol em horário local da cidademoon_phase
- fase da Lua veja a listaNOVO
condition_slug
- slug da condição de tempo atual veja a listacity_name
- nome da cidadetimezone
- fuso horário da cidade-
forecast
- array com a previsão do tempo para outros diasdate
- data da previsão dd/mmweekday
- dia da semana abreviadomax
- temperatura máxima em ºCmin
- temperatura mínima em ºChumidity
- umidade prevista em percentualcloudiness
- nebulosidade em percentual, de 0 a 100NOVO
rain
- volume de chuva esperadoNOVO
rain_probability
- probabilidade de chuva em percentual, de 0 a 100NOVO
wind_speedy
- velocidade do vento em km/hNOVO
sunrise
- nascer do Sol em horário local da cidadesunset
- pôr do Sol em horário local da cidademoon_phase
- fase da Lua veja a listaNOVO
description
- descrição da previsãocondition
- slug da condição veja a lista
Você pode personalizar o resultado da consulta omitindo alguns dados veja como.
Autenticação e chave
A API do HG Weather é de acesso aberto, os dados em si são retornados sem utilizar uma chave ou mesmo ter um plano contratado.
A chave serve para liberar recursos de busca mais avançados, como busca por geolocalização ou nome da cidade, aumentar os limites de consulta e para liberar o acesso exposto em websites por meio de headers CORS.
Recomendamos que sempre utilize uma chave, seus limites de consulta serão maiores do que o acesso sem chave.
Você pode consultar os limites de busca com e sem chave neste link.
Sua chave deve ser informada em toda requisição, utilizando o parâmetro key
.
Galeria de Imagens
Fornecemos imagens que podem ser utilizadas para representar os dados que são retornados na API.
Ícones de Condição Climática
Basta você substituir o retorno do condition_slug no nome da imagem.
Exemplo:
Fases da Lua
Basta você substituir o retorno do moon_phase no nome da imagem.
Exemplo:
Formatos de retorno
Você pode escolher o formato de resposta da API através do parâmetro format
na sua requisição.
Formatos disponíveis
json
- retorno em JSON, padrãojson-cors
- retorno em JSON com headers CORS, chave exposta requeridaphp-serialize
- serialização do PHP (antigo formato da API)debug
- JSON visual para humanos, apenas para testes, não utilizar em produção
Esse formato requer uma chave válida e seu domínio, exatamente igual ao utilizado no site, deve ser cadastrado no momento da criação da chave.
Aumente seus limites na API ou obtenha suporte
Conheça as vantagens de ser membro da API
Sendo assinante, além de ajudar a manter o serviço para a comunidade, você terá acesso ao nosso suporte, maiores limites de consulta e recursos exclusivos.
Quero conhecerObter cidade por código WOEID ou CID
Com este método, informamos os dados de tempo no código WOEID (Where On Earth IDentifier, identificador onde na terra em inglês) de cidade. CID ainda funciona porém foi descontinuado.
Parâmetro de consulta: woeid
Requer chave: não
Você pode buscar o código de sua cidade nas ferramentas do HG Weather.
Buscar cidadeObter cidade por geolocalização
Com este método, retornamos a cidade baseada nas coordenadas de seu usuário, o próprio sistema se encarrega de salvar os dados associando a geolocalização com o IP do usuário, tornando possível novas consultas no futuro, sem informar as coordenadas. Não se preocupe, esses dados nunca são exibidos no retorno da API.
Requer chave: sim
Parâmetros
lat
- float com a latitudelon
- float com a longitudeuser_ip
- IP de seu usuário exemplo000.000.000.000
ou envieremote
para o sistema obter o IP com base no cliente.
IP do usuário é necessário para cache do sistema, em uma consulta de localicação de IP, a cidade será salva automáticamente com os dados de geocoordenadas.
Obter cidade por localicação de IP
Com este método, informamos os dados de tempo baseado na localização por IP, o sistema busca uma localização aproximada do seu usuário pelo endereço IP.
Caso o mesmo IP tenha feito uma consulta via geolocalização, o sistema utilizará esse dado salvo anteriormente.
A busca pode não ser exata, podendo variar de acordo com a região.
Requer chave: sim
Parâmetros
user_ip
- IP de seu usuário exemplo000.000.000.000
ou envieremote
para o sistema obter o IP com base no cliente.
Obter cidade por nome
Com este método, informamos os dados de tempo baseado no nome da cidade. Quando for sempre a mesma cidade, considere utilizar a busca por WOEID.
Parâmetro de consulta: city_name
Requer chave: sim
Recomentamos que o nome da cidade seja codificado usando URL encode.
Obtendo histórico de dados meteorológicos
Novidade!
Este endpoint acabou de sair do forno!
Com este método, você pode acessar dados históricos registrados pela API.
Esse método necessita da contratação de um plano que tenha suporte à dados históricos HG Weather.
Conheça nossos planos
Requer chave: sim
Cidades disponíveis: somente cidades brasileiras
Requer plano: sim (com suporte à dados históricos HG Weather)
Para buscar por uma cidade, você pode utilizar as mesmas formas de busca para cidades da API de dados atuais:
Somente um é necessário.
woeid
- código da cidade, encontrar códigocity_name
- string com o nome da cidadelat
/lon
- float com a latitude e longitude da cidadeuser_ip
- IP de seu usuário exemplo000.000.000.000
ou envieremote
para o sistema obter o IP com base no cliente
Os dados históricos são obtidos a partir de uma data passada.
Você pode escolher a data por 3 tipos de filtros diferentes:
Por intervalo de datas:
start_date
- data de inicio, stringyyyy-mm-dd
end_date
- data de término, stringyyyy-mm-dd
Por data única:
date
- data de inicio, stringyyyy-mm-dd
ouyesterday
para obter o dia anterior
Por número de dias atrás:
days_ago
- número de dias atrás, inteiro
Somente um filtro desses 3 acima pode ser escolhido.
Lembre-se que a data consultada deve estar dentro dos limites de dados históricos de weather para seu plano.
Juntamente com uma das datas acima, você pode:
Obter todos os dados, ou somente um usando o filtro mode:
mode
- string
-all
: retorna todos os dados históricos
-hourly
: retorna somente os registros por hora
-summary
: retorna somente o resumo
Somente um filtro acima pode ser utilizado.
O sistema obtem os dados e faz o cálculo diário para cada retorno, a fim de obter o máxima, média e mínima para cada dado.
Personalizando a resposta
Algumas aplicações, como IOT, tem menos poder em processar e parsear dados. Por isso você pode em sua requisição, solicitar que alguns dados sejam omitidos, para que apenas os dados que você necessite sejam exibidos.
Você pode escolher quais campos são retornados, limitar arrays ou ignorar os retornos de status e chave. Este recurso é compatível apenas com o formato JSON e requer o uso de sua chave de API.
-
fields
- neste parâmetro você configura o recurso e escolhe quais campos manter, dados válidos abaixo, você pode colocar mais de um, separados por vírgulaonly_results
- remove os dados de status, cache e chave, enviando apenas os resultadosnome-do-campo
- nome do campo desejado
array_limit
- inteiro limitando o número de itens em arrays do retorno
Qualquer forma de busca pode ser utilizada junto a este método.
Dicas de boas práticas
Faça cache
Para que seus limites de consulta sejam utilizados da melhor forma possível, faça cache de suas requisições.
Cada pageview do seu site ou aplicação, não necessita necessáriamente de uma nova consulta ao HG Weather.
Por exemplo, se seu usuário acabou de entrar, faça uma consulta (mesmo que seja no lado do cliente), mas assim que o dado for obtido, salve em um armazenamento local ou temporário para que na próxima página que seu usuário entrar, essa consulta não seja necessária.
Observe as cidades consultadas
Um dos limites mais curtos, é o número de cidades que você consulta. Deixar este campo aberto ao seu usuário pode significar bater este limite.
Utilize rotinas
Se sua aplicação permitir, utilize rotinas ou threads para obter os dados. Isso pode melhorar o tempo final de resposta do seu serviço que utiliza a API.
Exoneração de responsabilidade
API para fins informativos. Não garantimos a precisão dos dados fornecidos pela API ou contidos nesta página, uma vez que devem ser utilizados apenas para efeitos informativos. Trabalhamos pela estabilidade e precisão dos dados, porém, os dados podem estar atrasados ou errados "no estado em que se encontram", confirme todos os dados antes de efetuar qualquer ação que possa ser afetada por estes valores, assim como demais endpoints da API.
Qualquer dúvida verifique nossos termos de uso ou entre em contato.