¿Qué es una API?


Que es una Api

Marco Teórico

Proviene del término en inglés Application Programming Interfaces lo cual significa Interfaces de  programación de aplicaciones. Una API es una especificación formal sobre cómo un módulo se comunica o interactúa con otro.

Por ejemplo, cuando un cliente compra productos a través de una página web por internet, introduce la información de su tarjeta de crédito, esta información que se ingresa en la web usa una API para enviar dicha información de forma segura y remota a otro programa que verifica si los datos bancarios son correctos. Una vez que se confirma el pago, la aplicación remota envía la información al sitio web de compra con un «OK», por lo que esta página emite los tickets.

En todo ese proceso, el usuario solo ve una cara del proceso dentro de la página de compra, pero todo este proceso interno existente se da por medio de comunicación entre las API.

API Rest

API REST llegó para quedarse, solo bastaría ver las tendencias de Google Trends para darse cuenta que REST ha superado por creces a los servicios tradicionales SOAP y desde hace ya un tiempo.

Tendencia Google Trends

API REST es un estilo de arquitectura de software que se utiliza para describir cualquier interfaz entre diferentes sistemas que utilicen HTTP. Este último es un protocolo de comunicación que permite la transferencia de datos en la web.

REST significa Representational State Transfer o en español transferencia de estado representacional, es un estándar para la comunicación y creación de servicios para transferir información entre un cliente y un servidor. Esta transferencia de información, nos permitirán manipular datos a través de peticiones realizadas por el cliente hacia la API; las cuales involucran al antes mencionado CRUD.

El CRUD tiene métodos bien definidos para realizar las operaciones, estos son los siguientes: GET para consultar, PUT para actualizar/reemplazar, POST para crear y DELETE para eliminar.

Código de estado

Las API REST poseen otros aspectos muy importantes como el código de estado que se relaciona con el CRUD; sirve para informar al cliente cómo fue procesada cierta petición dentro de la API. GET, POST, PUT, PATCH o DELETE, la API responde con estos códigos que ayudan al cliente a decidir qué hacer una vez finalizada su petición. En resumen, los códigos de estado indican si se ha completado satisfactoriamente una solicitud específica.

Los códigos de estado se agrupan en cinco tipos: respuestas informativas, respuestas satisfactorias, redirecciones, errores de los clientes y errores de los servidores. A continuación, se enlistan algunos de los más utilizados agrupados por tipo:

Respuestas informativas

  • 100 Continue

Respuestas satisfactorias

  • 200 OK
  • 201 Created

Redirecciones

  • 300 Multiple Choice

Errores de cliente

  • 400 Bad Request
  • 401 Unauthorized
  • 402 Payment Required
  • 403 Forbidden
  • 404 Not Found

Errores de servidor

  • 500 Internal Server Error

Desarrollar software basado en una API proporciona ventajas significativas para quien desarrolla y consume el software, como los siguientes:

  • Flexibilidad al momento de elegir el lenguaje de programación que puede ser diferente al utilizado en el cliente.
  • La separación de cliente y servidor permite desarrollar proyectos de software segmentadamente y que en su momento generan estabilidad y portabilidad a cualquier plataforma.
  • Es posible reutilizar servicios ya existentes desarrollados por terceros e incorporarlos a nuestro negocio; por ejemplo, los sistemas de identificación de Facebook y la autenticación en los servicios de Google.

Por todos lo expuesto, de concluye que el uso de las API ha permitido construir relaciones con otros negocios y llegar a muchos más clientes, por lo que se han convertido en una herramienta clave para el crecimiento de los negocios.

JSON

Corresponde a las siglas JavaScript Object Notation o Notación de Objetos de JavaScript, es un formato ligero de intercambio de datos, que resulta sencillo de leer y escribir para los programadores y simple de interpretar y generar para las máquinas. JSON es un formato de texto completamente independiente de lenguaje, pero utiliza convenciones que son ampliamente conocidos por los programadores, entre ellos:

  • Java
  • JavaScript
  • Python
  • Entre otros

Una de las características de JSON, al ser un formato que es independiente de cualquier lenguaje de programación, es que los servicios que comparten información por este método no necesitan hablar el mismo idioma, es decir, el emisor puede ser Java y el receptor Python, pues cada uno tiene su propia librería para codificar y decodificar cadenas en este formato. 

Ventajas

  • Es autodescriptivo y fácil de entender
  • Su sencillez le ha permitido posicionarse como alternativa a XML
  • Es más rápido en cualquier navegador
  • Es más fácil de leer que XML

Deja una respuesta

Tu dirección de correo electrónico no será publicada.