Què és aquesta tasca i quan s'executa
Shopify Connector for Odoo inclou una tasca programada anomenada Shopify Process Webhooks. Pertany al model de les botigues de Shopify i executa el mètode que processa els esdeveniments de webhook rebuts. S'executa cada minut i ve activa en instal·lar el mòdul. Existeix a totes les branques publicades (17.0, 18.0, 19.0 i 20.0); a Odoo 17.0, a més, està configurada per repetir-se sense fi.

Shopify › Configuration › Stores.Amb Odoo en català la tasca es diu Shopify Process Webhooks; aquest esquema recull el seu nom en altres idiomes:

Shopify Process Webhooks; en alemany, «Shopify-Webhooks verarbeiten»; en francès, «Traiter les webhooks Shopify»; en italià, «Elabora webhook Shopify»; en portuguès, «Processar webhooks Shopify».
Cronologia d'una passada
A Odoo 20.0, una passada segueix aquest ordre:
- Cada minut Odoo llança la tasca. El primer que fa és comprovar que qui l'executa és administrador del sistema; si no ho és, pot aturar-se amb
Only an administrator can run this scheduled action.i no processa res.
- En començar Busca els esdeveniments de webhook que estan pendents. Els ordena del més antic al més recent segons la seva data de recepció (i, si coincideixen, per ordre de creació) i n'agafa com a màxim 50 a cada passada.
- Esdeveniment sense botiga Si un esdeveniment no té botiga associada, la tasca el marca com a fallit, li posa l'hora de procés i un missatge d'error, i passa al següent.
- Esdeveniment amb botiga La tasca demana a la botiga que processi aquest esdeveniment segons el seu tema (més avall, tema per tema). Si tot va bé, l'esdeveniment queda com a processat, amb la seva hora de procés, el resultat desat i sense missatge d'error. Després de cada esdeveniment, la tasca desa els canvis a la base de dades.
- Si el processament falla L'esdeveniment queda com a fallit, amb l'hora de procés, el text de l'error i el resultat parcial (els comptadors de comandes, productes i estoc). La tasca no s'atura: continua amb el següent esdeveniment.
- Si falla alguna altra cosa Si una excepció s'escapa del processament d'un esdeveniment, la tasca l'anota al registre del servidor, desfà els canvis pendents d'aquella volta i continua amb la resta.
- En acabar els esdeveniments Busca comandes de Shopify que tinguin una comanda de venda associada en esborrany o enviada, amb la botiga amb la confirmació automàtica de vendes activada i que no portin la marca de comanda de venda manual. Les pren de les actualitzades més recentment a les més antigues, fins a 50, i en demana la confirmació; si aquesta part falla, l'error s'anota i la tasca no s'atura.
- En acabar Si s'ha confirmat alguna comanda de venda, el codi ho deixa anotat al registre del servidor. Si aquesta última part falla, s'anota l'error i es desfà només aquest pas: el que ja s'ha desat dels esdeveniments es manté.
Què fa amb cada esdeveniment segons el seu tema
El tema de l'esdeveniment es llegeix en majúscules i decideix què passa:
APP_UNINSTALLED: la botiga es desactiva i es buiden el seu token d'accés, el seu token d'actualització i la data de caducitat del token.- Temes que comencen per
ORDERS_: si la botiga té activada la sincronització de comandes per webhook, la tasca passa la comanda de l'esdeveniment al procés de sincronització de comandes i desa al resultat quantes se n'han tractat. - Temes que comencen per
PRODUCTS_: si la botiga té activada la sincronització de productes per webhook, la tasca passa el producte de l'esdeveniment al procés de sincronització de productes i desa al resultat quants se n'han tractat. - Temes que comencen per
INVENTORY_LEVELS: només si la botiga té activada la sincronització d'estoc per webhook i, a més, la sincronització d'estoc en general, la tasca passa el canvi d'inventari al procés que l'aplica; si aquest procés ho confirma, el resultat anota una actualització d'estoc.
Un detall que importa: si el tema no és cap d'aquests, o si l'ajust corresponent de la botiga està desactivat, la tasca no passa res a sincronitzar, però l'esdeveniment igualment queda com a processat, amb els comptadors a zero. Un esdeveniment processat no significa, per tant, que s'hagi tocat una comanda, un producte o l'estoc.
Què mirar si no fa res
- La tasca ha d'estar activa. Ve activa en instal·lar i s'executa cada minut.
- Qui l'executa. Si la llança algú que no és administrador del sistema, pot aturar-se amb
Only an administrator can run this scheduled action. - Només agafa esdeveniments pendents. Un esdeveniment marcat com a fallit no torna a entrar en aquesta tasca. Si n'hi ha molts de pendents, a cada passada es processen els més antics, fins a 50, i la resta espera les següents.
- Resultat amb comptadors a zero. Passa quan el tema de l'esdeveniment no és dels que la tasca tracta o quan la botiga no té activada la sincronització per webhook d'aquest tipus (per a l'estoc, també la sincronització d'estoc en general). L'esdeveniment es marca com a processat sense passar res a sincronitzar.
- Botiga desactivada. Un esdeveniment
APP_UNINSTALLEDdesactiva la botiga i esborra els seus tokens. - Comandes de venda que segueixen en esborrany. La confirmació automàtica exigeix que la botiga la tingui activada, que la comanda de venda estigui en esborrany o enviada i que la comanda de Shopify no porti la marca de comanda de venda manual. Només mira fins a 50 comandes per passada.
Les botigues s'obren des de Shopify › Configuration › Stores. Per veure aquest menú necessites el permís Operator al tram Configuration i Viewer al tram Shopify.
Preu i ajuda
El mòdul és de pagament únic per versió i necessita la subscripció a FlexigoTech Cloud, pla Connector: 49 €/mes o 490 €/any, sense IVA. Està publicat per a Odoo 17, 18, 19 i 20. La connexió passa per FlexigoTech Cloud, que desa xifrades les credencials, vigila la sincronització i avisa per correu si falla.
Si estàs implantant Odoo amb Shopify o necessites una integració a mida, FlexigoTech implanta Odoo 17, 18, 19 i 20 i desenvolupa connectors. Tens més detall a la pàgina del mòdul i a la seva fitxa d'Odoo Apps.
Continua llegint
Comprovat al codi del connector (versió 17.0 i 20.0) i a les fonts enllaçades
Fonts
- Codi del mòdul: flexigobe_shopify_seller_connector 20.0 (d7e627b4): data/ir_cron_data.xml
- Codi del mòdul: flexigobe_shopify_seller_connector 17.0 (437257e3): data/ir_cron_data.xml
- Codi del mòdul: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Codi del mòdul: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
