diff --git a/pos/services/marketplace_external_service.py b/pos/services/marketplace_external_service.py index 52a92b6..9539da3 100644 --- a/pos/services/marketplace_external_service.py +++ b/pos/services/marketplace_external_service.py @@ -125,7 +125,9 @@ def _extract_meli_error(err: MeliError) -> str: if "me2 adoption is mandatory" in lowered: return msg + " | Debes activar MercadoEnvíos (ME2) en tu cuenta de MercadoLibre. Ve a Configuración > Envíos en el panel de vendedor de ML." if "user has not mode" in lowered: - return msg + " | Tu cuenta no tiene configurado este modo de envío. Configura tus métodos de envío en MercadoLibre." + return msg + " | Tu cuenta no tiene configurado este modo de envío. Ve a Configuración > Envíos en MercadoLibre y completa la configuración de MercadoEnvíos." + if "mandatory free shipping" in lowered: + return msg + " | MercadoLibre está forzando envío gratis en tu cuenta. Esto es normal si estás en el programa de envíos gratuito. El artículo se publicará con envío gratis." return msg except Exception: pass @@ -149,6 +151,10 @@ def build_item_payload( if len(title) > 60: title = title[:57] + "..." + shipping_payload = {"mode": shipping_mode} + if shipping_mode == "me2": + # Let ML determine free_shipping/local_pick_up defaults based on account config + pass payload = { "title": title, "category_id": meli_category_id, @@ -159,7 +165,7 @@ def build_item_payload( "listing_type_id": listing_type_id, "condition": "new", "pictures": [{"source": url} for url in images if url], - "shipping": {"mode": shipping_mode, "local_pick_up": False, "free_shipping": False}, + "shipping": shipping_payload, "attributes": [], }