Solo durante SEPARATION_STARTEDLas ediciones se registran pero NO se aplican aún
Finalizar separación (POST /endSeparation)
Pedido cambia de SEPARATION_STARTED → SEPARATION_ENDEDTODAS las ediciones se validan y aplican
Consultar pedido actualizado (GET order details)
Obtenga la versión final del pedido con todos los cambios
El orden es críticoCualquier desviación de esta secuencia resultará en errores 409 Conflict. No está permitido:
Editar ítems antes de iniciar la separación
Finalizar la separación sin haberla iniciado
Editar ítems después de finalizar la separación
Ciclo de vida de una edición
Adicionar/Modificar/Remover ítem
1. Solicitud recibida → Validación básica ¿Pedido existe? ¿Separación fue iniciada? ¿Producto existe (para add/replace)?2. Validación aplicada → Estado pendiente Ítem agregado a lista de ediciones NO afecta el precio aún3. Finalización de separación → Validaciones finales Reglas de método de pago Permiso para cobros adicionales Cálculo de ajustes de precio4. Aplicación → Pedido actualizado Ediciones confirmadas Precios ajustados Inventario reflejado
¿Qué ocurre con el precio?
Los cambios de precio solo se calculan al finalizar la separación, no durante las ediciones.
La operación no es idempotente. La segunda llamada fallará.Solución: Siempre verifique el estado actual del pedido antes de llamar a startSeparation.
¿Y si la solicitud se cae?
Si no recibe respuesta:
Espere unos segundos
Haga un GET en el pedido para verificar el estado actual
Si SEPARATION_STARTED: Continúe editando (no repita startSeparation)
Si CONFIRMED: Intente iniciar nuevamente
Manejo de eventos
ORDER_PATCHED
Antes de iniciar la separación, el cliente puede editar el pedido (cancelar ítems, agregar más).Cuando esto sucede, recibe el evento ORDER_PATCHED.Qué hacer:
¿Recibió ORDER_PATCHED? Haga un nuevo GET en el pedido
Actualice su vista local de los ítems
Proceda normalmente con startSeparation
# Ejemplo: Antes de iniciar, siempre consulte el pedidoGET /orders/{id}# Confirme los ítems actuales antes de llamar a startSeparation
Restricciones por método de pago
Algunos métodos de pago tienen reglas especiales para ediciones:
Método
Adicionar ítems
Remover ítems
Modificar cantidad
Crédito
Sí
Sí
Sí
Débito
Limitado
Sí
Sí
Pix
Sí
Sí
Restringido
Efectivo
Restringido
Sí
Sí
Consulte la documentación de métodos de pago para reglas específicas antes de editar ítems.
Combinados (combos)
Un combo es un agrupamiento de ítems vendidos juntos.
Reglas para combos:
No puede modificar ítems individuales de un combo
Remover un ítem de un combo remueve el combo completo
Adicionar ítems no afecta combos existentes
# Ejemplo: Combo con bebida + sándwich# Si remueve la bebida:DELETE /orders/{id}/items/{drink_id}# Resultado: El combo completo se remueve# (el sándwich también se remueve)
Límite de tasa de solicitudes
Todos los endpoints del módulo Picking tienen un límite de 1000 solicitudes por segundo (req/s).Si recibe un error 429 (Too Many Requests):
Espere algunos segundos antes de intentar nuevamente
Implemente backoff exponencial
Revise el comportamiento de su aplicación para identificar loops innecesarios
Considere almacenar respuestas en caché cuando sea apropiado