Cada operador de Mirakl tiene su propio árbol de categorías y sus atributos. Lo que Leroy Merlin llama de una forma, Decathlon lo pide de otra. El conector, publicado para Odoo 17, 18, 19 y 20, descarga ese diccionario y te deja casar tu catálogo con él una sola vez.
Los pasos
- Da de alta el marketplace en Mirakl › Configuration › Marketplaces con su URL de API y su clave.
- Espera a la primera sincronización del diccionario de catálogo. La tarea se repite cada 60 minutos y deja las categorías del operador en Mirakl › Catalog › Categories.
- Revisa en Catalog › Attributes qué atributos son obligatorios en las categorías que vas a usar.
- Abre Catalog › Value Lists para los atributos que solo admiten valores cerrados, como colores o materiales. Tu valor de Odoo tiene que coincidir con uno de la lista.
- En Catalog › Category Mapping asigna a cada categoría de tus productos la categoría del operador.
- Si envías tú, en Catalog › Carrier Mapping relaciona tus transportistas con los del marketplace.
- Exporta el catálogo. La tarea corre cada 30 minutos y también la puedes lanzar a mano.
- Mira el estado de la última exportación y de la validación de cada producto antes de exportar ofertas.


Los estados que tienes que leer
Cada exportación de catálogo deja un estado: pendiente, correcto, error o desconocido. Cada producto tiene además su estado de validación: sin comprobar, correcto, aviso o error. Un aviso deja publicar, pero suele significar un atributo opcional vacío que el operador usa para filtrar. Merece la pena rellenarlo.
Con las ofertas pasa igual. La última exportación de ofertas muestra su resultado y cada oferta lleva el código de estado de Mirakl: 11 para activa y 12 para inactiva.

Errores típicos y su arreglo
| Mensaje | Qué significa | Qué hacer |
|---|---|---|
Catalog validation failed: … | El operador rechazó uno o varios productos. Lo que sigue a los dos puntos dice cuál y por qué. | Corrige el atributo que indica y exporta otra vez. |
No catalog import id found yet. Export catalog first. | Pides el resultado de una importación que aún no existe. | Exporta el catálogo y espera a que Mirakl devuelva el número de importación. |
No import id found yet. Export the offer first. | Lo mismo, con las ofertas. | Exporta la oferta antes de consultar su resultado. |
Selected category does not belong to this wizard. | En el asistente elegiste una categoría de otro marketplace. | Vuelve a abrirlo desde el marketplace correcto. |

Cuándo exportar ofertas
Solo cuando el producto está validado. Las ofertas se exportan cada 5 minutos, pero una oferta de un producto que el operador no ha aceptado se queda inactiva aunque tenga precio y stock. Si en la lista de ofertas ves muchas inactivas, el problema casi siempre está un paso antes, en el catálogo.
Cuando añadas un operador nuevo, repite el mapeo solo para sus categorías: lo que ya mapeaste para otro marketplace no se pierde, porque cada operador guarda el suyo.
Los registros de Configuration › Logs guardan cada llamada a Mirakl. Si un error no se entiende en pantalla, ahí está la respuesta completa del operador.
Sigue leyendo
Comprobado en el código del conector (versión 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigobe_mirakl_connector 20.0 (83e54909): views/menu_views.xml
- Código del módulo: flexigobe_mirakl_connector 20.0 (83e54909): data/ir_cron_data.xml
- Código del módulo: flexigobe_mirakl_connector 20.0 (83e54909): models/mirakl_catalog_binding_mixin.py
- Código del módulo: flexigobe_mirakl_connector 20.0 (83e54909): models/mirakl_offer_binding_mixin.py
- Código del módulo: flexigobe_mirakl_connector 20.0 (83e54909): models/mirakl_product_binding.py
- Código del módulo: flexigobe_mirakl_connector 20.0 (83e54909): models/mirakl_category_search_wizard.py
- apps.odoo.com/apps/modules/20.0/flexigobe_mirakl_connector
