Cómo probar APIs con Postman

Cómo probar APIs con Postman

En este artículo, cubriremos una poderosa plataforma dedicada a la creación y exploración de API: Postman. Utilizando solicitudes HTTP y HTTPS, que explicaremos un poco más a continuación, los usuarios pueden consumir API utilizando una serie de métodos, que se detallan a lo largo de este material.


HTTP y HTTPS

HTTP y HTTPS son protocolos diseñados para transferir datos entre computadoras y servidores a través de hipertexto. El HyperText Transfer Protocol (HTTP) no se considera seguro, ya que la información es vulnerable cuando se comparte en texto plano sin ningún cifrado. Para abordar este problema, surgió el HyperText Transfer Protocol Secure (HTTPS), el cual cuenta con una capa SSL/TLS para garantizar mayor seguridad en las transferencias.

El Secure Sockets Layer (SSL) permite la comunicación cifrada entre el dominio y el navegador, mientras que el Transport Layer Security (TLS) es la versión más actualizada y segura del SSL.

¿Qué es una API?

Una Application Programming Interface, es decir, una API, es un conjunto de herramientas y estándares que permite la creación de software y el intercambio de información entre sistemas de forma optimizada. Diferentes empresas y usuarios pueden conectarse a una API y consumir datos o utilizar sus soluciones sin necesidad de conocimientos sobre el backend de la aplicación, preocupándose únicamente de la integración.

Como ejemplo, podemos considerar la API de Google Maps, que tiene varios recursos sobre rutas y destinos. Las empresas que necesiten mostrar direcciones o mapas en sus sitios web pueden integrarse con la API y mostrar la información deseada a sus usuarios. Es necesario comentar que, generalmente, existen costos asociados al uso de estas soluciones. Sin embargo, para fines de prueba y aprendizaje, es posible explorar aplicaciones que tengan acceso libre o incluso crear una API simple para que sea posible probar una mayor cantidad de métodos.

Para este artículo, usaremos una API muy simple que creamos exclusivamente para este tutorial usando el lenguaje de programación Python. El objetivo es que podamos probar los métodos principales, que son: GET, POST, PUT, DELETE y PATH, semejante a PUT.

Postman

Postman es una plataforma dedicada a la creación y exploración de APIs. Según el sitio web oficial de la solución, "simplifica cada paso del ciclo de vida de la API y agiliza la colaboración para que puedas crear mejores API más rápido". Existe un espacio dedicado a enseñar sobre todos los usos de la herramienta llamado Postman Learning Center, que al que puedes ingresar aquí.

En este espacio se encuentran tutoriales para la instalación, envío de solicitudes, uso de colecciones, entre una serie de aplicaciones más. En nuestro tutorial, abordaremos algunos de estos temas.

Download e instalación

Para descargar e instalar la última versión de Postman, ve a esta página y descarga la plataforma para tu sistema operativo. Después de la descarga, instálalo en tu máquina haciendo clic en abrir el software y siguiendo los pasos descritos en la pantalla.

Workspace

Al abrir Postman, tendrás accesso a tu workspace, es decir, a tu espacio de trabajo en el que realizarás todos los siguientes pasos de este tutorial. En el menú de inicio, en esta pestaña, puedes crear varios espacios de trabajo para separar tus ambientes según sea necesario. Esta es una buena manera de trabajar cuando se trabaja con diferentes soluciones que involucran configuraciones específicas.


Configuración de URL

Antes de seleccionar el método a utilizar, del cual hablaremos a continuación, es necesario agregar la ruta a buscar al realizar las solicitudes, es decir, la endpoint a la que se accesará. En este campo abajo, añade tu URL:

Es necesario prestar atención a la estructura de la URL, que se divide en segmentos, como en el ejemplo siguiente.

Es importante prestar atención al hecho de que en algunas solicitudes será necesario indicar la ruta.

Parámetros

En este campo, puede agregar los parámetros necesarios a sus solicitudes.

Autorización

En este espacio, puede agregar información relacionada con la autenticación para el acceso a la API. En los siguientes temas, también hablaremos sobre los métodos de autenticación mediante certificados. Aquí puede seleccionar qué tipo de autenticación utilizará. Es posible insertar, por ejemplo, un API Key. Ciertas APIs exigen el uso de API Keys para liberar el acceso a datos y contenidos.

Headers

En este campo, ingresa la información que debe enviarse en el encabezado de tu solicitud.

Body

El campo body, ingresa la información que deseas enviar en el cuerpo de la solicitud. Estos datos se pueden enviar con formato. En nuestro tutorial, usaremos la selección raw, porque enviaremos los datos en formato json.

Pre-request Script

En esta configuración, agregas scripts que deben ser ejecutados antes de tu requisición.

Tests

En tests, se agregan scripts que serán ejecutados durante la solicitud.

Autenticación con certificado

Algunas API solicitan la configuración de certificados y claves para acceder a los datos. Este no es el caso de la solución que usaremos en este tutorial, pero puedes configurar esta información de acuerdo con las instrucciones a continuación.

Configurando un certificado

  • En la parte superior derecha, haz clic en el engranaje de configuración.
  • Ve a settings:



  • Selecciona certificates.

  • Importa tus certificados.

Métodos

Los métodos de solicitud indican las acciones a realizar, como consulta, inclusión, exclusión o cambio. Hay varios, pero en este tutorial exploraremos los cinco principales con más profundidad.

GET

El método GET Se utiliza cuando el objetivo es simplemente realizar una consulta sobre alguna información, ya sea completa o segmentada. Cuando realizamos un /products en nuestra API de prueba, se devuelven todos los valores:


Además, podemos buscar sólo un id, devolviendo los valores correspondientes a un solo producto, como se muestra en la imagen a continuación. En este ejemplo, buscamos el id 3.


POST

Con el método POST, es posible agregar un nuevo producto. Cuando queremos agregar un nuevo elemento, debemos ingresar la información en el Body de la requisición. Un detalle importante es que seleccionamos el formato raw, pues los datos son enviados en formato .json.


Al realizar un GET con id 6, enviado en la requisición, podemos notar que el nuevo producto se añadió a la lista.


PUT

También es posible cambiar un producto que ya ha sido enviado. Supongamos que registramos el producto “portarretrato” con nombre y precio incorrectos y necesitamos actualizarlo, cambiándolo a “portarretrato de graduación”, con un valor de 40 reales brasileños.

Alterando el método para PUT, insertamos la información de la misma forma como se hizo en el método anterior, reemplazándola con los datos correctos.

Ahora, al consultar con el método GET, podemos notar que la información fue actualizada.


PATH

El método PATH es muy parecido a PUT, pues ambos actualizan los registros. La principal diferencia está en la carga de datos a actualizar. PATH es el indicado para alteraciones parciales, mientras que PUT se usa más en actualizaciones totales de los datos.

Si fuera necesario alterar solamente el precio del “portarretrato de graduación”, podemos utilizar el método PATH, según la imagen abajo. Ten en cuenta que enviamos el id en la URL y el dato que queremos actualizar.

Al realizar una consulta con GET, podemos constatar que el valor fue actualizado conforme a lo esperado.


DELETE

El método DELETE permite eliminar datos completos de la base de datos. En este caso, informaremos al id 6 y eliminaremos todos los datos relacionados con el producto que ingresamos anteriormente.

Al buscar en la base de datos, nota que el producto id 6 ya no existe más.


Otros métodos existentes

Existen otros métodos que también pueden ser útiles en tus proyectos, pero que se utilizan menos de forma rutinaria, como por ejemplo:

  • HEAD: este método no devuelve el cuerpo de la respuesta, sólo el encabezado.
  • OPTIONS: Con este método, puede verificar información sobre el servidor y también los métodos permitidos por los endpoints.
  • TRACE: reenvía la última solicitud y regresa informando si hay cambios en los servidores en el camino.
  • CONNECT: conecta la API a algún proxy, que actúa a favor de la privacidad del usuario como intermediario entre el client y el servidor.


Creando collections

Una collection no es más que un conjunto de solicitudes preformateadas agrupadas. Puedes crear una colección de acceso para tu API reuniendo los métodos GET, POST, PUT y DELETE, por ejemplo, ya con la información de URL, head y body. Las collections aceleran la rutina, ya que el acceso es mucho más rápido al no tener que generarse la solicitud completa cada vez.

¿Cómo puedo probar esto?

La API creadoa para este tutorial funciona de manera muy simple y se puede acceder a ella en este repositorio. Sin embargo, también puedes probar principalmente el método GET utilizando otras API, como por ejemplo:

  • PokéAPI: una API RESTful que reúne una serie de Pokémon y sus características para que puedas consumir y crear tu propia pokédex.
  • OMDb API: una API RESTful para que obtengas información sobre películas, con contenido de texto e imagen.
  • NASA APIs: API de la NASA para que puedas consumir y mostrar imágenes increíbles y otros contenidos sobre el universo en tu sitio web.
  • Fixer: obtenga información sobre tipos de cambio y muéstrela en sus páginas.


En este tutorial, aprendiste cómo acceder a algunas de las funciones principales de Postman para realizar consultas, insertar, cambiar y eliminar información en API a través de solicitudes.

Esta plataforma tiene una serie de características más que te serán muy útiles en tu rutina, por lo que vale la pena tomarte el tiempo para aprender más y explorar.

¡Saludos!

💡
Las opiniones y comentarios emitidos en este artículo son propiedad única de su autor y no necesariamente representan el punto de vista de Listopro.

Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.