Direcciones - bootcamp-uchile-2026/grupo-4-backend GitHub Wiki
Direcciones
Servicio encargado de gestionar las direcciones utilizadas por los usuarios y proveedores del ecommerce.
El servicio permite consultar, crear, actualizar y eliminar direcciones.
Endpoints
- GET /direcciones - Obtener lista de direcciones
- GET /direcciones/{id} - Obtener dirección por ID
- POST /direcciones - Crear dirección
- PATCH /direcciones/{id} - Actualizar dirección
- DELETE /direcciones/{id} - Eliminar dirección
Modelo
Direccion
Representa una dirección utilizada dentro del sistema.
| Campo | Tipo | Descripción |
|---|---|---|
| id | number | Identificador único de la dirección |
| calle | string | Nombre de la calle |
| numero | string | Número de la dirección |
| comuna | string | Comuna de la dirección |
| ciudad | string | Ciudad de la dirección |
| region | string | Región de la dirección |
DTOs
CreateDireccionDto
DTO utilizado para crear una nueva dirección.
Campos
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| calle | string | Sí | Nombre de la calle |
| numero | string | Sí | Número de la dirección |
| comuna | string | Sí | Comuna de la dirección |
| ciudad | string | Sí | Ciudad de la dirección |
| region | string | Sí | Región de la dirección |
Ejemplo de Request Body
{
"calle": "Av. Providencia",
"numero": "1234",
"comuna": "Providencia",
"ciudad": "Santiago",
"region": "Región Metropolitana"
}
UpdateDireccionDto
DTO utilizado para actualizar parcialmente una dirección existente.
Hereda los campos de CreateDireccionDto, pero todos son opcionales.
Ejemplo de Request Body
{
"calle": "Av. Providencia",
"numero": "1500"
}
DireccionResponseDto
DTO utilizado para representar una dirección en las respuestas de la API.
{
"id": 1,
"calle": "Av. Providencia",
"numero": "1234",
"comuna": "Providencia",
"ciudad": "Santiago",
"region": "Región Metropolitana"
}
Endpoints detallados
GET /direcciones
Obtiene una lista de todas las direcciones disponibles.
Response — 200 OK
[
{
"id": 1,
"calle": "Av. Providencia",
"numero": "1234",
"comuna": "Providencia",
"ciudad": "Santiago",
"region": "Región Metropolitana"
},
{
"id": 2,
"calle": "Av. Las Condes",
"numero": "5678",
"comuna": "Las Condes",
"ciudad": "Santiago",
"region": "Región Metropolitana"
}
]
GET /direcciones/{id}
Obtiene una dirección específica mediante su identificador.
Path Parameters
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| id | number | Sí | Identificador único de la dirección |
Ejemplo de solicitud
GET /direcciones/1
Response — 200 OK
{
"id": 1,
"calle": "Av. Providencia",
"numero": "1234",
"comuna": "Providencia",
"ciudad": "Santiago",
"region": "Región Metropolitana"
}
Response — 400 Bad Request
El ID proporcionado no es válido.
{
"statusCode": 400,
"message": "El ID de la dirección no es válido."
}
Response — 404 Not Found
La dirección no existe.
{
"statusCode": 404,
"message": "Dirección no encontrada."
}
POST /direcciones
Crea una nueva dirección.
Request Body
Utiliza CreateDireccionDto.
{
"calle": "Av. Providencia",
"numero": "1234",
"comuna": "Providencia",
"ciudad": "Santiago",
"region": "Región Metropolitana"
}
Response — 201 Created
{
"id": 1,
"calle": "Av. Providencia",
"numero": "1234",
"comuna": "Providencia",
"ciudad": "Santiago",
"region": "Región Metropolitana"
}
Response — 400 Bad Request
Los datos enviados no son válidos.
{
"statusCode": 400,
"message": "Los datos de la dirección no son válidos."
}
PATCH /direcciones/{id}
Actualiza parcialmente los datos de una dirección existente.
Path Parameters
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| id | number | Sí | Identificador único de la dirección |
Request Body
Utiliza UpdateDireccionDto. Todos los campos son opcionales.
{
"calle": "Av. Providencia",
"numero": "1500"
}
Response — 200 OK
{
"id": 1,
"calle": "Av. Providencia",
"numero": "1500",
"comuna": "Providencia",
"ciudad": "Santiago",
"region": "Región Metropolitana"
}
Response — 400 Bad Request
El ID o los datos enviados no son válidos.
{
"statusCode": 400,
"message": "El ID o los datos de la dirección no son válidos."
}
Response — 404 Not Found
La dirección no existe.
{
"statusCode": 404,
"message": "Dirección no encontrada."
}
DELETE /direcciones/{id}
Elimina una dirección mediante su identificador.
Path Parameters
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| id | number | Sí | Identificador único de la dirección |
Ejemplo de solicitud
DELETE /direcciones/1
Response — 204 No Content
La dirección fue eliminada correctamente.
No se retorna un cuerpo en la respuesta.
Response — 400 Bad Request
El ID proporcionado no es válido.
{
"statusCode": 400,
"message": "El ID de la dirección no es válido."
}
Response — 404 Not Found
La dirección no existe.
{
"statusCode": 404,
"message": "Dirección no encontrada."
}