Crear nueva dirección
POST/addresses/
Propósito
Crea una nueva dirección y la asocia a la empresa del usuario autenticado (empresa o transportista).
Objetivo
Permitir que empresas y transportistas registren puntos de carga y descarga que luego podrán usar como origen o destino en sus eCMRs.
Casos de uso
- Registrar una nueva nave de almacenaje como dirección de recogida.
- Añadir una dirección de cliente frecuente para entregas.
- Configurar la dirección por defecto de facturación de la empresa.
Flujo de validación
flowchart TD
A[Recibir petición] --> B{¿Usuario autenticado?}
B -->|No| C[401 Unauthorized]
B -->|Sí| D{¿Tipo de cuenta válido?}
D -->|No| E[404 USER_TYPE_NOT_FOUND]
D -->|Sí| F{¿Se envía addressGoogleMaps?}
F -->|Sí| G[Parsear address_components y geometry]
F -->|No| H[Usar solo name y company_name]
G --> I[Crear documento Address]
H --> I
I --> J{¿isDefault = true?}
J -->|Sí| K[Actualizar address_default de la empresa]
J -->|No| L[No modificar address_default]
K --> M[200 OK - Dirección creada]
L --> M
Detalles técnicos
Si se envía addressGoogleMaps, el servidor extrae automáticamente:
calle (route), número (street_number), ciudad (locality),
código postal (postal_code), provincia (administrative_area_level_2),
país (country), coordenadas GeoJSON y placeId a partir de los
address_components y geometry de Google Places.
Campos obligatorios: name, company_name.
Campos opcionales: phone, addressGoogleMaps, isDefault.
Autenticación
Soporta JWT Bearer token y API Key.
Request
Responses
- 200
- 401
- 404
- 500
Dirección creada correctamente. Devuelve el documento persistido con los campos derivados de la geocodificación
Response Headers
Error de autenticación por token/JWT o estado de cuenta bloqueada
Response Headers
Recurso/contexto no encontrado durante autenticación o creación.
Response Headers
Error inesperado durante la creación de la dirección