Configurare l'operatore
- Installa il connettore Mirakl e il modulo dell'operatore: «Leroy Merlin for Mirakl» o «Decathlon for Mirakl». Senza quel modulo, «Provider Code» offre solo «Generic Mirakl».
- Vai su Mirakl › Configuration › Marketplaces e crea un nuovo marketplace.
- In «Provider Code» scegli Leroy Merlin o Decathlon. Odoo compila in quel momento le caselle del profilo che sono deselezionate e i campi vuoti.
- Controlla l'indirizzo. Per Leroy Merlin è https://adeo-marketplace.mirakl.net, con l'API su https://adeo-marketplace.mirakl.net/api; per Decathlon, marketplace-decathlon-eu.mirakl.net.
- Completa la connessione con i dati del tuo account presso l'operatore, salva e premi «Test Connection».

Se parti dal profilo generico e digiti l'indirizzo dell'operatore, Odoo lo riconosce dall'host: adeo-marketplace o leroymerlin per Leroy Merlin; marketplace-decathlon, marketplace.decathlon, seller.decathlon, partner.decathlon, .decathlon.net o .decathlon.com per Decathlon. E se passi da un operatore a un altro, l'indirizzo del precedente viene sostituito con quello del nuovo. Un indirizzo digitato a mano che non appartiene a nessun operatore noto viene rispettato.

Cosa spunta il profilo
| Casella | Profilo generico | Leroy Merlin e Decathlon | A cosa serve |
|---|---|---|---|
| Sync Orders Enabled | Deselezionata | Selezionata | L'azione pianificata «Mirakl - Sync Orders» importa i suoi ordini ogni 10 minuti |
| Auto Accept Orders | Deselezionata | Selezionata | L'azione pianificata «Mirakl - Accept Orders» accetta ogni 10 minuti gli ordini che Mirakl tiene in attesa della tua accettazione |
| Accept Pending On Import | Deselezionata | Selezionata | Tenta di accettare gli ordini in attesa subito dopo ogni importazione, manuale o programmata |
| Auto Confirm Sale | Deselezionata | Selezionata | Conferma gli ordini di vendita importati |
| Sync Returns Enabled | Deselezionata | Selezionata | L'azione pianificata «Mirakl - Sync Returns» recupera i resi ogni 30 minuti |
| Returns Fallback To Orders | Selezionata | Selezionata | Se l'operatore non offre resi tramite API, li crea a partire dai rimborsi presenti negli ordini |
Il profilo compila solo ciò che è vuoto o deselezionato. Un valore che avevi già impostato resta. Questo conta per «Offer Price Tax Mode»: il profilo prevede «Include Sales Taxes», ma il campo arriva già impostato su «As Computed», quindi scegliere il profilo nel modulo non lo cambia. Decidi tu come esporre i prezzi delle tue offerte e impostalo prima di esportare.
Leroy Merlin: catalogo e offerte nel formato dell'operatore
Il profilo di Leroy Merlin spunta altre due caselle, che di default sono deselezionate e che il profilo di Decathlon non tocca:
- Esportare il catalogo nel formato dell'operatore. L'aiuto del campo lo dice così:
When enabled, catalog export defaults to Mirakl operator-format multipart CSV instead of raw JSON. - Esportare le offerte con l'importazione di file OF01 nel formato dell'operatore:
When enabled, offer export defaults to Mirakl OF01 operator-format multipart file import.
Se esporti da un marketplace che non ha il profilo di Leroy Merlin, controlla queste due caselle prima di dare la colpa al catalogo.
La spedizione parte alla validazione del prelievo
Con questi due profili, validare in Odoo la consegna di un ordine Mirakl basta per avvisare il marketplace, anche se la casella «Send Tracking to Mirakl on Validation» è deselezionata, com'è di default. Sul profilo generico è quella casella a decidere.
Prima di validare, Odoo aggiorna l'ordine di vendita con quello di Mirakl e inserisce nel prelievo il contatto di consegna dell'acquirente. Se a quel contatto mancano via, città, codice postale o telefono, richiede di nuovo l'ordine a Mirakl e lo ricostruisce.
Poi la spedizione avviene in due passi. Prima il tracciamento (OR23). Se Mirakl non dà ancora l'ordine come spedito, Odoo lo segna come spedito (OR24). Se l'operatore non accetta il primo passo, per esempio con un 404 o perché non riconosce il codice del corriere, Odoo passa direttamente al secondo. E quando il tuo corriere di Odoo si traduce solo come OTHER, usa il corriere che arrivava nell'ordine Mirakl.

Se il prelievo non ha un numero di tracciamento
Non si invia nulla. Odoo lo annota sul prelievo: Shipment not sent to Mirakl: this transfer has no tracking reference. Add the carrier's tracking number to the delivery and click Push Mirakl Tracking to notify the marketplace. Inserisci il numero del corriere e premi «Push Mirakl Tracking», che invia il tracciamento a mano.
Se mancano le righe dell'ordine
Con questi due profili, la spedizione richiede le righe dell'ordine Mirakl. Se non le trova né nell'ordine Mirakl né in quello di vendita, si ferma con Missing Mirakl order lines to push tracking.
Posso avere Leroy Merlin e Decathlon nello stesso Odoo?
Sì. Ogni operatore è un marketplace distinto in Mirakl › Configuration › Marketplaces, con il proprio profilo, la propria chiave e il proprio negozio.
E se non voglio che gli ordini vengano accettati automaticamente?
Deseleziona «Auto Accept Orders» e «Accept Pending On Import» dopo aver scelto il profilo e salva: ciò che imposti a mano prevale sul profilo. Se in seguito scegli di nuovo il profilo in «Provider Code», le selezionerà di nuovo.
Continua a leggere
Verificato nel codice del connettore (versione 17.0, 18.0, 19.0 e 20.0)
Fonti
- Codice del modulo: flexigobe_mirakl_connector · 17.0 f10058e · 18.0 0d42567 · 19.0 9939dcd · 20.0 5c53911: models/mirakl_instance.py (_onchange_provider_code, _apply_provider_defaults_to_record, _should_apply_provider_default), views/menu_views.xml, views/mirakl_instance_views.xml; flexigobe_mirakl_provider_leroy_merlin · 17.0 e4e5b5d · 18.0 01707b8 · 19.0 6e605bb · 20.0 f3f10df y flexigobe_mirakl_provider_decathlon · 17.0 d6944fe · 18.0 8b78e2d · 19.0 c0c6021 · 20.0 80e11d3: models/mirakl_instance.py (_mirakl_provider_default_values)
- Codice del modulo: flexigobe_mirakl_connector · 17.0 f10058e · 18.0 0d42567 · 19.0 9939dcd · 20.0 5c53911: models/mirakl_instance.py (cron_sync_orders, cron_accept_orders, cron_sync_returns), data/ir_cron_data.xml
- Codice del modulo: flexigobe_mirakl_connector · 17.0 f10058e · 18.0 0d42567 · 19.0 9939dcd · 20.0 5c53911: models/mirakl_instance.py (_mirakl_provider_known_hosts, _onchange_connection_urls, _mirakl_detect_provider_from_urls); proveedores Leroy Merlin y Decathlon (mismos commits que mir.prov.perfil): _mirakl_provider_detection_signatures
- Codice del modulo: flexigobe_mirakl_provider_leroy_merlin · 17.0 e4e5b5d · 18.0 01707b8 · 19.0 6e605bb · 20.0 f3f10df: models/mirakl_instance.py; flexigobe_mirakl_provider_decathlon (commits de mir.prov.perfil): models/mirakl_instance.py; flexigobe_mirakl_connector (commits de mir.prov.perfil): models/mirakl_marketplace_profile_mixin.py
- Codice del modulo: flexigobe_mirakl_connector · 17.0 f10058e · 18.0 0d42567 · 19.0 9939dcd · 20.0 5c53911: models/stock_picking.py (button_validate, _mirakl_sync_sale_shipping_contacts, action_mirakl_push_tracking), models/mirakl_instance.py (_mirakl_auto_push_tracking_on_validate), views/stock_picking_views.xml; proveedores Leroy Merlin y Decathlon: _mirakl_auto_push_tracking_on_validate y _mirakl_repair_shipping_before_validate devuelven True
- Codice del modulo: flexigobe_mirakl_connector · 17.0 f10058e · 18.0 0d42567 · 19.0 9939dcd · 20.0 5c53911: models/mirakl_instance.py (push de seguimiento con _mirakl_supports_advanced_tracking_flow)
