Postman para API Testing: Guía Completa 2026
Necesitas Postman. Funciona así: prueba, documenta y automatiza APIs desde una interfaz que no te da ganas de tirar el ordenador por la ventana.
Qué es Postman y Por Qué lo Necesitas
Definición de API Testing
API testing verifica que las APIs funcionen correctamente, devuelvan datos esperados y respondan en tiempos aceptables. Se centra en la lógica del backend y la integración entre sistemas.
Por qué Postman
Más de 25 millones de desarrolladores usan Postman cada mes. Funciona, tiene automatización completa, colaboración en tiempo real, documentación automática y se integra con Jira, Slack y GitHub. Punto.
Casos de uso
Instalación y Configuración Inicial
Pasos para instalar
Windows: Descarga desde [postman.com/downloads](https://www.postman.com/downloads), ejecuta el .exe y sigue el asistente.
Mac: Descarga el .dmg, arrastra a Aplicaciones y abre desde Launchpad.
Linux (Ubuntu/Debian):
`bash
wget https://dl.pstmn.io/download/latest/linux64
sudo dpkg -i postman-linux-x64-*.deb
sudo apt-get install -f
`
Linux (Fedora/RHEL):
`bash
wget https://dl.pstmn.io/download/latest/linux64
sudo rpm -i postman-linux-x64-*.rpm
`
Crear cuenta y workspace
Crea una cuenta gratuita con email o Google/GitHub. Te da sincronización en la nube, historial ilimitado, compartir colecciones y documentación. Selecciona «Personal» para empezar.
Interfaz principal
Sidebar izquierda: Collections, APIs, Environments, History.
Área central: Request Builder, Tabs múltiples, Response Viewer.
Panel derecho: Request Details, Examples, Tests.
Tu Primer Request en Postman
Crear un request GET
Usa la API de prueba JSONPlaceholder. Selecciona GET, URL: https://jsonplaceholder.typicode.com/posts/1, haz clic en Send.
Ver la respuesta
Las pestañas muestran: Body (JSON), Cookies, Headers, Test Results.
`json
{
«userId»: 1,
«id»: 1,
«title»: «sunt aut facere repellat provident occaecati excepturi optio reprehenderit»
}
`
Endpoints disponibles
| Endpoint | Método | Descripción |
|———-|——–|————-|
| /posts | GET | Obtiene todos los posts |
| /posts/1 | GET | Obtiene un post específico |
| /posts | POST | Crea nuevo post |
| /posts/1 | PUT/PATCH | Actualiza post |
| /posts/1 | DELETE | Elimina post |
Métodos HTTP Importantes
GET: Leer datos
Recupera información sin modificar datos. Datos en URL, cacheable.
`
GET https://jsonplaceholder.typicode.com/users
`
POST: Crear datos
Envía datos para crear recursos. No idempotente.
`json
{
«title»: «Mi post»,
«body»: «Contenido»,
«userId»: 1
}
`
PUT: Actualizar completamente
Reemplaza todo el recurso. Idempotente.
`json
{
«id»: 1,
«title»: «Actualizado completo»,
«body»: «Nuevo contenido»,
«userId»: 1
}
`
PATCH: Actualizar parcialmente
Solo campos modificados. Idempotente.
`json
{
«title»: «Solo actualizo título»
}
`
DELETE: Eliminar datos
Elimina recurso. Idempotente, devuelve 204.
Variables y Entornos en Postman
Qué son las variables
Marcadores de posición que se reemplazan en tiempo de ejecución. Permiten reutilizar valores, cambiar configuración sin editar requests y gestionar entornos (dev, staging, prod).
Crear entornos
Haz clic en Environments, + Create an environment, añade variables como base_url, user_id, api_token.
Usar variables
Envuelve en dobles llaves: {{nombre_variable}}
`
GET {{base_url}}/posts/{{user_id}}
`
En headers: Authorization: Bearer {{api_token}}
Variables dinámicas
| Variable | Descripción |
|———-|————-|
| {{$timestamp}} | Timestamp actual |
| {{$randomInt}} | Entero aleatorio |
| {{$guid}} | GUID único |
`json
{
«id»: «{{$guid}}»,
«username»: «{{$randomUserName}}»
}
`
Automatizar Tests con Postman
Tests básicos
Scripts JavaScript ejecutados después de recibir respuesta.
`javascript
pm.test(«Status code is 200», function () {
pm.response.to.have.status(200);
});
pm.test(«Response time is less than 500ms», function () {
pm.expect(pm.response.responseTime).to.be.below(500);
});
`
Validar contenido
`javascript
pm.test(«User has name», function () {
var jsonData = pm.response.json();
pm.expect(jsonData).to.have.property(«name»);
});
pm.test(«Email has valid format», function () {
var jsonData = pm.response.json();
pm.expect(jsonData.email).to.match(/^[^\s@]+@[^\s@]+\.[^\s@]+$/);
});
`
Variables de entorno en tests
`javascript
pm.test(«Save first post ID», function () {
var jsonData = pm.response.json();
pm.environment.set(«first_post_id», jsonData[0].id);
});
`
Colecciones y ejecución
Organiza requests en colecciones, haz clic derecho Run collection, configura iteraciones y ejecuta.
Pre-request Scripts
Se ejecutan ANTES del request.
`javascript
const token = «eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.»;
pm.environment.set(«jwt_token», token);
`
Colaboración en Equipo
Compartir colecciones
Haz clic en Share collection, genera enlace público o añade a workspace compartido. Permisos: View only, Edit, Admin.
Workspaces de equipo
Espacios compartidos con edición en tiempo real, historial, comentarios e integraciones. Personal (gratis), Team (hasta 3 miembros), Enterprise.
Control de versiones con Git
Exporta colección como JSON, usa Git para versionar.
`bash
git add postman_collection.json
git commit -m «Añadir colección»
git push
`
Postman CLI (Newman)
`bash
npm install -g newman
newman run mi-coleccion.json -e environment.json
`
Errores Comunes y Cómo Solucionarlos
404 Not Found
Recurso no existe. Verifica URL, ID y documentación. Usa Console para debug.
`javascript
pm.test(«Check if user ID is valid», function () {
var userId = pm.environment.get(«user_id»);
pm.expect(userId).to.not.be.undefined;
});
`
500 Internal Server Error
Error del servidor. Verifica body (JSON válido), headers obligatorios. Contacta backend si persiste.
`javascript
pm.test(«No server errors», function () {
pm.expect(pm.response.code).to.not.be.within(500, 599);
});
`
Timeouts
Request lento. Aumenta timeout en Settings, optimiza request (paginación, filtros).
`javascript
pm.test(«Response time is acceptable», function () {
pm.expect(pm.response.responseTime).to.be.below(5000);
});
`
Authentication errors
401 Unauthorized: token inválido. 403 Forbidden: sin permisos. Verifica token, refresca si expiró, configura tipo correcto en Authorization.
`javascript
pm.test(«Auth token is set», function () {
var token = pm.environment.get(«auth_token»);
pm.expect(token).to.not.be.undefined;
});
`
Recursos Adicionales y Próximos Pasos
Documentación oficial
Comunidades
Próximos pasos
1. Practica con APIs reales: REST Countries, The Movie DB, OpenWeatherMap
2. Mocking y servers: Simula respuestas, prototipa sin backend
3. CI/CD: Integra con Jenkins, GitHub Actions, GitLab CI
4. Funcionalidades avanzadas: Flows, Visualizer, API Gateway
FAQ
¿Postman es gratuito?
Sí, el plan gratuito incluye requests, colecciones, entornos, tests, historial ilimitado y mock servers limitados. El plan Pro añade workspaces de equipo, integraciones avanzadas y monitoreo 24/7.
¿Cuál es la diferencia entre PUT y PATCH?
PUT actualiza completamente el recurso (envía todos los campos). PATCH actualiza solo campos específicos. Usa PATCH para actualizaciones parciales, PUT para reemplazo completo.
¿Cómo pruebo APIs que requieren autenticación?
En Authorization, selecciona tipo: Bearer Token, API Key, Basic Auth u OAuth 2.0. Para tokens que expiran, usa pre-request scripts para refrescar automáticamente.
¿Puedo automatizar tests en CI/CD?
Sí, con Newman. Se integra con Jenkins, GitHub Actions, GitLab CI.
`yaml
name: Run Postman Tests
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
– uses: actions/checkout@v2
– name: Install Newman
run: npm install -g newman
– name: Run tests
run: newman run postman_collection.json
`
¿Cómo hago data-driven testing?
Crea CSV/JSON con datos, usa variables en request ({{userId}}), valida en Tests y ejecuta colección seleccionando archivo en Data.
`csv
userId,username,expectedName
1,Bret,Leanne Graham
2,Antonette,Ervin Howell
`
¿Postman reemplaza a curl?
curl es mejor para scripts y CI/CD. Postman es mejor para exploración, documentación, colaboración y visualización. Combina ambos: explora en Postman, automatiza con Newman/curl.
¿Cómo documento mis APIs?
Añade descripciones en Documentation y Examples en cada request. Haz clic en colección, View in web, genera documentación automática y comparte enlace.
Herramientas Recomendadas para Complementar Postman
Postman Pro (plan de pago)
Si trabajas en equipo o necesitas funcionalidades avanzadas, el plan Pro de Postman incluye workspaces ilimitados, integraciones profundas con Jira y Slack, monitoreo de APIs 24/7 y roles de usuario granulares. Cuando el plan gratuito se te queda corto, este es el siguiente paso.
*Si te registras a través de este enlace, puedo ganar una comisión. Solo recomiendo lo que usaría yo mismo.*
DigitalOcean (Droplets para APIs Backend)
Para probar tus APIs en un entorno real, necesitas un servidor. DigitalOcean ofrece droplets (VPS) asequibles y fáciles de configurar. Despliega tu backend, base de datos y APIs en minutos con su interfaz sencilla.
*Si te registras a través de este enlace, puedo ganar una comisión. Solo recomiendo lo que usaría yo mismo.*
GitHub (Colaboración y Control de Versiones)
Los workspaces de Postman se integran con GitHub para el control de versiones de tus colecciones. Mantén tus requests, entornos y tests bajo control de versiones y colabora con tu equipo como si fuera código.
*Si te registras a través de este enlace, puedo ganar una comisión. Solo recomiendo lo que usaría yo mismo.*
Conclusión
Postman es la plataforma para trabajar con APIs en 2026. Desde tu primer request GET hasta suites de tests automatizados en CI/CD, tiene todo lo que necesitas para desarrollar, probar y documentar APIs.
Practica con APIs públicas, crea colecciones de tests y experimenta.
Tu siguiente paso: Abre Postman, crea una cuenta y haz tu primer request.
—
*Este artículo forma parte de la serie de guías de Cursemon sobre desarrollo web y APIs.*