--Crear usuario--
POST
http://localhost:5000/api/auth/register
HEADERS:
nada.
BODY:
raw:JSON
{
"FirstName":"Lionel",
"LastName":"Messi",
"Email": "[email protected]",
"Password": "123456",
"RepeatPassword": "123456"
}
devuelve:
{
"message": "Usuario registrado correctamente"
}
--Obtención del token para la autenticación con keycloak--
POST
http://localhost:8080/realms/ds-2025-realm/protocol/openid-connect/token
BODY
x-www-from-urlencoded
key value
client_id grupo-10
client_secret 66ff9787-4fa5-46b3-b546-4ccbe604d233
grant_type password
username [email protected]
password 123456
HEADERS
key value
Content-Type application/x-www-form-urlencoded
"devuelve Access token"
--Agregar producto al carrito--
POST
http://localhost:5000/api/shopcart
HEADERS
key value
Authorization Bearer tu_token
Content-Type application/json
BODY
raw JSON
{
"productId": 1,
"quantity": 1
}
devuelve este mensaje:
{
"message": "Producto agregado al carrito",
"cartId": 1,
"total": 1500.00,
"itemsCount": 1
}
--Confirmar compra una vez realizada la reserva por parte de Stock--
POST
http://localhost:5000/api/shopcart/checkout
HEADERS
key value
Authorization Bearer tu_token
Content-Type application/json
BODY
raw JSON
{
"deliveryAddress": {
"street": "Junin 377",
"city": "Corrientes",
"state": "Corrientes",
"postalCode": "3400",
"country": "AR"
},
"transportType": "road"
}
devuelve este mensaje:
{
"reservaId": 3947,
"shippingId": 6346,
"shippingCost": 45.50,
"estimatedDelivery": "2025-11-23T15:13:48Z",
"message": "Pedido creado exitosamente",
"reservaStatus": "confirmado"
}
--Ver productos--
GET
http://localhost:5000/api/product
HEADERS
key value
Authorization Bearer tu_token
Content-Type application/json
BODY
none
devuelve:
[
{
"id": 1,
"nombre": "Laptop Gaming",
"descripcion": "Laptop para gaming de alta performance",
"precio": 1500.00,
"stockDisponible": 10,
"pesoKg": 2.5,
"dimensiones": {
"largoCm": 35.0,
"anchoCm": 25.0,
"altoCm": 2.5
},
"ubicacion": {
"street": "Av. Siempre Viva 123",
"city": "Resistencia",
"state": "Chaco",
"postalCode": "H3500ABC",
"country": "AR"
},
"categorias": [
{
"id": 1,
"nombre": "Electrónica",
"descripcion": "Productos electrónicos"
}
]
},
{
"id": 2,
"nombre": "Mouse Inalámbrico",
"descripcion": "Mouse ergonómico inalámbrico",
"precio": 45.50,
"stockDisponible": 25,
"pesoKg": 0.2,
"dimensiones": {
"largoCm": 12.0,
"anchoCm": 6.0,
"altoCm": 3.0
},
"ubicacion": {
"street": "Av. Vélez Sársfield 456",
"city": "Resistencia",
"state": "Chaco",
"postalCode": "H3500XYZ",
"country": "AR"
},
"categorias": [
{
"id": 1,
"nombre": "Electrónica",
"descripcion": "Productos electrónicos"
},
{
"id": 2,
"nombre": "Accesorios",
"descripcion": "Accesorios para computadora"
}
]
},
{
"id": 3,
"nombre": "Teclado Mecánico",
"descripcion": "Teclado mecánico RGB",
"precio": 120.00,
"stockDisponible": 15,
"pesoKg": 1.1,
"dimensiones": {
"largoCm": 44.0,
"anchoCm": 14.0,
"altoCm": 3.0
},
"ubicacion": {
"street": "Calle Falsa 123",
"city": "Resistencia",
"state": "Chaco",
"postalCode": "H3500DEF",
"country": "AR"
},
"categorias": [
{
"id": 1,
"nombre": "Electrónica",
"descripcion": "Productos electrónicos"
}
]
}
]
--Ver carrito--
GET
http://localhost:5000/api/shopcart
HEADERS
key value
Authorization Bearer tu_token
Content-Type application/json
BODY
none
devuelve:
{
"id": 1,
"total": 0,
"userId": 4,
"items": []
}