fulfillment:write y devuelven el pedido actualizado.
Estados
La preparación avanza en un solo sentido por esta escalera:- Solo avanza, nunca retrocede.
- Se permiten saltos (por ejemplo de
UNFULFILLEDdirecto aFULFILLED). - Un avance inválido responde
422concodeINVALID_FULFILLMENT_TRANSITION.
Endpoints
Envío vs. recojo
El comportamiento depende del tipo de entrega del pedido (shippingType):
- Envío (
DELIVERY): puedes incluir la guía (carrier,trackingNumber,trackingUrl) al despachar o entregar. - Recojo (
PICKUP): no lleva guía. Envía un cuerpo vacío.
Actualizar la guía
PATCH /orders/{id}/fulfillment/tracking sobrescribe la guía de un pedido de envío ya despachado
(FULFILLED). Requiere carrier y trackingNumber. Sobre un pedido que no es de envío responde
422 con code ORDER_NOT_SHIPPABLE.
Cancelar
POST /orders/{id}/cancel cancela un pedido que aún no fue despachado. Si el pedido ya está en
FULFILLED o más, responde 422 con code CANNOT_CANCEL_DISPATCHED_ORDER.