Que es API REST y como integrarlo a tus procesos

Contact Us

Que es API REST y como integrarlo a tus procesos

Las conversaciones con las API REST es la forma que han encontrado los distintos softwares del mundo para integrarse y pasarse información. Según Wikipedia: “La transferencia de estado representacional (en inglés representational state transfer) o REST es un estilo de arquitectura de software para sistemas hipermedia distribuidos como la World Wide Web.”

El término REST se utiliza para describir cualquier interfaz entre sistemas, que utilice directamente HTTP para obtener datos, o indicar la ejecución de operaciones sobre estos en cualquier formato (XML, JSON, etc.). Es decir, básicamente lo que podemos hacer con las API REST es conectar dos softwares distintos entre sí. Para que esto sea posible, los desarrolladores deben de documentar estas APIs e indicar que métodos van a dejar disponibles para que programas externos puedan conectarse y extraer información. Por mencionar un caso de uso, podemos decir que algunos de los métodos que Facebook tiene habilitados en su API, permiten que otras aplicaciones puedan conectarse para obtener y mostrar a todos los amigos de un usuario en concreto.

La gran ventaja que ofrece la tecnología API REST respecto a otras como SOAP es que utilizan el mismo esquema que el protocolo HTTP para solicitar, y transferir datos entre las distintas aplicaciones. Cuando escribimos una dirección en la barra de direcciones de nuestro navegador web, este envía una petición GET al servidor web, y este a su vez nos devuelve una respuesta (REQUEST y RESPONSE).

Por ejemplo, abrimos el navegador y escribimos https://www.gqs.com. A continuación, este se conecta con el servidor web a través de una conexión TCP/IP, y envía una petición de este tipo:

GET /index.html HTTP/1.1
Host: www.gqs.com
  • En la primera línea especificamos el nombre del recurso al que queremos acceder “index.html”, y la versión de protocolo que utilizamos HTTP/1.1
  • En la segunda línea incluimos la cabecera HOST para indicar al servidor web el nombre del dominio donde vamos a acceder. Esta cabecera siempre se incluye, pero pueden incluirse otras.
  • La tercera línea es un retorno de carro similar al que introducimos cuando pulsamos la tecla Enter.
  • Una vez el servidor Web reciba la petición, en función de la configuración establecida, emitirá una respuesta como esta:
HTTP/1.1
Date: Tue jun 2020 04:33:33 GMT-05
Server: Microsoft – IIS/10.0
Content-Type: text/html; charset=uft-8
Content-length: 1000
Texto hasta completar los 1000 bytes
  • La primera línea nos indica la versión del protocolo HTTP.
  • Las siguientes líneas son las cabeceras con los siguientes datos:
  • Fecha y hora de la conexión.
  • Tipo de servidor web que contiene los recursos a los que queremos acceder. En este caso Internet Information Server de Microsoft.
  • Content-Type nos indica que el archivo es del tipo txt/html, y que el juego de caracteres que es uft-8.
  • Content-Length nos indica el número de bytes que van a pasarse.
  • Luego incluimos un retorno de carro.
  • Y finalmente pasamos el contenido hasta llegar a los 1000 bytes.

MÉTODOS HTTP

Los métodos HTTP más utilizados son los siguientes:

MétodoDescripción*Interactúa con el Servidor Web
GETSolicita unos datos al servidor webNo
POSTActualiza datos en el servidor web
PUTIntroduce nuevos datos en el servidor web
PATCHModifica parcialmente un recurso
DELETEBorra datos del servidor web

CÓMO USAMOS ESTO EN NUESTRA API REST

Vamos a trabajar un ejemplo de integración de una Plataforma BPMS low-code que utilizamos en GQS y el RPA UiPath. Ambas tecnologías tienen como objetivo la automatización de procesos, pero su área de influencia es diferente. La automatización de procesos mediante robots tiene como objetivo disminuir la intervención humana, especialmente en tareas repetitivas. Pero una herramienta low-code, nos proporciona las herramientas necesarias para automatizar los procesos, monitorizarlos, y obtener informes sobre el estado de la organización y sus resultados.

Sin embargo, en muchas ocasiones incluir un RPA como automatismo dentro de un flujo de trabajo resulta beneficioso para la aplicación que estamos construyendo, y facilita el trabajo a las personas que intervienen.

Cualquier tipo de operación que iniciemos con el RPA va a requerir que nos autentiquemos. En la sección Authenticating podemos leer que el sistema de autenticación de UiPath utiliza un token bearer (estándar de autorización OAuth 2.0), y que debemos realizar una petición de tipo POST a la URI https://cloud.uipath.com/api/account/authenticate con nuestras credenciales de acceso.

Como podemos ver en el ejemplo que nos proporciona la documentación el servidor nos devuelve el token en el parámetro “result” de su respuesta.

Una de las grandes ventajas, de ofrecer una API REST, es que otros desarrolladores pueden crear servicios alternativos y llegar a nichos de mercado a los que el producto original no llegaba.

Podemos decir que es una forma de encontrar aliados que van a ayudar a la expansión de nuestra marca. Empresas como Evernote, Dropbox, eBay, Twitter, Instagram, Facebook sacan un gran partido de esta estrategia, y una parte muy importante de sus usuarios les llegan a través de otras aplicaciones que usan sus respectivas APIs. En cuanto a la parte tecnológica, comentar que las API REST se apoyan en el protocolo  de comunicación HTTP, que hoy en día es sin duda el más extendido y utilizado.

Share this post?

Administración

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *