Accede a todo EDteam con un único pago¡Sube a premium!

¿Qué son las APIs y para qué sirven?

Las APIs permiten que las aplicaciones se comuniquen y puedan aprovechar desarrollos ya construidos en lugar de tener que crearlos desde cero. Como desarrollador sí o sí debes aprender a desarrollar y consumir APIs.

Diseño web
8 minutos
Hace 5 años
¿Qué son las APIs y para qué sirven?

Crear un aplicación tipo Uber o hacer cobros por Internet, ¿Te imaginas como podrías hacerlo desde cero? demandaría muchísimo trabajo y dinero, por eso es mejor utilizar un servicio que ya exista como lo es Google Maps ó conectarse a PayPal.

Si tu aplicación utiliza recursos de otra aplicación hace que sea más potente a diferencia de una aplicación que solo se maneja por sí sola, ese es el concepto de una API.

Las APIs son interfaces que permiten la comunicación entre dos aplicaciones de software siguiendo cierto conjunto de reglas.

La arquitectura más usada es REST y el formato de envió de datos más usado es JSON.

Todo desarrollador debe aprender a hacer APIs y saber consumir otras APIs.

Terminología

Ver esta publicación en Instagram

Desarrolladores 😎, ¿conocían estos términos de las APIs? 🔥 Este 17 y 18 de mayo EDteam llega a la capital de México junto a nuestro CTO Alexys Lozada quien nos enseñara como crear APIs REST con buenas prácticas. #Developer #programacion

Una publicación compartida de EDteam (@edteamlat) el 10 Abr, 2019 a las 6:04 PDT

Interfaz

Permite que tú puedas consumir los servicios del sistema sin saber "que hay tras banbalinas". Ejemplo claro es el formulario de Login, en el cuál solo te interesa ingresar mas no saber qué pasa por detrás.

Entonces una API (Application Programming Interface) es una interfaz (valga la redundancia), que permite que aplicaciones de software puedan intercambiar datos entre ellos.

Arquitectura de software

Es la metodología en que esta diseñado un sistema, como están organizados, como es la comunicación y que roles cumplen los componentes.

Servicio Web

Sistema que permite que equipos en una red se puedan comunicar siguiendo el protocolo HTTP (conjunto de reglas entre cliente-servidor para intercambiar información), esta es la base para que las APIs remotas permitan la comunicación entre aplicaciones de distintas locaciones.

REST (Representational State Transfer) es una Arquitectura de Software.

Las API REST involucran:

  1. Guardar los datos en cache.
  2. El estado no se envía en las peticiones.
  3. Define permisos para que otra aplicacion pueda acceder, revisar o manipular datos de tu aplicacion.

Formato de envió de Datos

XML (Extensible Markup Language), formato tradicional.

JSON (Javascript Object Notation), el más utilizado hoy en día por su fácil manejo.

Texto Plano

Token

Público: Cualquiera puede consumir los datos

Privado: Requiere de autentificación

En el caso de los privados, después de autenticarte se devuelve un token que contiene tus datos y que estos te permiten consumir la API, a no ser que no sea válido o ya expiró.

El formato mas común para los token es JWT (JSON Web Tokens).

Tipos de API

Locales: Cuando la aplicación se comunica con la API que se encuentran en el mismo ambiente o dispositivo.

Remotas: Cuando la aplicación necesita consumir una API en un punto diferente.

Las Apis remotas pueden utilizar servicios web:

Soap: Es un protocolo que ya dejo de ser usado

Rest: Es la arquitectura mas usada, los Restful se basan en este.

Desarrollar una API

Consultar recursos (URI- Uniform Resource Identifier**)** Cada consulta tiene un identificador único llamado URI, este se consulta por Endpoints que es la URL completa, y que permite consultar directamente un recurso.

Códigos de Estado: Cuando solicitamos información, el servidor responde con códigos con los que podemos saber el estado de nuestra petición.

Ver esta publicación en Instagram

🔥Cuándo solicitas información a una API REST el servidor responde la solicitud con un código. Hoy te enseñamos a entender los diferentes códigos de respuesta. #code #programacion #developer

Una publicación compartida de EDteam (@edteamlat) el 12 Abr, 2019 a las 5:46 PDT

2xx: Indican que la petición se ha procesado correctamente.

3xx: Indican redirecciones, se deberá realizar una acción adicional para completar la petición.

**4xx:**Solicitud inválida, peticiones a recursos inexistentes o no autorizados.

5xx: Indican errores directos del servidor.

Métodos HTTP

Permiten interacción con la información de la API, es equivalente al CRUD de las bases de datos.

Ver esta publicación en Instagram

¿Qué tan importante es conocer los métodos HTTP? Mediante estos métodos le indicamos a la API la forma en que debe de tratar una petición. #code #programacion #developer

Una publicación compartida de EDteam (@edteamlat) el 15 Abr, 2019 a las 4:00 PDT

GET: Solicitar información

**POST:**Enviar nueva información, como por ejemplo el registro de una nueva cuenta.

PUT: Actualiza un recurso existente, como cambiar contraseña de una cuenta.

DELETE: Elimina un recurso.

Buenas Prácticas

HATEOAS:(Hypermedia as the Engine of Application State) La API se autodescribe, podemos ser capaces de descubrir sus recursos basándonos únicamente en las respuestas del servidor.

Seguridad: Si tu API es privada necesitas seguridad para evitar el acceso o la manipulación de tu información.

Testear: Asegurar que la API funcione correctamente y que cumpla la función para la que fue diseñada.

Documentar: Una documentación bien estructurada facilita el consumo de nuestra API.

Mira el video aquí:

Comentarios de los usuarios

Pregunta a ChatEDT