Wo er sich befindet und wann er ausgelöst wird
Wo befindet sich der Button Produkte synchronisieren?
Öffnen Sie Shopify › Konfiguration › Shops (Shopify › Configuration › Stores) und rufen Sie das Formular des Shops auf, im Bildschirm Shopify-Instanzen (Shopify Instances): Dort ist der Button. Für den Zugang zum Menü benötigen Sie Berechtigungen: Der Zweig Konfiguration verlangt Operator und der Zweig Shopify verlangt Betrachter; fehlt eine davon, sehen Sie diesen Zweig nicht. Der Button hat keine Sichtbarkeitsbedingung und existiert in Odoo 17, 18, 19 und 20.

Produkte synchronisieren, für Odoo 17, 18, 19 und 20.Muss man ihn von Hand drücken?
Es gibt einen automatischen Weg: Die geplante Aufgabe Shopify-Produkte synchronisieren (Shopify Sync Products) ruft dieselbe Aktion jede Stunde auf, ist aber bei der Installation deaktiviert; solange das so bleibt, läuft sie nicht von allein. Daneben greift die Aufgabe Shopify-Webhooks verarbeiten (Shopify Process Webhooks), die jede Minute läuft und bei der Installation aktiv ist, auf eine andere Methode des Moduls zu: Diese fragt bei Shopify bestimmte Produkte anhand ihrer Kennung einzeln ab und durchläuft den Katalog nicht seitenweise. Mit Produkte synchronisieren lösen Sie den seitenweisen Durchlauf aus, wann Sie möchten, ohne auf die Aufgabe zu warten.
Wie heißt der Button, wenn Odoo in einer anderen Sprache läuft?
Mit Odoo auf Deutsch heißt er Produkte synchronisieren. Das folgende Schema enthält außerdem die Übersetzung ins Spanische, Französische, Italienische und Portugiesische.


Was er prüft und was er ändert
In Odoo 20 geht das Modul beim Klick auf den Button so vor:
Was geschieht gleich zu Beginn?
Es legt einen Eintrag im Synchronisierungsprotokoll an, vom Typ Produkte und in Bearbeitung, und bereitet eine Abfrage an Shopify vor. Pro Produkt fragt die Abfrage Titel, Vendor, Produkttyp, Status, Handle, Beschreibung, Tags, Aktualisierungsdatum, Hauptbild, Optionen und Varianten ab (SKU, Titel, Preis, Vergleichspreis, Barcode, Lagerbestandsmenge, gewählte Optionen, Lagerartikel und Bild). Die Produkte kommen nach Aktualisierungsdatum sortiert an. Bevor es jedes Produkt speichert, stellt das Modul sicher, dass es alle seine Varianten enthält.
Wird jedes Mal der gesamte Katalog geladen?
Das hängt vom Feld Letzte Produktsynchronisierung (Last Product Sync) ab, das im Formular des Shops und in der Liste der Shopify-Instanzen sichtbar und nur lesbar ist: Es wird vom Code befüllt, nicht von Ihnen. Ist es leer, läuft die Abfrage ohne Datumsfilter. Hat es einen Wert, fragt das Modul nur die seit diesem Datum (einschließlich) aktualisierten Produkte ab. Wenn der Durchlauf vollständig abgeschlossen ist, springt das Feld auf die aktuelle Uhrzeit.
Was passiert, wenn es mehr Produkte als Seiten gibt?
Zwei Einstellungen bestimmen die Größe des Durchlaufs, im Formular des Shops, Reiter Vorgänge (Operations), Gruppe Synchronisierungseinstellungen (Sync Settings). Seitengröße (Page Size) steht standardmäßig auf 50; die Hilfe weist darauf hin, dass Shopify die Abfrage oberhalb von 100 ablehnt und dass eine große Seite bei einer informationsreichen Abfrage das Kostenlimit überschreiten kann, und der Button fragt nie mehr als 100 pro Seite ab. Max. Seiten (Max Pages) steht standardmäßig auf 20. Der Durchlauf endet, wenn Shopify keine weiteren Seiten hat oder dieses Maximum erreicht ist.
Wird er mit noch offenen Seiten abgebrochen, hinterlässt das Modul im Formular des Shops eine Meldung, dass der Durchlauf am Seitenlimit angehalten wurde, und ab welchem Datum der nächste fortfährt. Das Feld Letzte Produktsynchronisierung springt dann auf das Aktualisierungsdatum des zuletzt gelesenen Produkts, sofern dieses Datum später als das gespeicherte ist (oder keines gespeichert war); andernfalls springt es auf die aktuelle Uhrzeit.
Bricht ein fehlschlagendes Produkt die Synchronisierung ab?
Nein. Jedes Produkt wird isoliert gespeichert: Schlägt eines fehl, überspringt das Modul es, hinterlässt eine Warnung im Serverprotokoll und macht mit dem nächsten weiter. Am Ende vermerkt der Eintrag im Synchronisierungsprotokoll nur die gespeicherten Produkte als aktualisiert; die übersprungenen zählen nicht als Fehler, ein erfolgreicher Eintrag schließt also nicht aus, dass eines übersprungen wurde. Dafür gibt es die Warnung im Serverprotokoll.
Wenn er mit einem Fehler abbricht
Was passiert, wenn der Aufruf an Shopify fehlschlägt?
Jeder Aufruf erlaubt bis zu drei Versuche. Antwortet Shopify mit einem 401 (das Token ist nicht mehr gültig) und kann der Shop es erneuern, erneuert das Modul es und versucht es noch einmal. Antwortet es mit einem 429 (Ratenlimit), wartet es gemäß dem Header Retry-After und versucht es erneut, mit einer maximalen Wartezeit von dreißig Sekunden. Jede Antwort mit Code 400 oder höher, die sich so nicht lösen lässt, stoppt den Aufruf mit einem Fehler. Kommt der Fehler aus der Produktschleife, wird der Protokolleintrag als fehlgeschlagen mit dem Fehlertext markiert (auf höchstens 2000 Zeichen gekürzt), der Fehler wird erneut ausgelöst, damit die Aktion stoppt, und Letzte Produktsynchronisierung wird nicht aktualisiert.
Und wenn FlexigoTech Cloud die Verbindung pausiert?
Läuft die Verbindung des Shops über FlexigoTech Cloud, gehen die Aufrufe über deren Relay und Odoo verbindet sich nicht direkt mit dem Shop. Pausiert der Dienst sie, wird der gesamte Durchlauf angehalten, kein Produkt wird übersprungen und der Protokolleintrag wird gelöscht, statt als fehlgeschlagen zu bleiben.
Was Sie für die Nutzung brauchen
Das Modul ist eine Einmalzahlung pro Odoo-Version und für 17, 18, 19 und 20 veröffentlicht; den Preis jeder Version finden Sie in der Produktseite und auf der Modulseite. Außerdem benötigt es das Abonnement von FlexigoTech Cloud, Plan Konnektor: 49 €/Monat oder 490 €/Jahr zzgl. MwSt., bis zu 3 Plattformkonten (Plan Pro: 98 €/Monat oder 980 €/Jahr, bis zu 10). Die Verbindung speichert die Zugangsdaten verschlüsselt, überwacht die Synchronisierung und benachrichtigt per E-Mail, wenn sie fehlschlägt. Ohne Abonnement oder bei ausgesetztem Dienst stoppt das, was das Abonnement liefert; die Daten bleiben in Ihrem Odoo. Wenn Sie im Odoo App Store kaufen, wird dort jede Odoo-Version einzeln gekauft. Wenn Sie Odoo einführen oder die Integration an Ihren Katalog anpassen müssen: 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 20.0) und in den verlinkten Quellen
Quellen
- Quellcode des Moduls: flexigobe_shopify_seller_connector 20.0 (03641761): views/shopify_instance_views.xml
- Quellcode des Moduls: flexigobe_shopify_seller_connector 20.0 (03641761): models/shopify_instance.py
- Quellcode des Moduls: flexigobe_shopify_seller_connector 20.0 (03641761): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
