Create a new vehicle in the fleet
POST/company/vehicles/
Registra un nuovo veicolo nella flotta aziendale con metadati associati e caricamenti di file opzionali.
Obiettivo
Consentire alle aziende di aggiungere veicoli alla propria flotta con specifiche dettagliate, inclusi tipi di carico, capacità di spedizione e documentazione (immagini e certificati ITV).
Casi d'Uso
- Registrare un veicolo appena acquisito con tutte le specifiche
- Caricare la documentazione del veicolo (immagine, certificato ITV)
- Impostare un veicolo come predefinito dell'utente per le operazioni di firma digitale
- Migrare i dati della flotta da sistemi esterni
Flusso di Validazione
flowchart TD
A[Ricevi Richiesta] --> B{Limite Pagamento OK?}
B -->|No| C[402 Pagamento Richiesto]
B -->|Sì| D{L'Utente Ha un'Azienda?}
D -->|No| E[401 CIA_NOT_FOUND]
D -->|Sì| F{Campi Obbligatori Presenti?}
F -->|No| G[400 Errore di Validazione]
F -->|Sì| H{shipping_type = fresh?}
H -->|Sì| I{fresh_cargo_temp Valido?}
I -->|No| J[400 Temp Richiesta]
I -->|Sì| K[Crea Veicolo]
H -->|No| K
K --> L{default_vehicle = true?}
L -->|Sì| M[Aggiorna Predefinito Utente]
L -->|No| N[Registra Utilizzo Fatturazione]
M --> N
N --> O[Ritorna Veicolo Creato]
Limiti di Pagamento
Questo endpoint è soggetto ai limiti del piano di pagamento tramite il middleware isPaymentUpdate.
Se l'azienda ha raggiunto il suo limite di veicoli, la richiesta fallirà con errore 402.
Validazione Condizionale
- Se
shipping_type = 'fresh', il campo `fresh_c
Request
Responses
- 201
- 400
- 401
- 402
- 404
Veicolo creato con successo.
Response Headers
Richiesta non valida - validazione fallita
- CANT_CREATE: Errore generale di creazione
- Campi obbligatori mancanti
- Valori di cargo_type non validi
- Tipo di veicolo non valido
- Campo fresh_cargo_temp mancante quando shipping_type='fresh'
L'utente non ha un'azienda associata.
Pagamento Richiesto - Limite veicoli superato per il piano attuale. Aggiorna il tuo piano per creare più veicoli.
Utente non trovato (quando si utilizza la funzionalità default_vehicle)