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."
}