Vor dem ersten Durchlauf
Nach der Installation deaktiviert
Die Aufgabe Shopify-Bestellungen synchronisieren läuft alle 5 Minuten, wird aber deaktiviert installiert: Solange sie niemand aktiviert, gibt es keine Durchläufe. Sie existiert in den Versionen 17, 18, 19 und 20. In Odoo 17.0 ist sie so konfiguriert, dass sie sich unbegrenzt wiederholt.

Der Name der Aufgabe hängt von der Sprache Ihres Odoo ab: Mit Odoo auf Spanisch lautet er Sincronizar pedidos de Shopify; auf Deutsch Shopify-Bestellungen synchronisieren; auf Französisch Synchroniser les commandes Shopify; auf Italienisch Sincronizza ordini Shopify; auf Portugiesisch Sincronizar encomendas Shopify.

Nur ein Administrator führt sie aus
Als Erstes prüft die Methode, dass der Ausführende Systemadministrator ist. Ist er es nicht, bricht sie mit Only an administrator can run this scheduled action. ab und sieht sich keinen Shop an.
Nicht jeder Shop kommt in den Durchlauf
Die Aufgabe bearbeitet nur Shops, die aktiv sind, bei denen die Bestellsynchronisierung aktiviert ist und die ein Zugriffstoken oder das API-Secret der App gespeichert haben. Der Code erklärt die letzte Voraussetzung: Ein Shop mit Client-Zugangsdaten hat möglicherweise noch kein gespeichertes Token, bis sein erster Aufruf es erzeugt; es genügt also, dass er Zugangsdaten hat. Dieser Filter entscheidet, wer dabei ist.
Die Shop-Karten öffnen Sie über Shopify › Konfiguration › Shops (Shopify › Configuration › Stores). Jeder Abschnitt des Menüs verlangt eine Berechtigung: Konfiguration (Configuration) verlangt Operator und Shopify verlangt Betrachter (Viewer). Haben Sie keine davon, sehen Sie diesen Abschnitt nicht.

Was bei jedem Durchlauf passiert
Ein ruhiger Shop geht nicht seinen ganzen Verlauf durch
Die erste Suche verbindet die Importbedingungen des Shops mit einem Datumsfilter. Findet sie nichts, wiederholt der Code die Suche ohne Datumsfilter nur dann, wenn der Shop noch nie Bestellungen importiert hat. Hat er schon welche importiert, endet der Durchlauf hier: Der Code behandelt dieses Ergebnis als Normalzustand eines Shops ohne Bewegung, und eine Suche ohne Filter würde bei jedem Durchlauf den Verlauf ab der ältesten Bestellung durchgehen.
Null Bestellungen sind kein Fehler, hinterlassen aber eine Meldung
Bringt der Durchlauf keine einzige Bestellung (auch nicht nach der Suche ohne Filter, wenn der Shop noch nie etwas importiert hatte), behandelt der Code das nicht als Fehler und hinterlässt auf der Shop-Karte eine Meldung: Die Shopify-Bestellsynchronisierung hat 0 Bestellungen für … zurückgegeben. Prüfen Sie, ob diese App mit dem erwarteten Shop verbunden ist, und fügen Sie den Scope read_all_orders hinzu, wenn Sie Bestellungen benötigen, die älter als 60 Tage sind. Anstelle der Auslassungspunkte steht die Domain des Shops. In diesem Fall ändert sich das Datum der letzten Synchronisierung nicht.
Sehen Sie seit Tagen keine Bestellungen, lesen Sie diese Meldung: Sie bittet Sie zu prüfen, ob die App mit dem richtigen Shop verbunden ist, und, falls Sie Bestellungen benötigen, die älter als 60 Tage sind, den Scope read_all_orders hinzuzufügen.
Bei Abbruch durch das Seitenlimit geht das Datum nicht zurück
Importiert der Durchlauf Bestellungen, speichert er das Datum der letzten Synchronisierung, setzt den Zähler für aufeinanderfolgende Fehler auf null und löscht den letzten Fehler. Wurde er durch das Seitenlimit gestoppt, speichert er das Datum der zuletzt importierten Bestellung statt der aktuellen Uhrzeit, sofern es nach der gespeicherten letzten Synchronisierung liegt (oder keine existierte); andernfalls speichert er die aktuelle Uhrzeit. So bewegt sich das Datum nicht rückwärts: Der Code vermeidet damit, dass ein abgebrochener Durchlauf, der am Anfang des Verlaufs begonnen hat, dazu zwingt, ihn erneut zu durchlaufen, während die heutigen Bestellungen warten.
In diesem Fall hinterlässt die Aufgabe außerdem eine Meldung auf der Shop-Karte, die darauf hinweist, dass noch Bestellungen ausstehen und ab welchem Datum der nächste Durchlauf fortfährt.
Ein Shop nach dem anderen, und bei echtem Fehler bleibt eine Spur
Die Aufgabe geht die Shops einzeln durch und ruft die Synchronisierung jedes Shops innerhalb eines Blocks auf, der Fehler abfängt. Tritt ein unerwarteter Fehler auf, erhöht der Shop seinen Zähler für aufeinanderfolgende Fehler um eins und speichert den letzten Fehler. Der Fehler steigt bis zur Aufgabe auf, die ihn mit dem Namen des Shops im Serverprotokoll vermerkt und mit dem nächsten Shop weitermacht: Der Fehler eines Shops bremst die anderen nicht.
Es gibt zwei Ausnahmen. Hat FlexigoTech Cloud die Synchronisierung pausiert, verwirft der Code den Eintrag dieses Durchlaufs, damit er nicht als fehlgeschlagen stehen bleibt. Und eine eigene Warnung des Moduls, von der Art, die Odoo in einem Fehlerdialog anzeigt, erhöht den Zähler für aufeinanderfolgende Fehler nicht.
Wenn sie nichts zu tun scheint
- Prüfen Sie, ob die Aufgabe aktiv ist: Sie wird deaktiviert installiert.
- Prüfen Sie, ob der Ausführende Systemadministrator ist.
- Denken Sie daran, was die Aufgabe von jedem Shop verlangt: aktiv sein, die Bestellsynchronisierung aktiviert haben und ein Zugriffstoken oder das Secret der App gespeichert haben. Die Karten öffnen Sie über
Shopify › Konfiguration › Shops. - Lesen Sie die Meldungen auf der Shop-Karte: Die über null Bestellungen sagt Ihnen, was zu prüfen ist.
- Bedenken Sie, dass ohne Abonnement oder bei ausgesetztem Dienst das stoppt, was das Abonnement liefert; die Daten bleiben in Ihrem Odoo.
Abonnement und Hilfe
Das Modul wird einmalig pro Version bezahlt und benötigt das Abonnement für FlexigoTech Cloud: Tarif Konnektor, 49 € pro Monat oder 490 € pro Jahr zzgl. MwSt., bis zu 3 Konten der Plattform. Die Verbindung läuft über FlexigoTech Cloud, das die Zugangsdaten verschlüsselt speichert, die Synchronisierung überwacht und bei Fehlern per E-Mail benachrichtigt. Das Modul ist für Odoo 17, 18, 19 und 20 veröffentlicht; den Preis jeder Version finden Sie auf der Odoo-Apps-Seite oder auf der Seite des Moduls.
Für den Bestand gibt es einen weiteren Artikel: was die Bestands-Schaltfläche des Moduls macht. Wenn Sie Odoo mit Shopify oder einen maßgeschneiderten Konnektor einführen möchten: FlexigoTech führt Odoo 17, 18, 19 und 20 ein und entwickelt maßgeschneiderte Konnektoren und Integrationen.
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
