
8 min de lectura
Solía trabajar en el servicio al cliente en una empresa de tecnología donde las conexiones API que extraen los datos de usuario de otros programas eran parte integral del producto. Cuando explicaba a los clientes por qué no podíamos acceder a un elemento de datos particular, los desarrolladores a menudo recomendaban la respuesta: “No está disponible a través de la API”.
En ese momento, pensé que una API era como un puerto USB, y al conectarnos a ese puerto, tendríamos acceso a todo en otro programa. Resulta que estaba equivocado.
A lire également : ¿Cómo llevar bien unos jeans?
Leer también: Zapier vs IFTTT: la mejor herramienta para la automatización de tareas
Las API son menos como puertos USB o mangueras de incendios y más como una persona en un centro de asistencia en un país extranjero. Una API no te dará toda la información o el código de un programa (como una manguera de incendios), porque ¿qué te impediría replicar toda la base de código? En cambio, una API te proporciona datos que sus programadores han puesto a disposición de los usuarios externos. Aun así, debes conocer y hacer las preguntas adecuadas para hacer algo con esos datos.
A lire en complément : ¿Cómo limpiar bien tu coche?
¿Qué es una API?
API significa interfaz de programación de aplicaciones. La parte más importante de este nombre es “interfaz”, ya que una API básicamente habla a un programa por ti. Siempre debes conocer el idioma para comunicarte con el programa, pero sin API, no llegarás muy lejos.
Cuando los programadores deciden hacer que algunos de sus datos sean accesibles al público, “exponen los puntos finales”, lo que significa que publican parte del lenguaje que utilizaron para crear su programa. Otros programadores pueden luego extraer datos de la aplicación creando URL o utilizando clientes HTTP (programas especiales que crean las URL por ti) para solicitar datos de esos puntos finales.
Los puntos finales devuelven texto destinado a ser leído por computadoras, por lo que no tendrá sentido si no entiendes el código informático utilizado para escribirlo.
TL; DR: Una API permite que un programa solicite datos de otro.
¿Por qué usar una API?
Las computadoras facilitan muchas cosas, especialmente las tareas que implican la recopilación y clasificación de toneladas de datos. Supongamos que quieres saber cuántas veces un tercero ha enviado facturas a tu empresa. Es posible entrar en los registros de facturas de tu empresa, escanear la entrada de datos “de” e imprimir cada factura individualmente para tu auditoría.
Por otro lado, si todas las facturas se han cargado en una base de datos central, puedes escribir un programa simple que acceda a esa base de datos y encuentre todas las instancias del nombre del socio. Eso tomaría mucho menos tiempo y sería mucho más preciso.
Arquitectura de una API
Las API se componen de tres partes:
- Usuario: la persona que hace una solicitud
- Cliente: computadora que envía la solicitud al servidor
- Servidor: la computadora que responde a la solicitud
Alguien construirá el servidor primero, ya que adquiere y mantiene los datos. Una vez que este servidor esté en funcionamiento, los programadores publican documentación, incluidos los puntos finales donde se pueden encontrar datos específicos. Esta documentación indica a los programadores externos la estructura de los datos en el servidor. Un usuario externo puede entonces consultar (o buscar) los datos en el servidor, o crear un programa que ejecute búsquedas en la base de datos y transforme esa información en un formato diferente y utilizable.
Es muy confuso, así que tomemos un ejemplo real: una agenda.
En la época analógica, recibirías una copia del directorio telefónico de las Páginas Blancas, que enumeraba a todas las personas de tu ciudad por nombre y dirección, en orden alfabético. Si necesitabas la dirección de un amigo, podías buscarlo por apellido, encontrar la dirección y luego buscar su calle en los mapas incluidos en la parte posterior. Era una cantidad limitada de información, y tomaba mucho tiempo acceder a ella. Ahora, gracias a la magia de la tecnología, toda esa información se puede encontrar en una base de datos.
Construyamos una base de datos que contenga las páginas blancas para una ciudad ficticia llamada Happyville. La gente de HappyVille_WP decidió que al construir su base de datos, crearían algunas categorías de información con datos anidados debajo. Estos son nuestros puntos finales, y incluirán toda la información que la API publicará a un programa externo.
Aquí están los puntos finales listados en la documentación de HappyVille_WP:
- /nombres
- /first_name, /last_name
- /direcciones
- /street_address, /email_address/
- /teléfonos
- /home_phone, /mobile_phone
Obviamente, no toda la información que se puede recopilar sobre una persona. Incluso si HappyVille_WP recopilara información más privada sobre los residentes de Happyville (como fechas de nacimiento y números de seguro social), esos datos no estarían disponibles para los programadores externos sin conocer el idioma de esos puntos finales.
Estos puntos finales te indican el idioma que debes usar para solicitar información de la base de datos. Si quieres una lista de todas las personas de Happyville con el apellido Smith, puedes hacer una de las dos cosas siguientes:
- Hacer una solicitud de URL en un navegador para esa información. Esto utiliza tu navegador de Internet como cliente, y recibirás un documento de texto en lenguaje de codificación para clasificar. Esta URL podría verse así: http://api.happyville_wp.com/names?last_name=smith
- Usar un programa que solicite la información y la traduzca en una forma utilizable. Puedes codificar tu propio programa o usar un cliente HTTP listo para usar.
La primera opción es ideal para hacer consultas simples con solo unas pocas respuestas (todas las personas en Happyville con el apellido Xarlax, por ejemplo — estoy bastante seguro de que solo hay seis hogares con ese nombre en Happyville). La segunda opción requiere más fluidez en codificación, pero es ideal para programadores que quieren usar la base de datos de otro programa para mejorar sus propias aplicaciones.
Muchas empresas utilizan las API abiertas de grandes empresas como Google y Facebook para acceder a datos que de otro modo podrían no estar disponibles. En este caso, las API reducen significativamente las barreras de entrada para las pequeñas empresas que, de otro modo, tendrían que compilar sus propios datos.
Acciones que puedes realizar a través de una API
¡Guau! Ok, así que una API es la forma en que dos computadoras hablan entre sí. El servidor tiene los datos y define el idioma, mientras que el cliente utiliza ese idioma para solicitar información al servidor (para tu información, los servidores no envían datos sin que un cliente solicite datos, pero los desarrolladores han encontrado formas de eludir esto con webhooks). ¡Las API pueden hacer de todo!
No tan rápido. El lenguaje y la sintaxis de las API limitan severamente sus capacidades. Hay cuatro tipos de acciones que una API puede realizar:
- GET: solicita datos de un servidor — puede ser un estado o especificidades (como last_name)
- POST: envía las modificaciones del cliente al servidor; piensa en esto como agregar información al servidor, como hacer una nueva entrada
- PUT: revisa o agrega información existente
- DELETE: elimina la información existente
Cuando combinas los puntos finales con estas acciones, puedes buscar o actualizar toda la información disponible a través de una API. Tendrás que consultar la documentación de la API para saber cómo codificar estas acciones, ya que todas son diferentes.
Mientras hablamos de lenguaje y sintaxis, cubramos las formas en que puedes hacer una solicitud a un servidor:
HTTP: protocolo de transferencia de hipertexto. Así es como llegaste a nuestro sitio en primer lugar, escribiendo una URL en la barra de búsqueda de tu navegador. Es una forma realmente fácil de acceder a los datos, pero no te devolverá en un formato bonito si solicitas mucha información. Vamos a profundizar en un segundo.
Formatos de texto: XML, JSON. Estos son los principales lenguajes para acceder a los datos a través de una API. Cuando recibas tus datos, tendrás que navegar por el código XML o JSON para entender lo que el servidor te ha dado.
Comenzar a usar una API
La mayoría de los usos de la API que verás en tu vida profesional diaria mueven información de un programa a campos de formulario similares en otro programa. Esto es especialmente útil cuando intentas compartir información que de otro modo tendrías que ingresar repetidamente — por ejemplo, compartir prospectos entre tu plataforma de automatización de marketing y tu CRM.
Los usos y ejemplos que enumeraremos aquí son mucho más básicos y aprovechan mucho menos de lo que tu API estándar es capaz. Pero te darán una buena idea de los pasos del proceso de API.
- La mayoría de las API requieren una clave API. Una vez que encuentres una API con la que quieras jugar, consulta la documentación para conocer las condiciones de acceso. La mayoría de las API te pedirán que realices una verificación de identidad, como iniciar sesión con tu cuenta de Google. Obtendrás una cadena única de letras y números para usar al acceder a la API, en lugar de simplemente agregar tu correo electrónico y contraseña cada vez (lo cual no es muy seguro – para más información sobre permisos y verificaciones, lee esto).
- La forma más sencilla de comenzar a usar una API es encontrar un cliente HTTP en línea, como REST-Client, Postman o Paw. Estas herramientas listas para usar (y a menudo gratuitas) te ayudan a estructurar tus solicitudes de acceso a las API existentes con la clave API que has recibido. Siempre necesitarás conocer parte de la sintaxis de la documentación, pero se requieren muy pocos conocimientos de codificación.
- La mejor manera de extraer datos de una API es crear una URL a partir de la documentación existente de la API. Este video de YouTube explica cómo extraer los datos de ubicación de Google Maps a través de la API, y luego usar esas coordenadas para encontrar fotos cercanas en Instagram.
En general, una solicitud de API no se ve muy diferente de una URL normal del navegador, pero los datos devueltos estarán en una forma fácil de leer para las computadoras. Aquí está lo que sucedió cuando solicité información de la base de datos OpenWeather en mi navegador web:
Ejemplo de URL de la documentación — solicita el clima para una ciudad particular:
api.openweathermap.org/data/2.5/weather?q={nombre de la ciudad}
Escribe en tu navegador:
api.openweathermap.org/data/2.5/weather?q=Nashville, TN&APIID={numberslettersnumbersletters}
Conclusiones y lecturas complementarias
Una API es útil para extraer información específica de otro programa. Si sabes leer la documentación y escribir las solicitudes, puedes recuperar muchos buenos datos, pero puede ser abrumador analizar todo eso. Ahí es donde entran los desarrolladores. Pueden crear programas que muestran datos directamente en una aplicación o ventana de navegador en un formato fácilmente consumible.
Este artículo apenas rasca la superficie de la tecnología API. He investigado un poco en la web para aprender más sobre las API. Aquí están los artículos y videos que más me ayudaron:
- Uso de API: no es tan difícil como parece
- Cómo usar API con JavaScript
- API Web para no programadores
- Cursos de API de Zapier
- Conceptos y ejemplos de API REST
- ¿Qué son las API y por qué son importantes?
¿Quieres conectar tus programas, pero no tienes tiempo para crear un cliente? Hay muchas empresas que conectarán API existentes o construirán conexiones personalizadas para ti. Estas pueden variar desde aplicaciones simples activadas por datos como Zapier hasta integraciones de Business Intelligence a gran escala que extraen enormes cantidades de datos de múltiples fuentes para análisis. Saber cómo funciona una API es el primer paso para construir grandes integraciones.
Leer más en blog-introduction.fr