Uma das minhas primeiras tarefas diárias é verificar o clima; é uma necessidade para saber o que meus filhos e eu devemos vestir, se vou precisar regar o gramado ou remover a neve com pá e se posso fazer reuniões no meu pátio. Também tem sido uma das minhas piores experiências na Web, pois o Weather.com é lento, difícil de navegar e repleto de dezenas de rastreadores e anúncios. Felizmente, descobri recentemente uma API que me permite criar meu próprio painel de controle meteorológico com o API do WeatherStack.

Acesso rápido

  • Gratuito para começar!
  • Informações meteorológicas globais com uma API fácil de usar
  • Obtenha dados meteorológicos em tempo real, históricos e de previsão
  • Código de amostra para implementar a API em Ruby, Node.js, Go, Python, PHP e até mesmo jQuery
  • Com a confiança de 75.000 empresas, incluindo Microsoft e Warner Brothers
  • Dos criadores do currencylayer, ipstack, caixa de correioe mais APIs sólidas como rocha

Comece inscrevendo-se gratuitamente – o senhor receberá imediatamente um token de API para usar, bem como instruções detalhadas de uso da API.

Uso básico

Para obter os dados meteorológicos em tempo real de um determinado local, faça uma simples chamada à API com o idioma e o método de sua escolha:

// Getting weather by postal code in Fahrenheit
http://api.weatherstack.com/current
    ?access_key=YOUR_API_KEY
    &query=53711
    &units=f

O senhor receberá uma grande quantidade de informações na resposta:

{
   "request":{
      "type":"Zipcode",
      "query":"53711",
      "language":"en",
      "unit":"f"
   },
   "location":{
      "name":"Madison",
      "country":"USA",
      "region":"Wisconsin",
      "lat":"43.031",
      "lon":"-89.444",
      "timezone_id":"America\/Chicago",
      "localtime":"2019-09-14 14:25",
      "localtime_epoch":1568471100,
      "utc_offset":"-5.0"
   },
   "current":{
      "observation_time":"07:25 PM",
      "temperature":72,
      "weather_code":116,
      "weather_icons":[
         "https:\/\/assets.weatherstack.com\/images\/wsymbols01_png_64\/wsymbol_0002_sunny_intervals.png"
      ],
      "weather_descriptions":[
         "Partly cloudy"
      ],
      "wind_speed":8,
      "wind_degree":210,
      "wind_dir":"SSW",
      "pressure":1021,
      "precip":0,
      "humidity":57,
      "cloudcover":75,
      "feelslike":77,
      "uv_index":6,
      "visibility":10
   }
}

O senhor pode especificar a localização por nome da cidade, latitude/longitude, código postal, endereço IP ou até mesmo geolocalização por meio do fetch:ip .

O senhor também pode obter informações meteorológicas de vários locais com uma solicitação, separando os locais separados com um ;o senhor receberá uma matriz de objetos representando cada local.

Unidades e idiomas

O weatherstack também permite que os desenvolvedores especifiquem o idioma e as unidades. Imagine que o senhor seja francês e chegue aos Estados Unidos. O ideal é que o senhor queira as informações meteorológicas no idioma local (francês) e em unidades que entenda (Celcius, quilômetros etc.). Adicione os seguintes parâmetros à sua solicitação:

// Getting weather in French and metric system
http://api.weatherstack.com/current
    ?access_key=YOUR_API_KEY
    &query=New York
    &units=m
    &language=fr

A carga útil da resposta fornecerá a temperatura em graus Celsius, o vento em quilômetros, a precipitação em milímetros e a neve em centímetros. Deixar que o weatherstack faça a localização para o senhor (e seus usuários) é uma tarefa enorme com a qual não precisa se preocupar!

Tempo histórico

Se o senhor quiser obter informações meteorológicas históricas para um determinado local e data, clique no botão /historical :

// Weather from last July 5th in hour increments
http://api.weatherstack.com/current
    ?access_key=YOUR_API_KEY
    &query=Madison
    &historical_date=2018-07-05
    &units=f
    &hourly=1

O endpoint histórico permite uma única data passada ou várias datas separadas por ; por meio do parâmetro historical_date método.

O endpoint histórico também oferece duas novas opções: hourly e interval. hourly os valores são 1 (ligado) ou 0 (off) que especificam se o senhor deseja obter informações meteorológicas por hora. Os interval representa os incrementos de hora para os quais o senhor deseja obter valores (1, 3, 6, 12, e 24).

Previsão

Um caso de uso muito comum é querer saber a previsão do tempo para uma semana. Para isso, o senhor pode acessar o /forecast da API. O parâmetro importante ao usar o endpoint de previsão é forecast_days, com o valor máximo sendo 14.

// Weather for the next 14 days
http://api.weatherstack.com/current
    ?access_key=YOUR_API_KEY
    &query=Madison
    &forecast_days=14
    &units=f
    &hourly=1

Todos os parâmetros mencionados anteriormente podem ser usados para a API de previsão!

weatherstack é apenas mais uma API incrível da apilayer. O senhor sempre pode contar com eles para manter a API simples e confiável e, juntamente com suas várias outras APIs, pode criar uma experiência incrivelmente personalizada para seus usuários. Se quiser proporcionar uma experiência meteorológica incrível para seus usuários, experimente weatherstack!