2026-07-06 — Remates: totalAmount y status
Para front-end, mobile e integradores de
/api/v1.
Summary
Cambia cómo el conductor publica un remate y cómo se representa su estado. Al crear un
remate ahora se envía totalAmount (el monto total que el conductor quiere recibir) en
lugar de pricePerLiter, y las respuestas de remates traen un status explícito en vez
del booleano is_active. La orden que nace al reservar un remate queda relacionada con él
vía surplus_listing_id.
Breaking changes
pricePerLiter deja de existir en POST /surplus
Al publicar un remate el conductor envía totalAmount: el monto TOTAL (bruto) que quiere
recibir por todo el remate. El precio por litro se deriva (totalAmount / availableLiters).
- Afecta:
POST /surplus(conductor).pricePerLiterya no es válido;totalAmount(number, > 0, ≤ 100000) es requerido. - Migración: reemplazar
pricePerLiterportotalAmount, enviando el total del remate y no la tasa por litro.
Los remates exponen status en vez de is_active
El booleano is_active se quitó de las respuestas de remates. En su lugar hay status con
valores ACTIVA, RESERVADA, EXPIRADA o CANCELADA.
- Afecta:
GET /surplus,GET /surplus/nearby,GET /surplus/me,GET /driver/surplus. - Migración: leer
statusen vez deis_active(is_active: trueequivale astatus: "ACTIVA").
New
POST /surplus/{surplusId}/reserve (cliente)
La orden creada al reservar un remate ahora incluye surplus_listing_id, el id del remate
del que salió. Un valor no nulo identifica a la orden como un remate; las órdenes normales
lo traen en null.
Changes
POST /surplus — durationMinutes ahora opcional
durationMinutes pasa de requerido (15–480) a opcional, con máximo de 12 horas (720). Si
se omite, el remate dura 6 horas por default.
- Caducidad: los remates vencidos pasan a
status: "EXPIRADA"de forma automática (antes la expiración solo los ocultaba del listado, sin marcarlos).
Removed / Deprecated
min_liters fuera de las respuestas
El campo min_liters ya no se expone en las respuestas de remates. Queda reservado
internamente para una futura venta parcial.