📬 Guía Completa Postman 2026

Aprende a usar Postman con REST y SOAP desde cero - Sistema de Biblioteca

📥 1. Instalación y Configuración Inicial

Paso 1: Descargar Postman

1 Visitar el sitio oficial

Ve a https://www.postman.com/downloads/

🌐 [Captura: Página de descarga de Postman]

2 Descargar para Windows

Haz clic en el botón "Download for Windows (64-bit)"

💡 Tip: Postman también está disponible para macOS, Linux y como versión web.

3 Instalar Postman

Ejecuta el instalador descargado y sigue las instrucciones:

  • ✅ Acepta los términos de servicio
  • ✅ La instalación es automática (no requiere configuración)
  • ✅ Se abrirá automáticamente al finalizar

4 Crear cuenta o usar como invitado

Al abrir Postman por primera vez:

Opción A (Recomendada): Crear cuenta gratuita
→ Permite guardar tu trabajo en la nube
→ Sincroniza entre dispositivos

Opción B: "Skip and go to the app"
→ Uso local sin sincronización
→ Perfecto para aprendizaje rápido

📖 2. Conceptos Básicos de Postman

Interfaz de Postman

📱 [Captura: Interfaz principal de Postman]

Elementos principales:
1. Sidebar izquierda: Historial y Colecciones
2. Área central: Editor de peticiones
3. Panel inferior: Resultados de respuestas
Elemento Descripción Uso
Collections Grupos de peticiones organizadas Organizar pruebas del proyecto
Environment Variables reutilizables Cambiar entre dev/prod
Request Petición HTTP individual Probar endpoints
Tests Scripts de validación Automatizar verificaciones

Crear tu primera petición

1 Haz clic en "New" o presiona Ctrl+N

2 Selecciona "HTTP Request"

3 Verás la barra de URL

🌐 3. Probando API REST del Sistema de Biblioteca

⚠️ IMPORTANTE: Antes de comenzar, asegúrate de que tu servidor Django esté corriendo:
python manage.py runserver
El servidor debe estar en: http://127.0.0.1:8000

GET Listar Todos los Libros

1 Crear nueva petición

Haz clic en "New" → "HTTP Request"

2 Configurar método y URL

💡 Tip: Asegúrate de incluir la barra final / en la URL

3 Presionar "Send"

Postman enviará la petición y mostrará la respuesta abajo.

4 Ver respuesta

En el panel inferior verás:

{ "count": 7, "next": null, "previous": null, "results": [ { "id": 1, "titulo": "Cien años de soledad", "isbn": "9780307474728", "autor_nombre": "Gabriel García Márquez", "stock_disponible": 3, "estado": "disponible" } ] }
✅ ¡Éxito! Status: 200 OK
Recibiste la lista de libros en formato JSON

5 Guardar la petición

Haz clic en "Save" (arriba a la derecha)

  • Request name: "Listar Libros"
  • Create Collection: "Biblioteca API REST"
  • Clic en "Save to Biblioteca API REST"

GET Buscar Libros con Filtros

1 Crear nueva petición GET

2 Agregar parámetros de búsqueda

En lugar de escribir ?search=garcía en la URL, usa la pestaña "Params":

KEY VALUE DESCRIPTION
search garcía Busca "garcía" en título, autor o ISBN
🎯 Postman construirá automáticamente:
http://127.0.0.1:8000/api/libros/?search=garcía

3 Probar diferentes filtros

Ejemplo A: Buscar por categoría

KEY VALUE
categoria 1

Ejemplo B: Combinar filtros

KEY VALUE
search amor
estado disponible
💡 Tip: Puedes activar/desactivar parámetros usando el checkbox ✓

4 Guardar como "Buscar Libros"

GET Obtener Libro Específico por ID

1 URL con ID en la ruta

Nota: El /1/ al final indica el ID del libro

2 Respuesta detallada

{ "id": 1, "titulo": "Cien años de soledad", "isbn": "9780307474728", "descripcion": "La obra cumbre del realismo mágico...", "fecha_publicacion": "1967-05-30", "autor": 1, "autor_nombre": "Gabriel García Márquez", "editorial": 1, "categoria": 1, "stock_disponible": 3, "stock_total": 5, "estado": "disponible" }

3 Probar con otros IDs

Cambia el número en la URL: /2/, /3/, /4/

Error común: Si usas un ID que no existe (ej: /999/), recibirás:
404 Not Found - {"detail": "No encontrado."}

POST Crear Nuevo Préstamo

⚠️ Requiere Autenticación
Esta operación requiere credenciales de administrador:
Usuario: admin
Contraseña: admin123

1 Crear petición POST

2 Configurar autenticación

Ve a la pestaña "Authorization"

  • 1. Type: Selecciona "Basic Auth"
  • 2. Username: admin
  • 3. Password: admin123
📸 [Captura: Pestaña Authorization con Basic Auth]

3 Configurar el Body (datos a enviar)

Ve a la pestaña "Body"

  • 1. Selecciona "raw"
  • 2. Cambia el dropdown a "JSON"
  • 3. Escribe el JSON:
{ "libro": 3, "usuario": 2, "fecha_devolucion_esperada": "2026-02-25", "notas": "Préstamo de prueba desde Postman" }
Explicación de los campos:
libro: ID del libro a prestar (número)
usuario: ID del usuario que solicita (número)
fecha_devolucion_esperada: Fecha de devolución (formato: YYYY-MM-DD)
notas: Comentarios opcionales (texto)

4 Enviar la petición

Haz clic en "Send"

✅ Respuesta exitosa (201 Created):
{
  "id": 15,
  "libro": 3,
  "libro_titulo": "Don Quijote de la Mancha",
  "usuario": 2,
  "usuario_nombre": "María López",
  "fecha_prestamo": "2026-02-01",
  "fecha_devolucion_esperada": "2026-02-25",
  "estado": "activo",
  "notas": "Préstamo de prueba desde Postman"
}
💡 Efectos automáticos:
✅ El stock_disponible del libro se redujo en 1
✅ Se creó el registro del préstamo
✅ Si el stock llegó a 0, el estado del libro cambió a "prestado"

5 Verificar el cambio

Crea otra petición GET para verificar:

Observa que stock_disponible se redujo en 1

GET Listar Autores

1 Configurar petición

2 Respuesta con biografías

{ "results": [ { "id": 1, "nombre": "Gabriel", "apellido": "García Márquez", "fecha_nacimiento": "1927-03-06", "nacionalidad": "Colombiano", "biografia": "Premio Nobel de Literatura 1982...", "total_libros": 2 } ] }

GET Consultar Préstamos

1 Listar todos los préstamos

2 Filtrar por estado

Usa la pestaña "Params" para filtrar:

Préstamos activos:

KEY VALUE
estado activo

Préstamos vencidos:

KEY VALUE
estado vencido

Préstamos de un usuario específico:

KEY VALUE
usuario 2

🧼 4. Probando Servicios SOAP en Postman

¿Qué es SOAP?

SOAP (Simple Object Access Protocol) es un protocolo que usa XML para intercambiar información entre sistemas.

Diferencias con REST:
• REST usa JSON, SOAP usa XML
• REST usa URLs simples, SOAP usa WSDL
• SOAP es más formal y estructurado

Método 1: Importar WSDL (Más Fácil)

1 Acceder a Import

En Postman, haz clic en "Import" (esquina superior izquierda)

2 Seleccionar "Link"

Pega la URL del WSDL:

http://127.0.0.1:8000/soap/?wsdl

3 Importar

Haz clic en "Continue" y luego "Import"

✅ Postman creará automáticamente:
• Una colección llamada "Biblioteca SOAP"
• Peticiones para cada operación SOAP
• Templates XML pre-configurados

4 Usar las peticiones generadas

En la sidebar, verás la nueva colección con las operaciones:

  • 📄 obtener_libro
  • 📄 listar_libros
  • 📄 crear_prestamo

Método 2: Crear Petición SOAP Manualmente

1 Crear nueva petición POST

2 Configurar Headers

Ve a la pestaña "Headers" y agrega:

KEY VALUE
Content-Type text/xml; charset=utf-8

3 Configurar Body XML

Ve a "Body" → Selecciona "raw" → Cambia a "XML"

Ejemplo A: Obtener Libro por ID

1 Cuerpo XML de la petición

Pega este XML en el Body:

<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://127.0.0.1:8000/soap/"> <soap:Body> <tns:obtener_libro> <tns:libro_id>1</tns:libro_id> </tns:obtener_libro> </soap:Body> </soap:Envelope>
📝 Explicación:
<soap:Envelope>: Envoltura SOAP obligatoria
<soap:Body>: Cuerpo del mensaje
<tns:obtener_libro>: Operación que queremos llamar
<tns:libro_id>1</tns:libro_id>: Parámetro (ID del libro)

2 Enviar petición

Haz clic en "Send"

3 Respuesta XML

<soap:Envelope> <soap:Body> <obtener_libroResponse> <libro> <id>1</id> <titulo>Cien años de soledad</titulo> <isbn>9780307474728</isbn> <autor>Gabriel García Márquez</autor> <editorial>Editorial Sudamericana</editorial> <categoria>Ficción</categoria> <stock_disponible>3</stock_disponible> <estado>disponible</estado> </libro> </obtener_libroResponse> </soap:Body> </soap:Envelope>
✅ Éxito! Status: 200 OK
Recibiste los datos del libro en formato XML

4 Probar con otros IDs

Cambia el valor de <tns:libro_id> a 2, 3, 4, etc.

Ejemplo B: Listar Todos los Libros

1 XML de la petición

<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://127.0.0.1:8000/soap/"> <soap:Body> <tns:listar_libros /> </soap:Body> </soap:Envelope>
💡 Nota: Esta operación no requiere parámetros, por eso usamos <tns:listar_libros />

2 Respuesta

<soap:Envelope> <soap:Body> <listar_librosResponse> <libros> <libro> <id>1</id> <titulo>Cien años de soledad</titulo> <autor>Gabriel García Márquez</autor> </libro> <libro> <id>2</id> <titulo>El amor en los tiempos del cólera</titulo> <autor>Gabriel García Márquez</autor> </libro> <!-- Más libros... --> </libros> </listar_librosResponse> </soap:Body> </soap:Envelope>

Ejemplo C: Crear Préstamo

1 XML de la petición

<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://127.0.0.1:8000/soap/"> <soap:Body> <tns:crear_prestamo> <tns:libro_id>3</tns:libro_id> <tns:usuario_id>2</tns:usuario_id> <tns:dias>14</tns:dias> </tns:crear_prestamo> </soap:Body> </soap:Envelope>
Parámetros:
libro_id: ID del libro a prestar
usuario_id: ID del usuario
dias: Días de duración del préstamo (14 = 2 semanas)

2 Respuesta exitosa

<soap:Envelope> <soap:Body> <crear_prestamoResponse> <prestamo_id>15</prestamo_id> <mensaje>Préstamo creado exitosamente</mensaje> <fecha_devolucion>2026-02-15</fecha_devolucion> </crear_prestamoResponse> </soap:Body> </soap:Envelope>
✅ Préstamo creado!
• ID del préstamo: 15
• Fecha de devolución calculada: 2026-02-15
• Stock del libro reducido automáticamente

📁 5. Organizar con Colecciones

¿Qué son las Colecciones?

Las colecciones son carpetas que agrupan peticiones relacionadas. Permiten:
✅ Organizar peticiones por proyecto
✅ Compartir con tu equipo
✅ Ejecutar múltiples peticiones secuencialmente
✅ Exportar/importar configuraciones

Crear tu Colección de Biblioteca

1 Crear nueva colección

En la sidebar izquierda, haz clic en "Collections""+"

Nombre: "Biblioteca - Sistema Completo"

2 Crear carpetas

Dentro de la colección, crea estas carpetas:

  • 📂 REST API
    • 📂 Libros
    • 📂 Autores
    • 📂 Préstamos
    • 📂 Categorías
  • 📂 SOAP Service
    • 📂 Consultas
    • 📂 Operaciones

3 Mover peticiones a las carpetas

Arrastra cada petición guardada a su carpeta correspondiente

4 Agregar descripción

Haz clic en la colección → Pestaña "Documentation"

# Sistema de Biblioteca - API Completa ## Descripción API REST y SOAP para gestión de biblioteca universitaria. ## URLs Base - REST: http://127.0.0.1:8000/api/ - SOAP: http://127.0.0.1:8000/soap/ ## Autenticación Usuario: admin Password: admin123

Variables de Entorno

1 Crear Environment

Haz clic en "Environments""+"

Nombre: "Biblioteca - Local"

2 Agregar variables

VARIABLE INITIAL VALUE CURRENT VALUE
base_url http://127.0.0.1:8000 http://127.0.0.1:8000
rest_api {{base_url}}/api http://127.0.0.1:8000/api
soap_api {{base_url}}/soap http://127.0.0.1:8000/soap
admin_user admin admin
admin_pass admin123 admin123

3 Usar las variables

En tus peticiones, reemplaza las URLs por variables:

// Antes: http://127.0.0.1:8000/api/libros/ // Después: {{rest_api}}/libros/
💡 Ventaja: Si cambias de servidor (producción/desarrollo), solo cambias la variable base_url

4 Activar el Environment

En la esquina superior derecha, selecciona "Biblioteca - Local" en el dropdown

💡 6. Tips y Trucos Avanzados

1. Atajos de Teclado

Atajo Acción
Ctrl + N Nueva petición
Ctrl + S Guardar petición
Ctrl + Enter Enviar petición
Ctrl + K Búsqueda rápida
Ctrl + F Buscar en respuesta

2. Visualizar Respuestas

Tabs de respuesta disponibles:

  • Pretty: JSON formateado con colores
  • Raw: Texto plano sin formato
  • Preview: Vista HTML renderizada
  • Visualize: Gráficos personalizados

3. Tests Automáticos

Agregar test en una petición

Ve a la pestaña "Tests" y agrega:

// Verificar que el status es 200 pm.test("Status es 200", function() { pm.response.to.have.status(200); }); // Verificar que hay libros en la respuesta pm.test("La respuesta contiene libros", function() { var jsonData = pm.response.json(); pm.expect(jsonData.results.length).to.be.above(0); }); // Verificar tiempo de respuesta pm.test("Tiempo de respuesta menor a 500ms", function() { pm.expect(pm.response.responseTime).to.be.below(500); });

4. Copiar como cURL

Exportar petición a línea de comandos

Haz clic en el botón "Code" () → Selecciona "cURL"

curl --location 'http://127.0.0.1:8000/api/libros/' \ --header 'Content-Type: application/json'
💡 Uso: Puedes pegar este comando en Terminal/CMD para ejecutar la misma petición

5. Compartir Colecciones

Exportar para compartir con compañeros

  • 1. Haz clic derecho en tu colección
  • 2. Selecciona "Export"
  • 3. Elige "Collection v2.1"
  • 4. Guarda el archivo JSON
  • 5. Compártelo por email/Discord/WhatsApp
💡 Importar: Otros pueden usar "Import" y cargar tu archivo JSON

6. Probar Respuestas de Error

Casos que debes probar:

Caso Cómo probarlo Respuesta esperada
Libro inexistente GET /api/libros/9999/ 404 Not Found
JSON malformado POST con JSON inválido 400 Bad Request
Sin autenticación POST sin credenciales 401 Unauthorized
Campo requerido faltante POST sin campo obligatorio 400 Bad Request

7. Documentación en Postman

Agregar descripción a cada petición

En cada petición, escribe en "Description":

## Descripción Esta petición obtiene todos los libros disponibles. ## Parámetros opcionales - `search`: Buscar por título/autor - `categoria`: Filtrar por ID de categoría - `estado`: disponible, prestado, mantenimiento ## Ejemplo ``` GET /api/libros/?search=garcía&estado=disponible ```

📚 Resumen de Endpoints

REST - Endpoints Principales

Método Endpoint Descripción
GET /api/libros/ Listar todos los libros
GET /api/libros/{id}/ Obtener libro específico
GET /api/libros/?search=texto Buscar libros
GET /api/autores/ Listar autores
GET /api/prestamos/ Listar préstamos
POST /api/prestamos/ Crear préstamo (requiere auth)
GET /api/categorias/ Listar categorías
GET /api/editoriales/ Listar editoriales

SOAP - Operaciones Disponibles

Operación Parámetros Retorna
obtener_libro libro_id (integer) Datos completos del libro
listar_libros (ninguno) Array de todos los libros
crear_prestamo libro_id, usuario_id, dias ID del préstamo creado

✅ Checklist de Práctica

Completa estos ejercicios para dominar Postman:

REST API

  • ☐ Listar todos los libros
  • ☐ Buscar libros por autor
  • ☐ Obtener un libro específico (ID 1, 2, 3)
  • ☐ Listar libros de categoría Ficción
  • ☐ Listar todos los autores
  • ☐ Crear un préstamo con autenticación
  • ☐ Listar préstamos activos
  • ☐ Listar préstamos vencidos
  • ☐ Verificar que el stock se redujo después del préstamo

SOAP Service

  • ☐ Ver el WSDL en el navegador
  • ☐ Importar WSDL a Postman
  • ☐ Obtener libro por ID con SOAP
  • ☐ Listar todos los libros con SOAP
  • ☐ Crear un préstamo con SOAP
  • ☐ Comparar respuestas REST vs SOAP

Organización

  • ☐ Crear colección "Biblioteca"
  • ☐ Organizar peticiones en carpetas
  • ☐ Crear variables de entorno
  • ☐ Agregar tests a 3 peticiones
  • ☐ Exportar tu colección

🎉 ¡Felicidades!

Ahora sabes usar Postman para probar APIs REST y SOAP.
Practica con diferentes endpoints y explora las funciones avanzadas.

Recuerda: La práctica hace al maestro 💪

📖 Volver a la Guía Principal 🌐 Ejemplos REST 🧼 Ejemplos SOAP