CTT Warehouse

Simulated CTT fulfillment center — materials, sales orders, purchase orders & documents

No materials synced yet.

Materials appear when stock-service calls POST /api/ctt/materials

No sales orders yet.

Sales orders appear when stock-service calls POST /api/ctt/salesOrders

No purchase orders yet.

Purchase orders appear when stock-service calls POST /api/ctt/purchaseOrders

Goods Movements

No movements yet.

Click Generate Movements to create test movements for synced materials.

The stock-service cron fetches these via POST /api/ctt/.../goods/movements/search

Sales-orders marcadas como devueltas a origen (paquete vuelve al warehouse). Cada marca crea un envelope de delivery-note (ZDL1 = stock bueno, ZDL2 = dañado) que el endpoint POST /api/v1/.../stocks/delivery-note/search devuelve cuando stock-service consulta. El cron CTT_RETURN_SYNC levanta esos envelopes y auto-revisa el stock_return correspondiente.
Para marcar una sales-order, andá a la tab Sales Orders y clickeá .

No returned sales-orders yet.

Andá a la tab Sales Orders y usá el botón para marcar una orden como devuelta a origen.

Materials — Failure Mode INACTIVE
Cuando está ACTIVE, el endpoint POST /api/v1/clients/:client/contracts/:contract/materials devuelve el error configurado para cualquier request cuyo basicData.oldMaterialNumber coincida con un valor de la lista. El campo que hay que cargar es el variantNumber de Dropea (no el SKU). El estado es in-memory: reiniciar el container del simulador lo resetea.

Current state: INACTIVE No variants configured to fail.
Sales Orders — Failure Mode INACTIVE
Inyecta fallos en POST /api/v1/clients/:client/contracts/:contract/sales-orders.
  • duplicate — devuelve el 400 real de CTT ("Ja existe uma ordem com a combinacao Cliente/Contrato/Referencia Cliente") cuando el clientSalesOrderNumber ya existe en storage. Útil para reproducir el bug de I1428: primero creás la order normal, después rechazás el retry.
  • http_error — devuelve el status/payload configurado en cada llamada (sin condición de duplicado).
Documentation Upload — Failure Mode INACTIVE
Inyecta fallos en POST /api/v1/sales-orders/documentation.
  • hang — sostiene la conexión durante hang_ms sin enviar bytes y luego responde 504. Reproduce el incidente original de I1428 — útil para validar el AbortController + safety-net del http-service de stock-service (que aborta a timeout + 5s).
  • http_error — devuelve el status/payload configurado de inmediato.
Delivery-Note Search — Failure Mode INACTIVE
Inyecta fallos en POST /api/v1/clients/:client/contracts/:contract/stocks/delivery-note/search — el endpoint que polea el cron CTT_RETURN_SYNC de stock-service.
  • Si ambos filtros (sales-orders y delivery-notes) están vacíos, cualquier búsqueda falla.
  • Si cargás IDs, el endpoint solo falla cuando el response contendría al menos uno de esos IDs (semántica OR).
  • El stock-service convierte error_code = CTT_API_ERROR en un stock.warning.created (Anomalías) y el cron sigue con el próximo warehouse.
Material Sync

stock-service calls POST /api/ctt/materials to register materials in the CTT warehouse system.

Sales Orders

stock-service calls POST /api/ctt/salesOrders to create outbound sales orders for shipment.

Purchase Orders

stock-service calls POST /api/ctt/purchaseOrders to register incoming stock from suppliers.