Subir documentos a un eCMR
POST/ecmr/documents/:service_code
Propósito
Añade nuevos ficheros al array documents del eCMR indicado.
Objetivo
Permitir que empresa o transportista adjunten documentación operativa del servicio (facturas, albaranes, justificantes, etc.).
Casos de uso
- Adjuntar factura o albarán tras completar una operación.
- Incorporar documentación de soporte para auditoría.
- Cargar múltiples archivos en una única petición multipart.
Flujo de validación
flowchart TD
A[Recibir POST /ecmr/documents/{service_code}] --> B{¿Usuario autenticado?}
B -->|No| C[401 NO_TOKEN_OR_APIKEY]
B -->|Sí| D{¿Usuario/tipo válidos?}
D -->|No| E[404 USER_NOT_FOUND o USER_TYPE_NOT_FOUND]
D -->|Sí| F{¿eCMR accesible por service_code?}
F -->|No| G[404 ECMR_NOT_FOUND]
F -->|Sí| H[Procesar files con límite 4]
H --> I[Anexar documentos y guardar eCMR]
I --> J[200 OK]
Detalles técnicos
El endpoint recibe multipart/form-data con campo files y límite
de 4 archivos (multerS3.array('files', 4)). El código acepta envío
sin archivos (req.files || []) y, en ese caso, guarda el eCMR sin
añadir elementos nuevos.
URL correcta: /ecmr/documents/{service_code} (sin : en OpenAPI).
Campo multipart: files (archivo único en documentación para compatibilidad con Docusaurus).
Ejemplo de uso:
curl -X POST "$HOST/ecmr/documents/{service_code}" -H "Authorization: Bearer <token>" -F "files=@factura.pdf"
La respuesta usa wrapper estándar de returnOK.
Autenticación
Soporta JWT Bearer token y API Key.
Request
Responses
- 200
- 401
- 404
- 500
eCMR actualizado con los documentos enviados
Response Headers
Token/API Key ausente o inválido
Response Headers
eCMR no encontrado para el usuario y service_code indicado
Response Headers
Error interno durante la subida o guardado