Reemplazar pallets de un eCMR
POST/ecmr/pallets/:service_code
Propósito
Sustituir el contenido completo de pallets_data por una nueva lista de
pallets enviada en el body.
Objetivo
Permitir una actualización masiva y atómica del detalle de pallets del eCMR, sin editar uno a uno.
Casos de uso
- Volver a cargar el detalle completo de pallets desde un ERP.
- Corregir toda la composición de carga tras una modificación logística.
- Normalizar el listado cuando hubo cambios de bultos/peso/volumen.
Detalles técnicos
Este endpoint reemplaza la colección actual (pallets_data) por la
nueva lista válida recibida. No hace append incremental.
Validaciones en runtime:
- El body debe ser un array no vacío (
PALLET_DATA_REQUIREDsi falla). - Cada pallet válido admite rangos:
pieces: 0..1000weight: 0..24000volume_m3: 0..1000
packagingTypedebe ajustarse al enum del modelo:pallets,full,package,trailer.
Permisos
En operaciones de escritura, el backend valida ownership del eCMR:
- usuario company solo puede editar eCMR con owner
company - usuario trucker solo puede editar eCMR con owner
trucker_ciaEn caso contrario devuelveACCESS_DENIED.
Autenticación
Soporta JWT Bearer token y API Key.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 500
Colección de pallets reemplazada correctamente.
Response Headers
Body inválido o faltan datos obligatorios del endpoint.
Response Headers
Token JWT ausente, expirado, inválido o cuenta bloqueada.
Response Headers
El usuario autenticado no tiene permisos sobre ese eCMR.
Response Headers
No existe un eCMR con el service_code indicado.
Response Headers
Error inesperado durante el reemplazo de pallets.