Cómo realizar una librería consumiendo servicios a través de una API Rest

Buenas! Soy Mauricio García, especialista en Mat|r, y quiero mostrarles cómo realizar una librería consumiendo servicios a través de una API Rest y el uso de la misma para desarrollar aplicaciones. 

 

  Para empezar buscamos alguna api interesante cuya respuesta sea compatible con Mat|r, un objeto Json. En este caso voy a utilizar una sobre NBA, la cual trae Datos y Estadísticas de los partidos, equipos y jugadores. (Esta Api permite hacer 1000 consultas diarias)

 

 

Una vez que ya tenemos la Api que vamos a utilizar, nos vamos a la plataforma Mat|r para comenzar con el desarrollo de la Librería. 

 

 →  Antes de empezar tenemos que tener bien claro cómo utilizar los servicios en Mat|r y cómo crear Endpoints para poder hacer uso de los mismo, les dejo la documentación sobre HTTP Services. (http://matrproject.com/docs/eng/http-services/)

 

Ahora si podemos empezar a realizar la Librería:

 

1. Primero tenemos que saber exactamente el formato del json que nos devuelve cada endpoint de la Api… Sabiendo esto podemos ir creando los Models en Mat|r. 

 

Podemos notar que para mapear el json que nos devuelve el endpoint “GET seasons/” hay que respetar los nombres de las variables, en Mat|r Script creamos Models para representar el json. (No es necesario mapear todos los atributos, con los necesarios es suficiente).

NOTA: Van a ver que he agregado dos atributos más “code” y “error”  que mas adelante voy a explicar.

2. Después ya podemos crear el Endpoint en la Librería, siguiendo los pasos que nos muestra la documentación de los servicios HTTP que les compartí antes.

Esto lo realice para cada Endpoint de la Api y completé toda la librería con sus respectivos modelos (Models) y Endpoints.

 

 Por mi parte me tomé el trabajo de desarrollar funciones para facilitar el uso de la Librería, las cuales sólo van a recibir los parámetros que se necesiten, en éste caso la Api Key y de ser necesario algún parámetro más.

 

Dentro de las mismas agregué los Header o Body variables (con Mat|r Script) que necesita el Endpoint para realizar la llamada correctamente y si llegase a fallar tiene la lógica “try {} catch() {}”, para atrapar excepciones, que van a llenar los atributos “code” (con el código del error ocurrido) y “error” (con la razón del error ocurrido), así el desarrollador puede utilizar la lib y manipular como requiera sus servicios y errores usando la función.

 

  Realizado todo esto ya tenemos la librería creada y funcionando, sólo hay que darle Publish para poder importarla desde una App u otra Lib. No se olviden de agregar documentación a la misma así otro desarrollador pueda entender cómo usar la librería.

 

 

   Espero que les sirva este post y en el próximo vamos a crear una Aplicación utilizando esta Librería con el objetivo de que veamos más Mat|r Script y aprendamos más de la plataforma. 

 

Saludos!