weatherBien, como dije en las entradas anteriores, con tal de no repetir constantemente tanto código como configuración de esta parte de la aplicación decidí hacer una API para manejar el clima directamente desde mi propio servidor, y así poder reutilizar todo el sistema (con todo y cacheo) en cualquier aplicación, ampliando hasta los lenguajes en los que se puede usar (desde PHP, hasta Objective C, Android, … ).

De la misma forma que hice esta API también estoy probando un servicio excelente del cual ya hablé anteriormente ( Mashape, excelente por cierto ), de esta forma el servicio está disponible para todos quienes tengan una cuenta en Mashape de manera gratuita claro está.

Pueden encontrar toda la información relevante sobre la API en el proyecto aquí:

https://www.mashape.com/mxrck/simple-weather

Un dato importante

Lo único que necesitan para llamar esta API es el código de su ciudad el cual pueden sacar por ejemplo de aquí:

http://www.levoyageur.net/forecasts-mx-mexico.html

Captura de pantalla 2014-06-04 a la(s) 10.44.54Y al elegir tu ciudad, solo tienes que copiar el código de la URL:

Captura de pantalla 2014-06-04 a la(s) 10.45.55

La unidad en la que quieren que regrese el clima, ya saben «c» o «f», la dirección normal para llamar a esta API sin Mashape es http://api.serprogramador.es/weather/forecast/{location}/{unit}.json pero ya que quiero probar un poco este servicio de APIs solo está disponible a través del mismo.

Y el lenguaje en el que se requiere la respuesta, actualmente disponible ingles (en) y español (es) y si gustan algún otro lenguaje me pueden ayudar a crearlo fácilmente solo me lo hacen saber por aquí.

La respuesta por parte de la API es la siguiente:

{
  "api": "SerProgramador.es",
  "api_version": "1.0",
  "data": {
    "weather": {
      "temperature": "26",
      "description": "Rain",
      "location": "MXCE0008",
      "code": "12",
      "at_time": 1401856554,
      "lang": "en"
    }
  },
  "response": true,
  "time_elapsed": "0.0039"
}

La variable importante es «response», la cual es la que les dirá si ha ocurrido un error o todo ha ido bien.

Sin más por el momento y dicho lo importante, pronto es probable que vaya agregando más APIs interesantes de las que uso en mi día a día para de nuevo, no tener que reescribir código constantemente.