Wat deze taak is en wanneer ze draait
Shopify Connector for Odoo bevat een geplande actie met de naam Shopify-webhooks verwerken (Shopify Process Webhooks). Ze hoort bij het model van de Shopify-winkels en voert de methode uit die de ontvangen webhook-events verwerkt. Ze draait elke minuut en staat actief zodra je de module installeert. Ze bestaat in alle gepubliceerde branches (17.0, 18.0, 19.0 en 20.0); in Odoo 17.0 is ze bovendien ingesteld om zich eindeloos te herhalen.

Shopify › Configuratie › Winkels.Met Odoo in het Nederlands heet de taak Shopify-webhooks verwerken; dit schema toont haar naam in andere talen:

Shopify-webhooks verwerken; in het Duits «Shopify-Webhooks verarbeiten»; in het Frans «Traiter les webhooks Shopify»; in het Italiaans «Elabora webhook Shopify»; in het Portugees «Processar webhooks Shopify».
Tijdlijn van een run
In Odoo 20.0 verloopt een run in deze volgorde:
- Elke minuut Odoo start de taak. Het eerste wat ze doet is controleren of degene die haar uitvoert systeembeheerder is; zo niet, dan kan ze stoppen met
Only an administrator can run this scheduled action.en verwerkt ze niets.
- Bij de start Ze zoekt de webhook-events die openstaan. Ze sorteert ze van oud naar nieuw op ontvangstdatum (en bij gelijke datum op aanmaakvolgorde) en pakt er per run maximaal 50.
- Event zonder winkel Als een event geen gekoppelde winkel heeft, markeert de taak het als mislukt, zet er de verwerkingstijd en een foutmelding op en gaat door naar het volgende.
- Event met winkel De taak vraagt de winkel dat event te verwerken volgens het onderwerp (verderop, onderwerp per onderwerp). Gaat alles goed, dan staat het event als verwerkt, met de verwerkingstijd, het opgeslagen resultaat en zonder foutmelding. Na elk event slaat de taak de wijzigingen op in de database.
- Als de verwerking mislukt Het event staat als mislukt, met de verwerkingstijd, de tekst van de fout en het gedeeltelijke resultaat (de tellers voor orders, producten en voorraad). De taak stopt niet: ze gaat verder met het volgende event.
- Als er iets anders misgaat Als een uitzondering ontsnapt uit de verwerking van een event, noteert de taak die in het serverlog, draait de openstaande wijzigingen van die ronde terug en gaat verder met de rest.
- Na de events Ze zoekt Shopify-orders met een gekoppelde verkooporder in concept of verzonden, waarvan de winkel automatische bevestiging van verkopen heeft ingeschakeld en die niet de markering van handmatige verkooporder dragen. Ze neemt ze van recentst bijgewerkt naar oudst, tot 50, en vraagt ze te bevestigen; mislukt dit deel, dan wordt de fout genoteerd en stopt de taak niet.
- Aan het eind Als er een verkooporder is bevestigd, legt de code dat vast in het serverlog. Mislukt dit laatste deel, dan wordt de fout genoteerd en wordt alleen die stap teruggedraaid: wat al van de events is opgeslagen blijft behouden.
Wat ze met elk event doet, per onderwerp
Het onderwerp van het event wordt in hoofdletters gelezen en bepaalt wat er gebeurt:
APP_UNINSTALLED: de winkel wordt gedeactiveerd en het toegangstoken, het vernieuwingstoken en de vervaldatum van het token worden leeggemaakt.- Onderwerpen die beginnen met
ORDERS_: als de winkel synchronisatie van orders via webhook heeft ingeschakeld, geeft de taak de order uit het event door aan het ordersynchronisatieproces en slaat ze in het resultaat op hoeveel er zijn behandeld. - Onderwerpen die beginnen met
PRODUCTS_: als de winkel synchronisatie van producten via webhook heeft ingeschakeld, geeft de taak het product uit het event door aan het productsynchronisatieproces en slaat ze in het resultaat op hoeveel er zijn behandeld. - Onderwerpen die beginnen met
INVENTORY_LEVELS: alleen als de winkel synchronisatie van voorraad via webhook heeft ingeschakeld en bovendien de voorraadsynchronisatie in het algemeen, geeft de taak de voorraadwijziging door aan het proces dat haar toepast; bevestigt dat proces dit, dan noteert het resultaat een voorraadupdate.
Een detail dat ertoe doet: als het onderwerp geen van deze is, of als de bijbehorende instelling van de winkel is uitgeschakeld, geeft de taak niets door om te synchroniseren, maar het event staat toch als verwerkt, met de tellers op nul. Een verwerkt event betekent dus niet dat er een order, een product of de voorraad is aangepast.
Waar je op let als ze niets doet
- De taak moet actief zijn. Ze staat actief na installatie en draait elke minuut.
- Wie haar uitvoert. Start iemand die geen systeembeheerder is haar, dan kan ze stoppen met
Only an administrator can run this scheduled action. - Ze pakt alleen openstaande events. Een event dat als mislukt is gemarkeerd, komt niet opnieuw in deze taak. Staan er veel open, dan worden per run de oudste verwerkt, tot 50, en wacht de rest op de volgende runs.
- Resultaat met tellers op nul. Dit gebeurt als het onderwerp van het event er niet een is dat de taak behandelt, of als de winkel de webhook-synchronisatie van dat type niet heeft ingeschakeld (voor voorraad ook de voorraadsynchronisatie in het algemeen). Het event wordt als verwerkt gemarkeerd zonder dat er iets te synchroniseren wordt doorgegeven.
- Gedeactiveerde winkel. Een
APP_UNINSTALLED-event deactiveert de winkel en wist haar tokens. - Verkooporders die in concept blijven. De automatische bevestiging vereist dat de winkel ze heeft ingeschakeld, dat de verkooporder in concept of verzonden is en dat de Shopify-order niet de markering van handmatige verkooporder draagt. Ze kijkt maar naar maximaal 50 orders per run.
De winkels open je via Shopify › Configuratie › Winkels. Om dat menu te zien heb je de rechten Operator in het onderdeel Configuratie en Lezer in het onderdeel Shopify nodig.
Prijs en hulp
De module is een eenmalige aankoop per versie en vereist het abonnement op FlexigoTech Cloud, plan Connector: € 49 per maand of € 490 per jaar, excl. btw. Ze is gepubliceerd voor Odoo 17, 18, 19 en 20. De verbinding loopt via FlexigoTech Cloud, dat de inloggegevens versleuteld bewaart, de synchronisatie bewaakt en per e-mail waarschuwt als het misgaat.
Ben je Odoo met Shopify aan het implementeren of heb je een integratie op maat nodig, dan implementeert FlexigoTech Odoo 17, 18, 19 en 20 en ontwikkelt connectoren. Meer details vind je op de pagina van de module en op de Odoo Apps-pagina.
Lees verder
Gecontroleerd in de broncode van de connector (versie 17.0 en 20.0) en in de gelinkte bronnen
Bronnen
- Broncode van de module: flexigobe_shopify_seller_connector 20.0 (d7e627b4): data/ir_cron_data.xml
- Broncode van de module: flexigobe_shopify_seller_connector 17.0 (437257e3): data/ir_cron_data.xml
- Broncode van de module: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Broncode van de module: 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
