La autenticación es el proceso de verificar quién eres. La mayoría de las APIs requieren autenticación para proteger sus recursos. Postman soporta múltiples mecanismos de forma nativa:
Authorization
con el prefijo Basic
. Aunque es fácil de implementar, es poco seguro si no se usa sobre HTTPS.Authorization
con el prefijo Bearer
. Este token actúa como una credencial temporal.X-API-Key
) o como un parámetro de consulta (query parameter).Vamos a simular una petición a un endpoint que requiere autenticación básica usando el servicio de pruebas httpbin.org.
GET
a la URL https://httpbin.org/basic-auth/user/passwd
. En este caso, httpbin espera que el usuario sea "user" y la contraseña "passwd".user
en el campo Username y passwd
en Password.Authorization
. Puedes verlo si vas a la pestaña Headers. ¡No necesitas crearlo manually!200 OK
.{{username}}
y {{password}}
), como veremos más adelante.Este es el método estándar en APIs modernas que usan OAuth 2.0 o JWT.
POST
a un endpoint de login (ej: /api/login
) con tus credenciales, y la API te devuelve un token.GET
para acceder a un recurso protegido, por ejemplo: https://api.example.com/profile
. Nota: esta URL es un ejemplo, deberás reemplazarla por la de tu propia API.{{authToken}}
).Authorization
por ti, con el formato correcto: Bearer tu-token-aqui
.401 Unauthorized
, lo que indicaría que el token ha expirado.Usaremos el servicio de pruebas JSONPlaceholder para simular la creación de un nuevo post enviando datos en formato JSON.
POST
.https://jsonplaceholder.typicode.com/posts
.{
"title": "Mi primer post en Postman",
"body": "Este es el contenido de mi post.",
"userId": 1
}
id
asignado por el servidor.{
"title": "Mi primer post en Postman",
"body": "Este es el contenido de mi post.",
"userId": 1,
"id": 101
}
Cuando envías datos en el cuerpo de una petición, es crucial configurar bien los headers para que el servidor sepa cómo interpretarlos.
raw
y JSON
en la pestaña Body, Postman añade automáticamente el header Content-Type: application/json
. Este header es fundamental para que el servidor entienda que le estás enviando datos en formato JSON.Accept: application/json
. Con esto, le indicas al servidor que prefieres recibir la respuesta también en formato JSON.Además, puedes añadir tests para validar que la operación fue exitosa. Ve a la pestaña Scripts y añade código para verificar, por ejemplo, que el código de estado es 201 Created
y que el nombre en la respuesta coincide con el que enviaste.
pm.test("El post fue creado exitosamente", function () {
pm.response.to.have.status(201);
});
pm.test("El título del post en la respuesta es correcto", function () {
const responseData = pm.response.json();
pm.expect(responseData.title).to.eql("Mi primer post en Postman");
});
Nunca debes guardar credenciales (contraseñas, tokens, API keys) directamente en tus peticiones, especialmente si compartes la colección con tu equipo.
api_token
). En tus peticiones, usa la variable ({{api_token}}
) en lugar del valor real.entorno.ejemplo.json
) sin valores reales.