Un cas de principi a fi: una botiga connecta Shopee
Exemple Cas il·lustratiu: l'empresa i les seves dades són inventades per explicar el flux.
Papereria Arrecife és una empresa inventada que ven material d'oficina i ja treballa amb Odoo. El seu responsable instal·la Shopee Marketplace Connector (APAC) i el posa en marxa en una tarda. Pel camí es troba gairebé tots els avisos del mòdul. Els veiem en l'ordre en què li van sortint, amb el que significa cadascun i el que fa per continuar.
Primera parada: el compte del marketplace
El primer és crear el compte. Com que a l'equip també venen en altres llocs, prova de triar un marketplace diferent de Shopee i Odoo li respon amb %s is not available: this connector only connects Shopee. El mòdul té un altre avís amb el mateix sentit: Only Shopee accounts can be connected. Tots dos diuen el mateix: aquest connector només connecta Shopee. Què fa: deixa el compte a Shopee.
Després, sense adonar-se'n, crea un segon compte amb el mateix shop_id que el primer dins la mateixa empresa. En desar surt Each marketplace account (shop_id) must be unique per company. La regla és al mateix text: a cada empresa, un shop_id només pot estar en un compte. Què fa: esborra l'esborrany i treballa sobre el compte que ja existia.
Al mateix compte omple la freqüència de sincronització amb un valor per sota del mínim i es troba amb Sync frequency must be between 5 and 60 minutes. Ho corregeix amb un valor dins d'aquest marge, entre 5 i 60 minuts. En escriure el llindar de detecció de conflictes s'equivoca de xifra i apareix Conflict detection threshold must be between 0 and 100%. Posa un valor entre 0 i 100% i desa.
Segona parada: categories, atributs i productes
Amb el compte a punt, passa als mapatges. Comença per les categories: associa una categoria d'Odoo a una categoria de Shopee i, més tard, intenta associar la mateixa categoria d'Odoo a una altra categoria de Shopee al mateix compte. Surt Each Odoo category maps to one marketplace category per account. Què fa: edita el mapatge que ja tenia en lloc de crear-ne un altre.

Amb els atributs li passa el mateix. En repetir un atribut d'Odoo per al mateix compte, l'avís és Each Odoo attribute maps to one marketplace attribute per account. La sortida és la mateixa: un atribut d'Odoo, un atribut de marketplace per compte.

Després mapa productes. Duplica sense voler el mapatge d'una variant al mateix compte i rep One mapping per product per account. En corregir-ho, copia l'ID de producte de Shopee d'una altra línia i salta Marketplace product ID must be unique per account. Dues regles diferents: cada producte té un sol mapatge per compte i cada ID de producte del marketplace només pot aparèixer una vegada per compte. Revisa la llista i deixa un mapatge per producte amb el seu propi ID.

Tercera parada: la importació de comandes
En importar la primera comanda apareix No product of the order %s is mapped to the account %s: map them in Product Mappings and try again. El missatge ja indica el camí: cap producte d'aquesta comanda no està mapat a aquest compte. Què fa: entra a Product Mappings, mapa els productes d'aquesta comanda i ho torna a provar.
En un altre intent li surt %s did not return the order %s: %s. El text diu que no s'ha retornat la comanda i afegeix un detall al final. Què fa: llegeix aquest detall sencer abans de reintentar-ho i el desa per a qui li dona suport.
Finalment, una companya esborra un compte de prova que tenia una comanda pendent. En importar-la surt 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. Aquí el missatge proposa dues sortides i Papereria Arrecife en tria una: crear la comanda de venda a mà, o esborrar la retenció (hold) perquè la següent importació de l'empresa la creï.
Quarta parada: el registre de sincronització
En revisar el registre de sincronització, el responsable intenta corregir una línia i obté Sync logs are immutable after creation. You cannot edit them. Prova llavors d'esborrar-la i l'avís és Sync logs cannot be deleted. They are part of the immutable audit trail. El mòdul no deixa editar ni esborrar aquests registres: formen part de la pista d'auditoria. Què fa: deixar-los com estan i corregir la dada al seu origen.
L'avís d'empresa que surt en diversos llocs
Hi ha un missatge que el mòdul repeteix en diversos tipus de registre: The company of a %s is the one of its marketplace account. El que diu és que l'empresa d'aquest registre és la del seu compte de marketplace. Si et surt, no intentis donar a aquest registre una empresa diferent de la del seu compte: revisa a quina empresa pertany el compte de marketplace i treballa des d'allà.

Què aprendre del cas
Els avisos de Papereria Arrecife s'agrupen pel moment en què surten:
- Compte: només Shopee, un
shop_idper empresa, freqüència entre 5 i 60 minuts i llindar de conflictes entre 0 i 100%. - Mapatges: una categoria d'Odoo i un atribut d'Odoo per compte, un mapatge per producte i compte, i un ID de producte del marketplace únic per compte.
- Comandes: sense productes mapats no hi ha importació; si el compte de la comanda ja no existeix, el mateix missatge et dona les dues sortides.
- Registre: els registres de sincronització no s'editen ni s'esborren.
- Empresa: l'empresa de cada registre és la del seu compte de marketplace.
Si vols veure quins camps cal omplir abans d'arribar a aquests avisos, tens la posada en marxa del connector, i per entendre què recorre cada registre, com funciona per dins.
Com t'ajuda FlexigoTech
El connector apareix gratis (sense IVA) a Odoo Apps per a Odoo 17, 18, 19 i 20; el tens a la fitxa d'Odoo Apps i a la seva pàgina a flexigotech.com. Si prefereixes que algú el deixi funcionant amb tu, a FlexigoTech implantem Odoo 17, 18, 19 i 20 i desenvolupem connectors i integracions a mida quan el que necessites va més enllà del que fa el mòdul.
Continua llegint
Comprovat al codi del mòdul (versió 20.0) i a les fonts enllaçades
Fonts
- Codi del mòdul: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_attribute_mapping.py
- Codi del mòdul: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_category_mapping.py
- Codi del mòdul: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_config.py
- Codi del mòdul: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_order_hold.py
- Codi del mòdul: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_product_mapping.py
- Codi del mòdul: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_sync_conflict.py
- Codi del mòdul: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_sync_log.py
- Codi del mòdul: 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
