Saltar al contenido principal

Update address

PUT 

/company/address/

Actualiza los datos de una dirección existente identificada por el campo '_id' en el body de la solicitud.

Flujo de operación:

  1. Autenticación mediante JWT válido
  2. Validación del campo '_id' obligatorio en el body
  3. Verificación de que la dirección pertenece a la compañía del usuario
  4. Validación de campos y formatos
  5. Procesamiento de datos de Google Maps (geocodificación inversa)
  6. Si is_default=true, desmarca cualquier dirección principal existente
  7. Persistencia de cambios en base de datos
  8. Retorno de la dirección actualizada

Características importantes:

  • El ID de la dirección debe enviarse en el campo '_id' del body
  • Requiere token JWT válido con permisos de administrador/editor
  • Campo 'name' obligatorio (3-100 caracteres)
  • Datos de Google Maps deben incluir:
    • formatted_address: Dirección completa formateada
    • geometry.location: Coordenadas {lat, lng}
  • Si is_default=true, desmarca cualquier dirección principal existente

Ejemplo de solicitud:

PUT /company/address
Authorization: Bearer {token}
Content-Type: application/json

{
"_id": "507f1f77bcf86cd799439011",
"name": "Almacén Logístico Actualizado",
"company_name": "CargoOffer SL",
"phone": "+34912345678",
"address_google_maps": {
"formatted_address": "Calle de la Logística, 123, 28045 Madrid, España",
"geometry": {
"location": {
"lat": 40.123456,
"lng": -3.987654
}
}
},
"is_default": false
}

Ejemplo de respuesta exitosa:

{
"_id": "507f1f77bcf86cd799439011",
"name": "Almacén Logístico Actualizado",
"company_name": "CargoOffer SL",
"phone": "+34912345678",
"street": "Calle de la Logística, 123",
"city": "Madrid",
"zipcode": "28045",
"country": "ES",
"location": {
"type": "Point",
"coordinates": [-3.987654, 40.123456]
},
"is_default": false,
"can_be_deleted": true
}

Errores comunes:

  • 400 Bad Request: Datos faltantes o inválidos, especialmente '_id' faltante
  • 401 Unauthorized: Token JWT inválido o faltante
  • 403 Forbidden: Permisos insuficientes
  • 404 Not Found: Dirección no encontrada o no pertenece a la compañía

Request

Responses

Dirección actualizada correctamente

Response Headers