Edit delivery
PUT/company/delivery/:service_code
Aggiorna i dettagli di una spedizione esistente. I campi modificabili dipendono dallo stato attuale della spedizione.
Obiettivo
Consentire alle aziende di modificare alcuni aspetti delle loro spedizioni in base allo stato in cui si trovano, mantenendo un controllo delle modifiche tramite replannedBy.
Casi d'Uso
- Modificare le date di carico/scarico in spedizioni pianificate o accettate
- Aggiornare i dettagli del carico (peso, altezza, pallet, temperatura)
- Correggere i metri lineari di carico
- Avviare un processo di ripianificazione che richiede approvazione
Campi Modificabili per Stato
Stato 'planned' o 'replanned': Possono essere modificati: etl_date, etd_date, pallets_num, fresh_cargo_temp, cargo_weight, cargo_height, linear_meters
Stato 'accepted': Possono essere modificati: etl_date, etd_date
Qualsiasi altra modifica:
- Cambia lo stato in 'replanned'
- Imposta replannedBy a 'cia' (azienda)
Flusso di Validazione
flowchart TD
A[Ricevi Richiesta di Modifica] --> B{La Spedizione Esiste?}
B -->|No| C[404 NOT_FOUND]
B -->|Sì| D{L'Azienda Possiede la Spedizione?}
D -->|No| E[404 NOT_ALLOWED]
D -->|Sì| F{È uno Stato Finale?}
F -->|Sì| G[401 NOT_ALLOWED]
F -->|No| H[Ottieni Chiavi Modificabili]
H --> I{Alcuna Chiave Valida?}
I -->|No| J[401 NOT_ALLOWED]
I -->|Sì| K[Aggiorna Campi]
K --> L[Imposta status=replanned]
L --> M[Imposta replannedBy=cia]
M --> N[Salva Modifiche - 200]
Note
- Non è possibile modificare
Request
Responses
- 200
- 400
- 401
- 404
Invio aggiornato con successo
Operazione non consentita. Si verifica quando:
- I dati forniti non sono validi
Non autorizzato. Il token JWT non è valido o è scaduto, o non è possibile modificare i campi richiesti per lo stato attuale.
Spedizione non trovata. Il service_code fornito non esiste o non appartiene all'azienda dell'utente autenticato.