Naar hoofdinhoud
Shopify

Taak Shopify-webhooks verwerken: wat doet ze bij elke run

De geplande actie Shopify-webhooks verwerken (Shopify Process Webhooks) draait elke minuut: ze pakt maximaal 50 openstaande events, verwerkt ze een voor een en probeert daarna verkooporders in concept te bevestigen. Hier lees je wat er bij elke run gebeurt en waar je op let als het lijkt alsof er niets gebeurt.

FlexigoTech · Verantwoordelijk: Víctor Gómez · Bijgewerkt op 5 november 2026

In het kort

Module
Shopify
Versies
Odoo 17, 18, 19 en 20
Gecontroleerd
in de broncode van de connector, versie 17.0 en 20.0 · in de bronnen onderaan
Leestijd
5 min

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.

Schema met de geplande actie die elke minuut draait en actief staat na installatie, en het winkelmenu, met de Engelse labels uit de code
Schema gemaakt met code op basis van de gepubliceerde code van de module (geen Odoo-scherm): de geplande actie en het menu Shopify › Configuratie › Winkels.

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

Schema met de naam van de taak in meerdere talen: in het Nederlands Shopify-webhooks verwerken
Schema gemaakt met code op basis van de gepubliceerde vertalingen (geen Odoo-scherm): in het Nederlands 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».
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Video: Your Odoo doesn't talk to Amazon, Temu or Shopify? (video in het Engels)

Tijdlijn van een run

In Odoo 20.0 verloopt een run in deze volgorde:

  1. 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.
  1. 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.
  1. 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.
  1. 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.
  1. 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.
  1. 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.
  1. 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.
  1. 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

Wat de knop «Voorraad ophalen» van de Shopify-connector voor Odoo doetWat de knop Voorraad ophalen van de Shopify-connector voor Odoo doet: wanneer hij verschijnt, wat hij controleert, wat er verandert en welke fout kan komen.Melding 'is nu de primaire locatie' van de Shopify-connector voor OdooWat betekent de melding 'is nu de primaire locatie voor …' van de Shopify-connector voor Odoo, wanneer verschijnt ze en hoe wijzig je de primaire locatie?Fout bij het aanmaken van de verkooporder: Shopify-gegevens ontbrekenWat de melding in Shopify Connector for Odoo betekent als je op «Verkooporder aanmaken» klikt zonder ordergegevens, wanneer ze verschijnt en hoe je het oplost.
Gecontroleerd in de broncode van de connector (versie 17.0 en 20.0) en in de gelinkte bronnen

Bronnen