Send message to delivery
POST/company/delivery/msg/:id
Invia un messaggio alla chat di una spedizione, con opzione di allegare file.
Obiettivo
Facilitare la comunicazione diretta tra azienda e trasportatore all'interno del contesto di una spedizione specifica.
Casi d'Uso
- Coordinare i dettagli di carico/scarico
- Notificare cambiamenti urgenti nell'operazione
- Condividere foto o documenti rilevanti
- Risolvere inconvenienti durante il trasporto
Flusso di Validazione
flowchart TD
A[Ricevi Messaggio] --> B{Ha Testo del Messaggio?}
B -->|No/Vuoto| C[400 NOT_MESSAGE]
B -->|Sì| D{La Spedizione è Attiva?}
D -->|No| E[403 NOT_ALLOWED]
D -->|Sì| F{Utente Autenticato?}
F -->|No| G[404 USER_NOT_FOUND]
F -->|Sì| H[Crea Oggetto Messaggio]
H --> I{Ha File?}
I -->|Sì| J[Aggiungi Chiavi S3 al Messaggio]
I -->|No| K[Continua]
J --> K
K --> L[Aggiungi all'Array messages]
L --> M[Salva Spedizione]
M -->|Errore| N[503 Errore]
M -->|Successo| O[Ritorna Tutti i Messaggi in Ordine DESC]
Note
- Il parametro {id} può essere service_code o MongoDB _id
- Accetta fino a 6 file (multipart/form-data)
- I file vengono salvati in S3 con la chiave S3
- Solo le spedizioni attive possono ricevere messaggi (controllo isActive)
- Restituisce tutti i messaggi ordinati per createdAt DESC
- I file vengono restituiti con il percorso completo /images?file=
Request
Responses
- 200
- 400
- 403
- 404
- 503
Messaggio inviato con successo
Messaggio vuoto o non valido.
La spedizione non è attiva. Non è possibile inviare messaggi.
Utente o spedizione non trovata.
Errore durante il salvataggio del messaggio.