0% encontró este documento útil (0 votos)
13 vistas14 páginas

Taller API

El documento presenta una investigación sobre APIs, explicando su definición, importancia y principios de diseño, especialmente en el contexto de APIs RESTful. Se detalla la instalación de Node.js y Express, así como la creación de una API llamada 'SoundFlow' para gestión de música, incluyendo operaciones CRUD y ejemplos de rutas. Además, se mencionan tres APIs populares utilizadas diariamente, como Google Maps, Stripe y Twilio, destacando su relevancia en el desarrollo de aplicaciones modernas.

Cargado por

juancoe793
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas14 páginas

Taller API

El documento presenta una investigación sobre APIs, explicando su definición, importancia y principios de diseño, especialmente en el contexto de APIs RESTful. Se detalla la instalación de Node.js y Express, así como la creación de una API llamada 'SoundFlow' para gestión de música, incluyendo operaciones CRUD y ejemplos de rutas. Además, se mencionan tres APIs populares utilizadas diariamente, como Google Maps, Stripe y Twilio, destacando su relevancia en el desarrollo de aplicaciones modernas.

Cargado por

juancoe793
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

17-9-2025

Investigacion API

Juan esteban cordero Villegas


CURSO: LENGUAJE DE PROGRAMACION 3

DOC: YURY MONTOYA PEREZ


Contenido
1. ¿Qué es una API? ............................................................................................................................ 2
¿Por qué son importantes en la comunicación de aplicaciones? ................................................... 2
2. Describir los principios de una API RESTful y las convenciones comunes, como el uso de
métodos HTTP (GET, POST, PUT, DELETE).......................................................................................... 3
¿Qué es REST? ................................................................................................................................. 3
1. Métodos HTTP ......................................................................................................................... 5
3. Instalar [Link] y express. Adjuntar pantallazos del paso a paso. ............................................... 6
Paso a paso de la instalación de [Link] ..................................................................................... 6
Inicio del [Link] en vs code .............................................................................................................. 7
4. Definir el contexto para la API, por ejemplo, farmacia, supermercado, petshop. ...................... 7
5. Definir los requisitos teniendo en cuenta las rutas para cada operación CRUD. Por ejemplo,
para una lista de tareas ...................................................................................................................... 8
A. Gestión de Artistas ...................................................................................................................... 8
B. Gestión de Álbumes .................................................................................................................... 9
C. Gestión de canciones .................................................................................................................. 9
D. Gestión de Playlists (El corazón de la app) ............................................................................... 10
E. Búsqueda y Descubrimiento (Endpoints adicionales muy importantes) .................................. 10
6. Consulte 3 APIs que usted utilice a diario, ¿Cuáles son? ¿De qué se tratan? ¿Cuál es su
importancia? ..................................................................................................................................... 11
1. Google Maps Platform API ........................................................................................................ 11
2. Stripe API / PayPal API ............................................................................................................... 12
3. Twilio API (API de Comunicaciones) .......................................................................................... 12
1. Crear el modelo entidad relación de la base de datos a la cual se conectará la API. El modelo
entidad relación se debe crear en la notación de Barker. .............................................................. 13
1. ¿Qué es una API?
API son las siglas de Interfaz de Programación de Aplicaciones (Application Programming
Interface).
Piensa en ella como un mensajero o intermediario que permite que dos aplicaciones o
software diferentes se comuniquen entre sí, siguiendo un conjunto de reglas y protocolos
bien definidos.
Una analogía común es la de un mesero en un restaurante:
Tú (el cliente): Eres la aplicación que quiere algo (por ejemplo, pedir comida).
La cocina: Es otro sistema o aplicación que tiene lo que necesitas (prepara la comida).
El mesero (la API): Tú no vas a la cocina a pedir la comida directamente. Le das tu pedido
al mesero, quien sabe exactamente cómo comunicárselo a la cocina, en qué formato y qué
preguntas hacer. Luego, el mesero te trae la respuesta (tu comida) desde la cocina.
En términos técnicos, una API es un conjunto de definiciones, protocolos y herramientas
que permite que un software solicite servicios o datos de otro software. Estas solicitudes se
hacen a través de endpoints (URLs específicas) usando protocolos como HTTP, y los datos
normalmente se devuelven en formatos como JSON o XML.

¿Por qué son importantes en la comunicación de aplicaciones?


Las API son fundamentales en el desarrollo moderno de software por estas razones:
Desacoplamiento y Modularidad:
Permiten que diferentes aplicaciones, escritas en diferentes lenguajes de programación y
que se ejecutan en diferentes entornos, trabajen juntas sin necesidad de saber cómo están
construidas internamente la una de la otra. Solo necesitan conocer la interfaz (la API).
Eficiencia y Reutilización:
No reinventes la rueda. ¿Por qué construir un sistema de mapas desde cero si Google Maps
ya lo tiene? ¿Por qué crear un sistema de pagos si Stripe o PayPal lo solucionan? Las API te
permiten integrar funcionalidades complejas de terceros en tu aplicación de manera rápida
y confiable, ahorrando tiempo y recursos enormes.
Seguridad:
Actúan como una puerta de enlace controlada. La aplicación que proporciona los datos (el
servidor) no expone toda su base de datos o su código interno; solo expone los endpoints
específicos de la API. Esto permite controlar qué datos se comparten, quién puede acceder
a ellos (mediante claves API y autenticación) y qué acciones se pueden realizar.

Innovación y Ecosistemas:
Son el corazón de la economía digital. Permiten a las empresas crear plataformas y
ecosistemas alrededor de sus servicios. Por ejemplo:
Twitter y Facebook permiten que otras apps publiquen en sus redes.
Spotify se integra con aplicaciones de fitness y navegadores.
Bancos ofrecen APIs para que fintechs creen apps de gestión financiera.
Esto fomenta la innovación y crea valor para todos.
Escalabilidad:
Permiten crear arquitecturas modulares, como las de microservicios. En lugar de tener una
aplicación gigante y monolítica, puedes tener muchos servicios pequeños (un microservicio
de usuarios, otro de pedidos, otro de catálogo) que se comunican entre sí a través de APIs.
Esto hace que el sistema sea mucho más fácil de mantener, actualizar y escalar.

2. Describir los principios de una API RESTful y las convenciones comunes, como
el uso de métodos HTTP (GET, POST, PUT, DELETE).
¿Qué es REST?
REST (Representational State Transfer) es un estilo arquitectónico (no un protocolo ni un
estándar) para diseñar APIs. Se basa en un conjunto de principios y constraints
(restricciones) que, cuando se siguen, permiten crear sistemas confiables y de alto
desempeño.
Una API que sigue estos principios se denomina RESTful.
Los 6 Principios (Constraints) de REST
El creador de REST, Roy Fielding, definió seis constraints que un sistema debe cumplir
para ser considerado RESTful:
Arquitectura Cliente-Servidor:
Separa claramente las responsabilidades. El cliente (navegador, app móvil) se preocupa por
la interfaz de usuario y la experiencia. El servidor se preocupa por el procesamiento, el
almacenamiento de datos y la lógica de negocio. Esta separación permite que cada parte
evolucione de manera independiente.
Stateless (Sin Estado):
Cada solicitud del cliente al servidor debe contener toda la información necesaria para que
el servidor la entienda y la procese. El servidor no guarda ningún estado de la sesión del
cliente entre solicitudes. Esto hace que las APIs sean más simples, confiables y escalables,
ya que cualquier servidor puede atender cualquier solicitud sin necesidad de recordar la
anterior.

Cacheable (Capacidad de Almacenamiento en Caché):


Las respuestas del servidor deben definirse explícitamente como cacheables o no
cacheables. Esto permite que clientes y intermediarios (como proxies) almacenen
respuestas en caché, lo que mejora radicalmente el rendimiento y reduce la carga en el
servidor.
Interfaz Uniforme:
Es el principio más importante y visible de REST. Define una interfaz estandarizada entre
clientes y servidores. Tiene cuatro sub-principios:

Identificación de recursos: Cada recurso (un usuario, un producto, una orden) debe ser
identificable de forma única mediante una URI (Uniform Resource Identifier), por ejemplo,
/api/usuarios/123.
Manipulación de recursos mediante representaciones: El cliente interactúa con un recurso a
través de representaciones (como JSON o XML) que contienen los datos del recurso, no el
recurso en sí.
Mensajes auto descriptivos: Cada mensaje (solicitud o respuesta) debe contener suficiente
información para describir cómo procesarlo (ej., usando verbos HTTP y headers como
Content-Type).
HATEOAS (Hypermedia as the Engine of Application State): Idealmente, las
respuestas de la API deben incluir hipervínculos (URLs) a recursos relacionados o acciones
disponibles. Es como navegar por una web: una página te ofrece links para ir a otras. (Nota:
Este es el principio que menos se suele implementar en la práctica, aunque es clave a nivel
conceptual).
Sistema en Capas:
La arquitectura puede estar compuesta por múltiples capas (balanceadores de carga,
servidores de caché, gateways). El cliente no puede ver detrás del servidor con el que se
comunica directamente. Esto mejora la seguridad, la escalabilidad y permite una evolución
más flexible del sistema.
Código bajo demanda (Opcional):
El servidor puede extender temporalmente la funcionalidad del cliente enviándole código
ejecutable (como applets de Java o scripts JavaScript). Esta es la única constraint opcional
y rara vez se usa en las APIs modernas.
Convenciones Comunes: Métodos HTTP (Verbos) y URIs
La "interfaz uniforme" se implementa principalmente mediante el uso correcto de los
métodos HTTP y el diseño de URIs (URLs) significativas.
1. Métodos HTTP
Estos verbos definen la acción que se quiere realizar sobre un recurso.

Método Acción Descripción Ejemplo Idempotente Seguro


HTTP CRUD
GET READ Solicita una Obtener los si si
representación de un datos de un
recurso. No debe alterar usuario.
el estado del servidor.

POST CREATE Se utiliza para crear un Crear un no no


nuevo recurso. También nuevo
puede usarse para usuario.
operaciones complejas
que no encajan
en otros verbos.

PUT UPDATE Reemplaza por completo Actualizar si no


un recurso existente. Si el todos los
recurso no datos de un
existe, puede crearlo. usuario.

PATCH UPDATE Actualiza parcialmente Cambiar solo no no


un recurso. Solo se el email de un
envían los campos que se usuario.
desean modificar.

DELETE DELETE Elimina un recurso Borrar un si no


específico. usuario.
3. Instalar [Link] y express. Adjuntar pantallazos del paso a paso.

Instalación de [Link] en lenguajes de programación 3

Paso a paso de la instalación de [Link]


Inicio del [Link] en vs code

carpetas creadas de node,js y de express,js en lenguajes de programación 3

4. Definir el contexto para la API, por ejemplo, farmacia, supermercado,


petshop.

Definición del Contexto: "SoundFlow API"

Nombre de la API: SoundFlow API


Contexto: SoundFlow es una plataforma de streaming musical que permite a los usuarios
explorar un vasto catálogo de canciones, artistas y álbumes. Los usuarios pueden crear
playlists personalizadas, seguir a sus artistas favoritos y descubrir nueva música basada en
sus gustos.
Entidades Principales (Recursos):
Artistas: Los creadores de la música.
Álbumes: Una colección de canciones lanzadas por un artista.
Canciones: La unidad básica de música.
Playlists: Listas de reproducción creadas por los usuarios.
Usuarios: Los oyentes que utilizan la plataforma.

5. Definir los requisitos teniendo en cuenta las rutas para cada operación CRUD.
Por ejemplo, para una lista de tareas

 GET /tasks - Obtener todas las tareas.


 POST /tasks - Crear una nueva tarea.
 PUT /tasks/{id} - Actualizar una tarea existente.
 DELETE /tasks/{id} - Eliminar una tarea.

Requisitos y Rutas CRUD (Esquema RESTful)

Aquí definimos las operaciones para cada recurso. Usaremos los verbos HTTP
correctamente.

A. Gestión de Artistas
OPERACIÓN METODO HTTP RUTA DESCRIPCION
Leer todos get /artists Obtiene una lista
paginada de todos
los artistas.
crear post /artists Crea un nuevo
artista en el
catálogo.
(Solo admin)
Leer uno get /artists/{id} Obtiene los detalles
de un artista
específico.
Actualizar put /artists/{id} Actualiza toda la
información de un
artista.
Eliminar delete /artists/{id} Elimina un artista
del catálogo.
(Solo admin)
B. Gestión de Álbumes
OPERACIÓN METODO HTTP RUTA DESCRIPCION
Leer todos get /albums Obtiene todos los
álbumes. Puede
filtrarse
por artista.
crear post /albums Crea un nuevo
álbum y lo asocia a
un artista.
Leer uno get /albums/{id} Obtiene los detalles
de un álbum,
incluyendo su lista
de canciones.
Actualizar put /albums/{id} Actualiza la
información de un
álbum (ej:
nombre, año).
Eliminar delete /albums/{id} Eliminar álbum

C. Gestión de canciones
OPERACIÓN METODO HTTP RUTA DESCRIPCION
Leer todos get /songs Obtiene todas las
canciones. Filtros
por álbum,
artista, género.
crear post /songs Añade una nueva
canción a
un álbum.
Leer uno get /songs/{id} Obtiene los detalles
y metadatos de
una canción.
Actualizar put /songs/{id} Actualiza la info de
una canción (ej:
duración, título).
Eliminar delete /songs/{id} Eliminar una
canción

D. Gestión de Playlists (El corazón de la app)


OPERACIÓN METODO RUTA DESCRIPCION
HTTP
Leer todos get /songs Obtiene las
playlists públicas
o las del
usuario logueado.
crear post /songs Crea una nueva
playlist (vacía)
para el usuario.
Leer uno get /songs/{id} Obtiene los
detalles de una
playlist y todas
sus canciones.
Actualizar put /songs/{id} Cambia el
nombre,
descripción, etc.,
de la playlist.
Eliminar delete /songs/{id} Eliminar una
playlist
Añadir canción post /playlists/{id}/songs Añade una
canción a la
playlist.
Quitar canción Delete /playlists/{id}/songs/{songId} Remueve una
canción específica
de la playlist.

E. Búsqueda y Descubrimiento (Endpoints adicionales muy importantes)


OPERACIÓN METODO HTTP RUTA DESCRIPCION
Búsqueda GET /search Busca entre
artistas, álbumes y
canciones.
Canciones GET /charts/top-songs Obtiene un chart
populares de las canciones
más reproducidas.
Nuevos GET /charts/new- Obtiene una lista
lanzamientos raleases de los álbumes
añadidos
recientemente.

6. Consulte 3 APIs que usted utilice a diario, ¿Cuáles son? ¿De qué se tratan?
¿Cuál es su importancia?
1. Google Maps Platform API

¿De qué se trata?

Es un conjunto de APIs y SDKs que ofrecen servicios de mapas, geolocalización y rutas.


Incluye:

Maps JavaScript API: Para embeber mapas interactivos en una web.

Geocoding API: Para convertir una dirección en coordenadas (latitud/longitud) y


viceversa.

Directions API: Para calcular rutas y tiempos de viaje entre varios puntos usando
diferentes medios de transporte.

Places API: Para buscar lugares por nombre, tipo (ej: "restaurantes"), y obtener detalles
sobre ellos.

¿Cuál es su importancia?

Es casi imposible imaginar la web moderna sin estas capacidades. Su importancia radica en
que:

Define la experiencia de ubicación: Casi todas las aplicaciones de delivery (UberEats,


Rappi), transporte (Uber, Lyft), viajes (Airbnb, [Link]) y logística dependen
críticamente de estas APIs.

Contextualiza la información: Permite a negocios locales mostrarse en mapas, ayudar a


clientes a encontrar sus tiendas y ofrecer direcciones precisas. Es el puente fundamental
entre el mundo físico y el digital.

Proporciona datos críticos: El cálculo de rutas y tiempos de tráfico en tiempo real es un


servicio increíblemente complejo que Google ha empaquetado en una API simple de usar.
2. Stripe API / PayPal API

¿De qué se trata?

Estas APIs permiten integrar procesamiento de pagos en línea en sitios web y aplicaciones.
Manejan todo el flujo financiero complejo y sensible: aceptar tarjetas de crédito, débito,

transferencias bancarias, y gestionar suscripciones recurrentes, reembolsos y cumplimiento


fiscal (como IVA).

¿Cuál es su importancia?

Son la columna vertebral del comercio electrónico y la monetización en internet:

Abstracta la complejidad: Gestionar pagos de forma segura es enormemente complicado y


conlleva una gran responsabilidad (cumplimiento de PCI DSS). Estas APIs abstraen toda
esa complejidad, permitiendo a un desarrollador añadir un carrito de compras en horas, no
en meses.

Habilitan negocios en línea: Son la puerta de entrada para que startups, creadores de
contenido y pequeñas empresas puedan recibir dinero de sus clientes de forma global y
segura sin necesidad de ser un banco o una entidad financiera.

Generan confianza: Manejan la data sensible de las tarjetas de crédito de forma segura, sin
que pase por los servidores del negocio, lo que reduce enormemente el riesgo y la carga de
responsabilidad para los emprendedores.

3. Twilio API (API de Comunicaciones)

¿De qué se trata?

Twilio es una plataforma de comunicaciones como servicio (CPaaS) que ofrece una serie
de APIs para integrar funcionalidades de mensajería SMS, WhatsApp, voz y video
directamente en las aplicaciones. Permite enviar mensajes automatizados, hacer llamadas
telefónicas programáticas, verificar usuarios en dos pasos (2FA) y mucho más.

¿Cuál es su importancia?

Es la API que permite a las aplicaciones interactuar con nosotros en el mundo real a través
de canales familiares:

Conecta aplicaciones con personas: Permite que una app de delivery te notifique con un
SMS cuando el repartidor está en la puerta, que tu banco te envíe un código de verificación
por WhatsApp o que recibas una llamada automatizada recordándote una cita médica.
Confianza y seguridad: Es fundamental para los flujos de autenticación de dos factores
(2FA), que son críticos para la seguridad de las cuentas en línea.

Automatización de servicio al cliente: Muchas empresas la usan para notificaciones


proactivas, alertas y soporte, mejorando enormemente la experiencia del usuario sin
intervención humana directa.

1. Crear el modelo entidad relación de la base de datos a la cual se


conectará la API. El modelo entidad relación se debe crear en la
notación de Barker.

También podría gustarte