Chaque opérateur Mirakl a sa propre arborescence de catégories et ses propres attributs. Ce que Leroy Merlin nomme d'une façon, Decathlon le demande autrement. Le connecteur, publié pour Odoo 17, 18, 19 et 20, télécharge ce dictionnaire et vous permet d'y faire correspondre votre catalogue une seule fois.
Les étapes
- Enregistrez la marketplace dans Mirakl › Configuration › Marketplaces avec son URL d'API et sa clé.
- Attendez la première synchronisation du dictionnaire du catalogue. La tâche se répète toutes les 60 minutes et dépose les catégories de l'opérateur dans Mirakl › Catalog › Categories.
- Vérifiez dans Catalog › Attributes quels attributs sont obligatoires dans les catégories que vous allez utiliser.
- Ouvrez Catalog › Value Lists pour les attributs qui n'acceptent que des valeurs fermées, comme les couleurs ou les matériaux. Votre valeur Odoo doit correspondre à l'une de celles de la liste.
- Dans Catalog › Category Mapping, associez chacune de vos catégories de produits à la catégorie de l'opérateur.
- Si vous expédiez vous-même, reliez vos transporteurs à ceux de la marketplace dans Catalog › Carrier Mapping.
- Exportez le catalogue. La tâche tourne toutes les 30 minutes et vous pouvez aussi la lancer à la main.
- Vérifiez l'état du dernier export et la validation de chaque produit avant d'exporter les offres.


Les états à savoir lire
Chaque export de catalogue laisse un état : en attente, réussi, erreur ou inconnu. Chaque produit a aussi son état de validation : non vérifié, OK, avertissement ou erreur. Un avertissement permet encore de publier, mais il signale en général un attribut optionnel vide que l'opérateur utilise pour ses filtres. Mieux vaut le remplir.
Pour les offres, c'est pareil. Le dernier export d'offres affiche son résultat, et chaque offre porte le code d'état de Mirakl : 11 pour active et 12 pour inactive.

Erreurs typiques et comment les corriger
| Message | Ce qu'il signifie | Que faire |
|---|---|---|
Catalog validation failed: … | L'opérateur a refusé un ou plusieurs produits. Ce qui suit les deux-points dit lequel et pourquoi. | Corrigez l'attribut indiqué et exportez de nouveau. |
No catalog import id found yet. Export catalog first. | Vous avez demandé le résultat d'un import qui n'existe pas encore. | Exportez le catalogue et attendez que Mirakl renvoie le numéro d'import. |
No import id found yet. Export the offer first. | La même chose, pour les offres. | Exportez l'offre avant de consulter son résultat. |
Selected category does not belong to this wizard. | Dans l'assistant, vous avez choisi une catégorie d'une autre marketplace. | Rouvrez-le depuis la bonne marketplace. |

Quand exporter les offres
Seulement une fois le produit validé. Les offres sont exportées toutes les 5 minutes, mais l'offre d'un produit que l'opérateur n'a pas accepté reste inactive, même avec un prix et du stock. Si vous voyez beaucoup d'offres inactives dans la liste, le problème se trouve presque toujours une étape plus tôt, dans le catalogue.
Quand vous ajoutez un nouvel opérateur, refaites le mapping seulement pour ses catégories : ce que vous avez déjà associé pour une autre marketplace est conservé, car chaque opérateur garde le sien.
Les enregistrements de Configuration › Logs gardent chaque appel à Mirakl. Si une erreur n'a pas de sens à l'écran, la réponse complète de l'opérateur s'y trouve.
À lire aussi
Vérifié dans le code du connecteur (version 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_mirakl_connector 20.0 (83e54909): views/menu_views.xml
- Code du module : flexigobe_mirakl_connector 20.0 (83e54909): data/ir_cron_data.xml
- Code du module : flexigobe_mirakl_connector 20.0 (83e54909): models/mirakl_catalog_binding_mixin.py
- Code du module : flexigobe_mirakl_connector 20.0 (83e54909): models/mirakl_offer_binding_mixin.py
- Code du module : flexigobe_mirakl_connector 20.0 (83e54909): models/mirakl_product_binding.py
- Code du module : flexigobe_mirakl_connector 20.0 (83e54909): models/mirakl_category_search_wizard.py
- apps.odoo.com/apps/modules/20.0/flexigobe_mirakl_connector
