class: center, middle, inverse # APIs Mauricio Collazos --- # ¿Qué son? Corresponden a las siglas en ingles: Application Programming Interface Son una especificación de interacción entre programas --- # 2 Tipos de APIs WEB comunes ### SOAP (Basadas en XML) Usadas en programación tradicional, con amplio uso en lenguajes como Java y C# ### REST (Basadas en JSON) Mas usadas en programación web --- > Para consumir un servicio web tan solo es requerido hacer un llamado al sitio por medio del método HTTP Correspondiente - GET - POST - PUT - DELETE Existen otros métodos HTTP pero la especificación de REST usa estos --- > El resultado de un llamado a un API REST será un JSON --- Obtener el clima con openweathermap - [Crear una cuenta](https://home.openweathermap.org/users/sign_up) - [Obtener el token de Acceso](https://home.openweathermap.org/api_keys) - [Determina la ciudad para realizar la petición](http://bulk.openweathermap.org/sample/city.list.json.gz) (Cali: 3687925) - http://api.openweathermap.org/data/2.5/weather?id=3687925&APPID=
--- ```json { "coord": { "lon": -76.52, "lat": 3.44 }, "weather": [ { "id": 803, "main": "Clouds", "description": "broken clouds", "icon": "04n" } ], "base": "stations", "main": { "temp": 294.15, "pressure": 1016, "humidity": 94, "temp_min": 294.15, "temp_max": 294.15 }, "visibility": 10000, "wind": { "speed": 1 }, "clouds": { "all": 75 }, "dt": 1510628400, "sys": { "type": 1, "id": 4251, "message": 0.0191, "country": "CO", "sunrise": 1510656695, "sunset": 1510699771 }, "id": 3687925, "name": "Cali", "cod": 200 } ``` --- # Ahora desde Javascript ```javascript var request = new Request("http://api.openweathermap.org/data/2.5/weather?id=3687925&APPID=
"); var res = null; var cont = null; fetch(request).then( function(response) { if(response.status == 200) { res = response; response.json().then( function(value) { cont = value; }) } else { console.log(response.status) } } ).catch( function(error) { console.error(error); }); ```