Crear nueva dirección
POST/address/
Crea una nueva dirección asociada a la compañía del usuario autenticado. Este endpoint permite registrar ubicaciones físicas como almacenes, oficinas o puntos de carga/descarga.
Flujo de operación:
- Autenticación mediante JWT válido
- Validación de campos obligatorios y formatos
- Procesamiento de datos de Google Maps (geocodificación inversa)
- Si isDefault=true, desmarca cualquier dirección principal existente
- Persistencia en base de datos
- Retorno de la dirección creada con su ID
Validaciones importantes:
- Requiere token JWT válido con permisos de administrador/editor
- Campo 'name' obligatorio (3-100 caracteres)
- Datos de Google Maps deben incluir:
- formattedAddress: Dirección completa formateada
- geometry.location: Coordenadas {lat, lng}
- Si isDefault=true, desmarca cualquier dirección principal existente
Casos de uso típicos:
- Registrar nueva sede de la compañía
- Añadir almacén logístico
- Crear punto de recogida para envíos
Ejemplo de solicitud:
POST /company/address
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "Almacén Logístico",
"company_name": "CargoOffer SL",
"phone": "+34912345678",
"addressGoogleMaps": {
"formattedAddress": "Calle de la Logística, 123, 28045 Madrid, España",
"geometry": {
"location": {
"lat": 40.123456,
"lng": -3.987654
}
}
},
"isDefault": false
}
Ejemplo de respuesta exitosa:
{
"_id": "507f1f77bcf86cd799439011",
"name": "Almacén Logístico",
"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]
},
"isDefault": false,
"can_be_deleted": true
}
Errores comunes:
- 400 Bad Request: Datos faltantes o inválidos
- 401 Unauthorized: Token JWT inválido o faltante
- 403 Forbidden: Permisos insuficientes
- 404 Not Found: Compañía no encontrada
Request
Responses
- 200
- 400
- 401
- 404
Successful operation
Invalid request
Unauthorized
Not found