Saltar al contenido principal

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

eCMR actualizado con los documentos enviados

Response Headers