Send message to delivery
POST/company/delivery/msg/:id
Envía un mensaje al chat de un envío, con opción de adjuntar archivos.
Objective
Facilitar la comunicación directa entre empresa y transportista dentro del contexto de un envío específico.
Use Cases
- Coordinar detalles de la carga/descarga
- Notificar cambios urgentes en la operación
- Compartir fotos o documentos relevantes
- Resolver incidencias durante el transporte
Validation Flow
flowchart TD
A[Receive Message] --> B{Has Message Text?}
B -->|No/Empty| C[400 NOT_MESSAGE]
B -->|Yes| D{Delivery is Active?}
D -->|No| E[403 NOT_ALLOWED]
D -->|Yes| F{User Authenticated?}
F -->|No| G[404 USER_NOT_FOUND]
F -->|Yes| H[Create Message Object]
H --> I{Has Files?}
I -->|Yes| J[Add S3 Keys to Message]
I -->|No| K[Continue]
J --> K
K --> L[Push to messages Array]
L --> M[Save Delivery]
M -->|Error| N[503 Error]
M -->|Success| O[Return All Messages DESC]
Notes
- El parámetro {id} puede ser service_code o MongoDB _id
- Acepta hasta 6 archivos (multipart/form-data)
- Los archivos se guardan en S3 con la clave de S3
- Solo envíos activos pueden recibir mensajes (isActive check)
- Retorna todos los mensajes ordenados por createdAt DESC
- Los archivos se devuelven con la ruta completa /images?file=
Request
Responses
- 200
- 400
- 403
- 404
- 503
Mensaje enviado con éxito
Mensaje vacío o inválido.
El envío no está activo. No se pueden enviar mensajes.
Usuario o envío no encontrado.
Error al guardar el mensaje.