Was diese Aufgabe ist und wann sie läuft
Shopify Connector for Odoo enthält eine geplante Aktion mit dem Namen Shopify-Webhooks verarbeiten (Shopify Process Webhooks). Sie gehört zum Modell der Shopify-Shops und führt die Methode aus, die die empfangenen Webhook-Ereignisse verarbeitet. Sie läuft jede Minute und ist nach der Installation des Moduls aktiv. Es gibt sie in allen veröffentlichten Versionen (17.0, 18.0, 19.0 und 20.0); in Odoo 17.0 ist sie außerdem so eingestellt, dass sie sich endlos wiederholt.

Shopify › Konfiguration › Shops (Shopify › Configuration › Stores).Mit Odoo auf Deutsch heißt die Aufgabe Shopify-Webhooks verarbeiten; dieses Schema zeigt ihren Namen in anderen Sprachen:

Shopify-Webhooks verarbeiten; auf Spanisch Procesar webhooks de Shopify; auf Französisch Traiter les webhooks Shopify; auf Italienisch Elabora webhook Shopify; auf Portugiesisch Processar webhooks Shopify.
Zeitablauf eines Durchlaufs
In Odoo 20.0 folgt ein Durchlauf dieser Reihenfolge:
- Jede Minute Odoo startet die Aufgabe. Als Erstes prüft sie, ob der Ausführende Systemadministrator ist; ist er es nicht, kann sie mit
Only an administrator can run this scheduled action.abbrechen und verarbeitet nichts.
- Zu Beginn Sie sucht die ausstehenden Webhook-Ereignisse. Sie sortiert sie vom ältesten zum neuesten nach Empfangsdatum (bei Gleichstand nach Erstellungsreihenfolge) und nimmt pro Durchlauf höchstens 50.
- Ereignis ohne Shop Hat ein Ereignis keinen zugeordneten Shop, markiert die Aufgabe es als fehlgeschlagen, setzt die Verarbeitungszeit und eine Fehlermeldung und geht zum nächsten über.
- Ereignis mit Shop Die Aufgabe bittet den Shop, das Ereignis entsprechend seinem Thema zu verarbeiten (weiter unten, Thema für Thema). Läuft alles gut, gilt das Ereignis als verarbeitet, mit Verarbeitungszeit, gespeichertem Ergebnis und ohne Fehlermeldung. Nach jedem Ereignis speichert die Aufgabe die Änderungen in der Datenbank.
- Wenn die Verarbeitung fehlschlägt Das Ereignis gilt als fehlgeschlagen, mit Verarbeitungszeit, Fehlertext und Teilergebnis (den Zählern für Aufträge, Produkte und Bestand). Die Aufgabe hält nicht an: Sie macht mit dem nächsten Ereignis weiter.
- Wenn etwas anderes fehlschlägt Entweicht eine Ausnahme aus der Verarbeitung eines Ereignisses, notiert die Aufgabe sie im Serverprotokoll, macht die ausstehenden Änderungen dieser Runde rückgängig und fährt mit dem Rest fort.
- Nach den Ereignissen Sie sucht Shopify-Bestellungen, die einen zugeordneten Verkaufsauftrag im Entwurf oder im Status gesendet haben, deren Shop die automatische Bestätigung von Verkäufen aktiviert hat und die nicht die Markierung manueller Verkaufsauftrag tragen. Sie nimmt sie von den zuletzt aktualisierten zu den ältesten, bis zu 50, und bittet um deren Bestätigung; schlägt dieser Teil fehl, wird der Fehler notiert und die Aufgabe hält nicht an.
- Zum Schluss Wurde ein Verkaufsauftrag bestätigt, hält der Code das im Serverprotokoll fest. Schlägt dieser letzte Teil fehl, wird der Fehler notiert und nur dieser Schritt rückgängig gemacht: Was von den Ereignissen bereits gespeichert ist, bleibt erhalten.
Was mit jedem Ereignis je nach Thema passiert
Das Thema des Ereignisses wird in Großbuchstaben gelesen und entscheidet, was geschieht:
APP_UNINSTALLED: Der Shop wird deaktiviert, und sein Zugriffstoken, sein Aktualisierungstoken und das Ablaufdatum des Tokens werden geleert.- Themen, die mit
ORDERS_beginnen: Hat der Shop die Synchronisation von Aufträgen per Webhook aktiviert, übergibt die Aufgabe den Auftrag des Ereignisses an den Prozess der Auftragssynchronisation und speichert im Ergebnis, wie viele behandelt wurden. - Themen, die mit
PRODUCTS_beginnen: Hat der Shop die Synchronisation von Produkten per Webhook aktiviert, übergibt die Aufgabe das Produkt des Ereignisses an den Prozess der Produktsynchronisation und speichert im Ergebnis, wie viele behandelt wurden. - Themen, die mit
INVENTORY_LEVELSbeginnen: Nur wenn der Shop die Bestandssynchronisation per Webhook und zusätzlich die Bestandssynchronisation allgemein aktiviert hat, übergibt die Aufgabe die Bestandsänderung an den Prozess, der sie anwendet; bestätigt dieser Prozess sie, vermerkt das Ergebnis eine Bestandsaktualisierung.
Ein wichtiges Detail: Ist das Thema keines dieser Themen oder ist die entsprechende Einstellung des Shops deaktiviert, übergibt die Aufgabe nichts zur Synchronisation, aber das Ereignis gilt trotzdem als verarbeitet, mit Zählern auf null. Ein verarbeitetes Ereignis bedeutet also nicht, dass ein Auftrag, ein Produkt oder der Bestand angefasst wurde.
Was Sie prüfen, wenn nichts passiert
- Die Aufgabe muss aktiv sein. Sie ist nach der Installation aktiv und läuft jede Minute.
- Wer sie ausführt. Startet sie jemand, der nicht Systemadministrator ist, kann sie mit
Only an administrator can run this scheduled action.abbrechen. - Sie nimmt nur ausstehende Ereignisse. Ein als fehlgeschlagen markiertes Ereignis kommt nicht erneut in diese Aufgabe. Sind viele ausstehend, werden pro Durchlauf die ältesten verarbeitet, bis zu 50, der Rest wartet auf die nächsten Durchläufe.
- Ergebnis mit Zählern auf null. Das passiert, wenn das Thema des Ereignisses nicht zu denen gehört, die die Aufgabe behandelt, oder wenn der Shop die Synchronisation per Webhook dieses Typs nicht aktiviert hat (beim Bestand auch die Bestandssynchronisation allgemein). Das Ereignis wird als verarbeitet markiert, ohne dass etwas zur Synchronisation übergeben wird.
- Deaktivierter Shop. Ein Ereignis
APP_UNINSTALLEDdeaktiviert den Shop und löscht seine Token. - Verkaufsaufträge, die im Entwurf bleiben. Die automatische Bestätigung verlangt, dass der Shop sie aktiviert hat, dass der Verkaufsauftrag im Entwurf oder gesendet ist und dass die Shopify-Bestellung nicht die Markierung manueller Verkaufsauftrag trägt. Sie prüft nur bis zu 50 Bestellungen pro Durchlauf.
Die Shops öffnen Sie über Shopify › Konfiguration › Shops (Shopify › Configuration › Stores). Um dieses Menü zu sehen, benötigen Sie die Berechtigung Operator im Bereich Konfiguration (Configuration) und Betrachter (Viewer) im Bereich Shopify.
Preis und Hilfe
Das Modul ist eine Einmalzahlung pro Version und benötigt das Abonnement für FlexigoTech Cloud, Plan Conector: 49 € pro Monat oder 490 € pro Jahr, zzgl. MwSt. Es ist für Odoo 17, 18, 19 und 20 veröffentlicht. Die Verbindung läuft über FlexigoTech Cloud, das die Zugangsdaten verschlüsselt speichert, die Synchronisation überwacht und per E-Mail warnt, wenn sie fehlschlägt.
Wenn Sie Odoo mit Shopify einführen oder eine individuelle Integration benötigen: FlexigoTech führt Odoo 17, 18, 19 und 20 ein und entwickelt Konnektoren. Mehr Details finden Sie auf der Seite des Moduls und in seinem Eintrag in den Odoo Apps.
Weiterlesen
Geprüft im Quellcode des Connectors (Version 17.0 und 20.0) und in den verlinkten Quellen
Quellen
- Quellcode des Moduls: flexigobe_shopify_seller_connector 20.0 (d7e627b4): data/ir_cron_data.xml
- Quellcode des Moduls: flexigobe_shopify_seller_connector 17.0 (437257e3): data/ir_cron_data.xml
- Quellcode des Moduls: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Quellcode des Moduls: 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
