diff --git a/workloads/ecommerce/frontend.yaml b/workloads/ecommerce/frontend.yaml index e7b98e8..05889b2 100644 --- a/workloads/ecommerce/frontend.yaml +++ b/workloads/ecommerce/frontend.yaml @@ -24,6 +24,8 @@ spec: value: medusa - name: MEDUSA_BACKEND_URL value: http://medusa-svc:9000 + - name: MEDUSA_REGION_ID + value: reg_01KZT86WPAH7A7ZZRDSX3350V2 envFrom: - secretRef: name: commerce-storefront diff --git a/workloads/ecommerce/lib/headless/providers/medusa.ts b/workloads/ecommerce/lib/headless/providers/medusa.ts index c0586d8..9ca8839 100644 --- a/workloads/ecommerce/lib/headless/providers/medusa.ts +++ b/workloads/ecommerce/lib/headless/providers/medusa.ts @@ -258,6 +258,14 @@ function backendUrl(): string { return value.replace(/\/$/, ""); } +function regionId(): string { + const value = process.env.MEDUSA_REGION_ID; + if (!value) { + throw new Error("MEDUSA_REGION_ID no está configurado."); + } + return value; +} + async function medusaFetch( path: string, searchParams?: URLSearchParams, @@ -515,7 +523,10 @@ async function fetchProducts( ): Promise { const params = new URLSearchParams({ limit: String(limit), - currency_code: "cop", + // El validador de /store/products no acepta currency_code (400 + // "Unrecognized fields"); el precio calculado solo se resuelve con + // region_id. + region_id: regionId(), fields: "+metadata,+images,+tags,+categories,+collection,+variants.inventory_quantity,+variants.calculated_price,+variants.options", }); @@ -543,7 +554,10 @@ export const medusaCatalogProvider: CatalogProvider = { const params = new URLSearchParams({ handle: slug, limit: "1", - currency_code: "cop", + // El validador de /store/products no acepta currency_code (400 + // "Unrecognized fields"); el precio calculado solo se resuelve con + // region_id. + region_id: regionId(), fields: "+metadata,+images,+tags,+categories,+collection,+variants.inventory_quantity,+variants.calculated_price,+variants.options", });