¿Qué es una colección Postman?
Una colección Postman es un grupo de requests organizados que podés ejecutar individualmente, en secuencia o desde CI con Newman. Es el formato más usado para compartir APIs internamente y para que un equipo de QA arme regresiones sin tocar código.
Variables y entornos
Usá variables como {{baseUrl}} y {{token}} en lugar de hardcodear.
Después definís un environment "dev" con baseUrl=https://api-dev... y otro
"prod" con la URL real. Cambiar entre ambos es un click. Variables que no querés versionar
(passwords) van como "Initial Value" vacío y "Current Value" en local.
Estructura del JSON
El JSON v2.1 tiene info, item (requests o folders),
variable y auth. Cada request define método, URL, headers y body.
Los folders agrupan por feature: /users, /orders, /auth.
Tests automáticos
En la pestaña Tests podés escribir JS:
pm.test("status 200", function() { pm.response.to.have.status(200); });.
Postman corre el script tras cada request. Combinado con Newman, eso te da un suite de
tests de integración ejecutable desde GitHub Actions.
Auth: bearer, basic, OAuth2
Configurá auth a nivel colección o por request. Para JWT, usá Bearer Token con la variable
{{token}}. Para OAuth2, Postman tiene un wizard que obtiene el token y lo
guarda en una variable. Para Basic, Postman codifica base64 automáticamente.
Pre-request scripts
Útiles para refrescar tokens, generar payloads dinámicos o setear timestamps. Por ejemplo,
en un request de POST, generar un body con un UUID nuevo cada vez:
pm.environment.set("orderId", crypto.randomUUID());.
Newman: la colección en CI
Newman es el runner de Postman para CLI. newman run my-collection.json -e dev.json
ejecuta la colección completa y reporta resultados. En GitHub Actions o GitLab CI, eso te
da smoke tests sobre staging tras cada deploy.
Documentar a partir de la colección
Postman genera documentación pública automáticamente desde la colección. Describí cada request en el campo Description y los ejemplos de respuesta como "Examples". El equipo externo accede a una URL con todos los endpoints y puede probarlos en línea.