API is running. --- Infrastructure / diagnostics --- GET / This index GET /health Liveness probe — returns "ok" GET /api JSON diagnostic info (config, URLs, issues) GET /api/check ?shop= Readiness for a specific shop (token + feature flags) GET /api/redirect-url Full OAuth redirect URL --- Shopify OAuth --- GET /install ?shop= Start OAuth — redirects to Shopify authorize URL GET /oauth/callback OAuth callback — code exchange, saves token, registers webhooks --- Webhooks --- POST /webhooks/shopify Shopify webhook receiver (products/*, orders/*) --- DSS Internal API (X-DSS-Internal-Secret header required if configured) --- PUT /stores/api-key Set Shopify Admin token (see repo openapi.json) POST /sync-shipments-with-fulfillments Monolith webhook: SyncShipmentsWithFulfillmentsRequest → sync Shopify fulfillments POST /tracking-update Monolith webhook: TrackingUpdateRequest → Shopify FulfillmentEvent POST /tracking-updates Alias for /tracking-update (same TrackingUpdateRequest body) --- Demo routes (disabled — set ENABLE_DEMO_ROUTES=true) --- GET /demo/products ?shop= List products via Shopify Graphql GET /demo/order ?shop=&id= Load a single order by GID or numeric ID POST /demo/fulfillment/create Create a fulfillment with tracking POST /demo/fulfillment/tracking Update fulfillment tracking info