Las API, abreviatura de Interfaces de programación de aplicaciones, son interfaces de software a software. Es decir, permiten que diferentes aplicaciones se comuniquen entre sí e intercambien información o funcionalidad. Esto permite a las empresas acceder a los datos, fragmentos de código, software o servicios de otra empresa para ampliar la funcionalidad de sus propios productos, todo mientras ahorra tiempo y dinero.
Ahora que comprende los beneficios, es posible que se pregunte cómo puede usar exactamente una API para solicitar y obtener datos de otra aplicación. Ahí es donde entran las llamadas a la API.
¿Qué es una llamada API?
Una llamada API es el proceso en el que una aplicación cliente envía una solicitud a una API y esa API recupera los datos solicitados del servidor o programa externo y los devuelve al cliente.
Supongamos que su aplicación utiliza las API de Facebook para extraer datos y funciones de la plataforma. En ese caso, cuando transmite una transmisión de video en vivo de Facebook, crea una publicación o crea un tablero personalizado para sus anuncios, en realidad está haciendo una llamada a la API.
Ahora que entendemos qué es una llamada API, analicemos el proceso para hacer una.
Cómo hacer llamadas a la API
- Encuentre el URI del servidor o programa externo.
- Agregue un verbo HTTP.
- Incluye un encabezado.
- Incluya una clave de API o un token de acceso.
- Espere la respuesta.
1. Busque el URI del servidor o programa externo.
Para realizar una llamada a la API, lo primero que debe saber es el Identificador uniforme de recursos (URI) del servidor o programa externo cuyos datos desea. Esto es básicamente el equivalente digital de una dirección de casa. Sin esto, no sabrá dónde enviar su solicitud.
El URI de la API de HubSpot, por ejemplo, es https://api.hubapi.com.
Es importante tener en cuenta que la mayoría de las API tienen puntos finales diferentes, cada uno con sus propias rutas finales. Por ejemplo, supongamos que desea transmitir tweets públicos en tiempo real. Entonces podrías usar Punto final de transmisión filtrada de Twitter. La ruta base, que es común a todos los puntos finales, es https://api.twitter.com. El extremo del flujo filtrado es /2/tweets/search/stream. Puede agregar eso al final de la ruta base o simplemente enumerar el punto final en su solicitud.
2. Agregue un verbo HTTP.
Una vez que tenga el URI, necesita saber cómo formular la solicitud.
Lo primero que debe incluir es un verbo de solicitud. Los cuatro verbos de solicitud más básicos son:
- OBTENER: Para recuperar un recurso
- CORREO: Para crear un nuevo recurso
- PONER: Para editar o actualizar un recurso existente
- ELIMINAR: Para eliminar un recurso
Por ejemplo, supongamos que utiliza la API de la estación de combustible alternativo de NREL y desea ver una lista de las estaciones de combustible alternativo más cercanas en Denver, Colorado. Luego, haría una solicitud GET que podría verse así:
GET
Esto le dice al servidor que busque en la base de datos para encontrar una lista de estaciones de combustible alternativas en Denver. Si esa lista existe, el servidor devolverá una copia de ese recurso en XML o JSON y un código de respuesta HTTP de 200 (OK). Si esa lista no lo hace, devolverá el código de respuesta HTTP 404 (no encontrado).
Aquí hay un vistazo a la salida en JSON:
Si no está familiarizado con JSON, puede parecer intimidante. Entonces puede usar Excel para hacer la llamada y obtener una lista simple de cinco estaciones alternativas.
3. Incluya un encabezado.
Lo siguiente que debe incluir es un encabezado, que le informa a la API sobre su solicitud y la respuesta que espera. Incluir un encabezado garantiza que la API comprenda lo que está preguntando y responda de una manera esperada y fácil de entender y usar. Tres encabezados comunes son agente de usuario, tipo de contenido y aceptación. Vamos a definir cada uno a continuación.
Agente de usuario
Este encabezado permite que los servidores identifiquen la aplicación, el sistema operativo, el proveedor y/o la versión del agente de usuario que realiza la solicitud.
Por ejemplo, supongamos que desea que su aplicación funcione con las API RESTful de New Relic. Entonces necesita un agente HTTP para administrar el intercambio de información entre su aplicación y New Relic y necesita identificar esa integración. En ese caso, enviaría el siguiente encabezado de agente de usuario en Java usando el verbo GET:
get.setHeader("User-Agent", "my-integration/1.2.3");
Tipo de contenido
Este encabezado explica qué tipo de información se encuentra en el cuerpo de la solicitud. Podría explicar que la solicitud fue formateada en XML, por ejemplo, o JSON. Sin este encabezado, la API podría recibir su solicitud y no entender qué es o cómo decodificarla. Como resultado, no obtendrá una respuesta.
Aceptar
Este encabezado explica en qué formato le gustaría recibir su respuesta de la API. Sin este encabezado, la API podría devolver los datos solicitados en XML cuando lo quisiera en JSON, o viceversa.
Es importante tener en cuenta que es posible que una API no pueda devolver datos en el formato que solicitó. Eso puede ser frustrante, pero aun así recibirás una respuesta. Por lo tanto, siempre debe incluir este encabezado en su llamada a la API en caso de que pueda obtener la respuesta exacta que desea.
4. Incluya una clave de API o un token de acceso.
Una clave de API y un token de acceso tienen el mismo propósito: son identificadores únicos que se utilizan para autenticar las llamadas a una API. Compuesto por una cadena de letras y números que identifican la aplicación del cliente que realiza la solicitud, una clave API o token de acceso se utiliza para otorgar o denegar solicitudes en función de los permisos de acceso del cliente y rastrear la cantidad de solicitudes realizadas con fines de uso y facturación. .
Para realizar una llamada API a la API Cloud Natural Language de Google, debe incluir una clave API como parámetro de consulta. Por ejemplo, supongamos que desea encontrar entidades con nombre (es decir, nombres propios y sustantivos comunes) en un cuerpo de texto. Luego, haría la siguiente solicitud de API, reemplazando API_KEY con su clave de API real:
POST
5. Espere una respuesta.
Ahora todo lo que queda por hacer es esperar una respuesta de la API. Puede esperar un código de estado que le permita saber que la solicitud se procesó correctamente o sin éxito. En este último caso, el código de estado explicará el problema para que puedas corregirlo e intentarlo de nuevo. Los códigos más comunes son los códigos 2XX («códigos de éxito») y los códigos 4XX («códigos de error»). Veamos brevemente algunos de los más comunes:
Códigos 2XX
Estos códigos transmiten que el servidor recibió la solicitud del cliente y la procesó con éxito. Estos son los ejemplos más comunes:
- 200 bien: La solicitud fue exitosa.
- 201 Creado: El recurso ha sido creado en el servidor. Esta respuesta generalmente se devuelve para solicitudes POST.
- 202 Aceptado: La solicitud ha sido recibida pero aún se está procesando.
- 204 Sin contenido: La solicitud se ha procesado correctamente pero no se devolverá ningún contenido.
Códigos 4XX
Estos códigos transmiten que la solicitud del cliente tiene un error. Es posible que la solicitud esté escrita incorrectamente o que el recurso que el cliente está solicitando no exista.
- 400 Petición Incorrecta: Hay algo mal en la solicitud del cliente.
- 401 no autorizado: El cliente no está autorizado para realizar esta solicitud.
- 403 Prohibido: La solicitud es correcta pero no se puede procesar. Probablemente, el problema es que el cliente no tiene los permisos requeridos.
- 404 No encontrado: El recurso solicitado no existe.
Probar llamadas a la API
Hay API para aparentemente todo hoy en día, desde incrustar fotos de Instagram en su sitio de comercio electrónico para proporcionando acceso a miles de hoteles en tu blog.
Con tantas API para elegir, es importante evaluarlas cuidadosamente en términos de funcionalidad, confiabilidad, rendimiento y seguridad para que sepa que satisfacen las necesidades de su aplicación y de los usuarios. Si es usted quien desarrolla, proporciona y mantiene una API, las pruebas son igualmente importantes. Las pruebas frecuentes garantizarán que la API sea funcional y cumpla con las expectativas del consumidor.
Ahora que entendemos la importancia de las pruebas de API, definamos qué es exactamente.
Cómo hacer pruebas de API
Las pruebas de API consisten en realizar llamadas de API a diferentes puntos finales, obtener respuestas y validar los códigos de estado, los tiempos de respuesta y los datos en esas respuestas.
Este tipo de prueba generalmente lo realiza una herramienta de software o un servicio web, como ReqBin. El proceso es relativamente similar, pero los pasos exactos variarán según la herramienta o el servicio que utilice. A continuación se muestran los pasos para probar una API usando ReqBin. Por el bien de esta demostración, probaremos una API abierta y gratuita.
1. Ingrese la URL del punto final de la API.
Supongamos que desea utilizar la API de búsqueda de artículos de The New York Times para buscar artículos con la palabra clave «perro». Entonces usarías la siguiente URL:
2. Seleccione el método HTTP adecuado.
Dado que desea recuperar los artículos con esta palabra clave, usaría el método GET.
Tenga en cuenta que si estuviera usando los métodos POST, PUT o PATCH, entonces ingresaría datos en la pestaña Contenido.
3. Ingrese sus credenciales en la pestaña Autorización.
Si el servidor API requiere autorización, debe ingresar sus credenciales en la pestaña Autorización. Veamos qué pasa si te saltas ese paso.
4. Haga clic en Enviar para enviar su solicitud de API.
Una vez que envíe su solicitud de API, podrá ver el código de estado de API devuelto, el tiempo de respuesta y el contenido.
Tenga en cuenta que, en este caso, ha recibido una respuesta 401 no autorizada. Eso es porque necesita una clave de API para usar esta API de NYT.
Una vez que haya obtenido una clave de API, puede continuar con las pruebas cambiando la URL del extremo de la API, el método HTTP y los datos de la solicitud.
Hacer la llamada
Ahora que comprende cómo probar una llamada a la API, puede comenzar a evaluar diferentes API y determinar cuál se adapta mejor a su aplicación y a sus usuarios. Luego, cuando esté listo para conectar su aplicación con el resto del mundo del software, puede hacer la llamada.
…