Un caso dall'inizio alla fine: un negozio collega Shopee
Esempio Caso illustrativo: l'azienda e i suoi dati sono inventati per spiegare il flusso.
Cartoleria Arrecife è un'azienda inventata che vende materiale per ufficio e lavora già con Odoo. Il suo responsabile installa Shopee Marketplace Connector (APAC) e lo mette in funzione in un pomeriggio. Strada facendo incontra quasi tutti gli avvisi del modulo. Li vediamo nell'ordine in cui gli compaiono, con il significato di ciascuno e cosa fa per andare avanti.
Prima tappa: l'account del marketplace
Il primo passo è creare l'account. Visto che il team vende anche altrove, prova a scegliere un marketplace diverso da Shopee e Odoo risponde con %s is not available: this connector only connects Shopee. Il modulo ha un altro avviso con lo stesso senso: Only Shopee accounts can be connected. Entrambi dicono la stessa cosa: questo connettore collega solo Shopee. Cosa fa: lascia l'account su Shopee.
Poi, senza accorgersene, crea un secondo account con lo stesso shop_id del primo nella stessa azienda. Al salvataggio compare Each marketplace account (shop_id) must be unique per company. La regola è nel testo stesso: in ogni azienda, uno shop_id può stare in un solo account. Cosa fa: elimina la bozza e lavora sull'account che esisteva già.
Nello stesso account inserisce una frequenza di sincronizzazione sotto il minimo e si trova davanti Sync frequency must be between 5 and 60 minutes. La corregge con un valore in quell'intervallo, tra 5 e 60 minuti. Quando scrive la soglia di rilevamento dei conflitti sbaglia cifra e appare Conflict detection threshold must be between 0 and 100%. Inserisce un valore tra 0 e 100% e salva.
Seconda tappa: categorie, attributi e prodotti
Con l'account pronto, passa alle mappature. Comincia dalle categorie: associa una categoria di Odoo a una categoria di Shopee e, più tardi, prova ad associare la stessa categoria di Odoo a un'altra categoria di Shopee nello stesso account. Compare Each Odoo category maps to one marketplace category per account. Cosa fa: modifica la mappatura che aveva già invece di crearne un'altra.

Con gli attributi succede lo stesso. Ripetendo un attributo di Odoo per lo stesso account, l'avviso è Each Odoo attribute maps to one marketplace attribute per account. La soluzione è la stessa: un attributo di Odoo, un attributo del marketplace per account.

Poi mappa i prodotti. Duplica per sbaglio la mappatura di una variante nello stesso account e riceve One mapping per product per account. Correggendola, copia l'ID prodotto Shopee da un'altra riga e scatta Marketplace product ID must be unique per account. Due regole distinte: ogni prodotto ha una sola mappatura per account e ogni ID prodotto del marketplace può comparire una sola volta per account. Controlla l'elenco e lascia una mappatura per prodotto con il suo ID.

Terza tappa: l'importazione degli ordini
Importando il primo ordine compare No product of the order %s is mapped to the account %s: map them in Product Mappings and try again. Il messaggio indica già la strada: nessun prodotto di quell'ordine è mappato su quell'account. Cosa fa: entra in Product Mappings, mappa i prodotti di quell'ordine e riprova.
In un altro tentativo gli compare %s did not return the order %s: %s. Il testo dice che l'ordine non è stato restituito e aggiunge un dettaglio alla fine. Cosa fa: legge tutto il dettaglio prima di riprovare e lo conserva per chi gli fornisce assistenza.
Infine, una collega elimina un account di prova che aveva un ordine in sospeso. Importandolo compare The account of the order %s no longer exists: create its sales order by hand, or delete the hold so that the next import of the company makes it. Qui il messaggio propone due soluzioni e Cartoleria Arrecife ne sceglie una: creare l'ordine di vendita a mano, oppure eliminare la sospensione (hold) perché la prossima importazione dell'azienda lo crei.
Quarta tappa: il log di sincronizzazione
Controllando il log di sincronizzazione, il responsabile prova a correggere una riga e ottiene Sync logs are immutable after creation. You cannot edit them. Prova allora a eliminarla e l'avviso è Sync logs cannot be deleted. They are part of the immutable audit trail. Il modulo non permette di modificare né eliminare quei record: fanno parte della traccia di audit. Cosa fa: li lascia come sono e corregge il dato alla fonte.
L'avviso sull'azienda che compare in più punti
C'è un messaggio che il modulo ripete in diversi tipi di record: The company of a %s is the one of its marketplace account. Significa che l'azienda di quel record è quella del suo account marketplace. Se ti compare, non cercare di assegnare a quel record un'azienda diversa da quella del suo account: verifica a quale azienda appartiene l'account marketplace e lavora da lì.

Cosa imparare dal caso
Gli avvisi di Cartoleria Arrecife si raggruppano in base al momento in cui compaiono:
- Account: solo Shopee, uno
shop_idper azienda, frequenza tra 5 e 60 minuti e soglia dei conflitti tra 0 e 100%. - Mappature: una categoria di Odoo e un attributo di Odoo per account, una mappatura per prodotto e account, e un ID prodotto del marketplace univoco per account.
- Ordini: senza prodotti mappati non c'è importazione; se l'account dell'ordine non esiste più, il messaggio stesso ti dà le due soluzioni.
- Log: i log di sincronizzazione non si modificano né si eliminano.
- Azienda: l'azienda di ogni record è quella del suo account marketplace.
Se vuoi vedere quali campi compilare prima di arrivare a questi avvisi, trovi la messa in funzione del connettore, e per capire cosa attraversa ogni record, come funziona dall'interno.
Come ti aiuta FlexigoTech
Il connettore è disponibile gratis (IVA esclusa) su Odoo Apps per Odoo 17, 18, 19 e 20; lo trovi nella scheda di Odoo Apps e nella sua pagina su flexigotech.com. Se preferisci che qualcuno lo metta in funzione insieme a te, in FlexigoTech implementiamo Odoo 17, 18, 19 e 20 e sviluppiamo connettori e integrazioni su misura quando ciò che ti serve va oltre quello che fa il modulo.
Continua a leggere
Verificato nel codice del modulo (versione 20.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_attribute_mapping.py
- Codice del modulo: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_category_mapping.py
- Codice del modulo: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_config.py
- Codice del modulo: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_order_hold.py
- Codice del modulo: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_product_mapping.py
- Codice del modulo: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_sync_conflict.py
- Codice del modulo: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_sync_log.py
- Codice del modulo: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_sync_queue.py
- apps.odoo.com/apps/modules/20.0/flexigo_apac_e_commerce_marketplaces_bundle
- apps.odoo.com/apps/modules/17.0/flexigo_apac_e_commerce_marketplaces_bundle
- apps.odoo.com/apps/modules/18.0/flexigo_apac_e_commerce_marketplaces_bundle
- apps.odoo.com/apps/modules/19.0/flexigo_apac_e_commerce_marketplaces_bundle
- flexigotech.com/en/services.html
