Una API es el intermediario de la mayoría de las aplicaciones modernas. API significa: Application Programming Interface (Interfaz de Programación de Aplicaciones). Vamos a desglosarla mirando cada una de sus partes:
Aplicación | Programando | Interfaz |
---|---|---|
Si tienes un teléfono inteligente, estás familiarizado con las aplicaciones (herramientas, juegos, redes sociales y otro software que usamos todos los días). | Programar es la forma en que los ingenieros crean todo el software que tanto facilitan nuestra vida. | Una interfaz es un límite común compartido por dos aplicaciones o programas que permiten que ambos se comuniquen entre sí. |
☝️ Esencialmente, una API es una forma para que los programadores se comuniquen con una aplicación en particular.
Cada API consta de 3 componentes principales: (1) Las funciones/métodos que tiene disponibles para usar, (2) El formato para la comunicación y (3) Los datos (y los tipos de datos) que manipulará. Por ejemplo, cualquier teléfono en el mundo tendrá la siguiente API:
Funciones/Métodos: | Formato de Comunicación |
---|---|
Haz una llamada Cuelga una llamada Hablar con el operador Marca algo en el teclado | Ruido (sonidos)! Hay un sonido para todo (incluso en los teléfonos modernos). Escucharás un tono cuando realices una llamada, cuando presionas una tecla, etc. El sistema del teléfono escucha los cambios de tono del sonido. |
Los métodos de la API de una aplicación web dependen completamente del propósito / negocio del sitio web:
Hay docenas de formas de crear una API, pero el estándar REST ha llegado a dominarlas todas. Si realmente quieres ser un desarrollador web, tienes que sentirse muy cómodo con REST.
REST funciona a través de HTTP, lo que significa que todo está basado en texto. Utiliza los famosos comandos GET, POST, PUT y DELETE para clasificar los métodos API.
Método | Descripción |
---|---|
GET | Se utiliza para leer el estado del servidor. Al ser una operación segura, puede ejecutarse varias veces sin riesgo de modificación de datos o corrupción; llamarla una vez tiene el mismo efecto que llamarla diez veces. |
POST | Los puristas de REST usan post solo para creación. Eso significa que cada vez que POSTEE algo en una API, estará creando un nuevo registro en la base de datos para eso. Algunas API utilizan POST para todas las operaciones de escritura (eliminar, actualizar y crear). Lo hacen porque PUT y DELETE no están disponibles en HTML / Formularios y eso hace que esos métodos sean más difíciles de usar. |
PUT | Es más usado para actualizar el estado en el servidor; Aunque también se puede utilizar para crear estado. |
DELETE | Se utiliza para eliminar datos en el servidor |
Los códigos de estado HTTP entregan metadatos en la respuesta al estado de los recursos solicitados. Son parte de lo que hace de la Web una plataforma para construir sistemas distribuidos. Se dividen en las siguientes categorías:
1xx
– Metadata2xx
– Todo está bien3xx
– Redirección4xx
– Cliente hizo algo mal5xx
– Servidor hizo algo malLos URI diferencian un recurso de otro. Para acceder y manipular un recurso, debes tener al menos una dirección.
Ellos están compuestos por un protocolo
+ host
+ path
.
Ejemplo: https://api.uber.com/v1.2/products
Los clientes no deben estar acoplados a una URI de recursos particulares, ya que pueden cambiarse a discreción del servidor. Aquí es donde la hipermedia tiene las mayores ventajas, porque ofrece una forma de desacoplar a los clientes de URIs específicas y agregar semántica al protocolo de la aplicación.
Aquí hay algunas URI de la API de Twitter:
Un recurso es una representación abstracta de un objeto que puede llamarse usando Create, Read, Update o Delete con tu API, por ejemplo:
Los recursos representan los documentos que se transfieren a través de la red para realizar el trabajo. Los recursos deben nombrarse como sustantivos, ya que representan conceptos en el dominio de un sistema en particular y se identifican usando URIs.
Otras lecturas:
Lista de API públicas que no requieren autenticación: https://github.com/public-apis/public-apis