Przejdź do głównej treści
Shopify

Co robi przycisk Sync Products w konektorze Shopify dla Odoo

Przycisk Sync Products pobiera ze Shopify produkty sklepu, strona po stronie, i zapisuje w Odoo każdy otrzymany produkt; na końcu zapisuje datę, żeby kolejne przejście pobierało tylko to, co zmieniono od tamtej pory. Jest w karcie sklepu, bez warunku widoczności. Po kliknięciu sprawdza datę ostatniej synchronizacji, przechodzi strony aż do skonfigurowanego maksimum i zatrzymuje się, jeśli wywołanie do Shopify się nie powiedzie.

FlexigoTech · Odpowiada: Víctor Gómez · Aktualizacja: 5 listopada 2026

Najważniejsze

Moduł
Shopify
Wersje
Odoo 17, 18, 19 i 20
Sprawdzone
w kodzie źródłowym konektora, wersja 20.0 · w źródłach podanych na końcu
Czas czytania
4 min

Gdzie jest i kiedy się go uruchamia

Gdzie jest przycisk Sync Products?

Otwórz Shopify › Configuration › Stores i wejdź do karty sklepu, na ekranie Shopify Instances: tam jest przycisk. Aby dojść do menu, potrzebujesz uprawnień: pozycja Configuration wymaga Operator, a pozycja Shopify wymaga Viewer; jeśli brakuje któregoś, nie zobaczysz tej pozycji. Przycisk nie ma warunku widoczności i istnieje w Odoo 17, 18, 19 i 20.

Schemat wykonany z kodu menu Shopify › Configuration › Stores i przycisku Sync Products, z etykietami po angielsku
Schemat wykonany z kodu na podstawie opublikowanego kodu modułu (to nie zrzut ekranu z Odoo): ścieżka menu i przycisk Sync Products, dla Odoo 17, 18, 19 i 20.

Czy trzeba go klikać ręcznie?

Jest też ścieżka automatyczna: zaplanowane zadanie Shopify Sync Products wywołuje tę samą akcję co godzinę, ale po instalacji jest wyłączone; dopóki tak jest, nie uruchamia się samo. Osobno zadanie Shopify Process Webhooks, które działa co minutę i po instalacji jest aktywne, wywołuje inną metodę modułu: taką, która pobiera ze Shopify konkretne produkty po identyfikatorze, jeden po jednym, i nie przechodzi katalogu stronami. Kliknięcie Sync Products to sposób, by uruchomić przejście po stronach wtedy, kiedy chcesz, bez czekania na zadanie.

Jak nazywa się przycisk przy Odoo w innym języku?

Przy Odoo w języku polskim przycisk nazywa się Sync Products, bo moduł nie ma tłumaczenia na ten język. Poniższy schemat zawiera też tłumaczenie na hiszpański, niemiecki, francuski, włoski i portugalski.

Schemat wykonany z kodu z tekstem Sync Products zależnie od języka Odoo: Sincronizar productos, Produkte synchronisieren, Synchroniser les produits, Sincronizza prodotti i Sincronizar produtos
Schemat wykonany z kodu na podstawie opublikowanych tłumaczeń modułu (to nie zrzut ekranu z Odoo): etykieta przycisku po hiszpańsku, niemiecku, francusku, włosku i portugalsku.
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Wideo: Your Odoo doesn't talk to Amazon, Temu or Shopify? (wideo po angielsku)

Co sprawdza i co zmienia

W Odoo 20 moduł po kliknięciu przycisku robi to:

Co robi na samym początku?

Otwiera wpis w dzienniku synchronizacji, typu produkty i w toku, i przygotowuje zapytanie do Shopify. Dla każdego produktu zapytanie pobiera tytuł, vendor, typ produktu, status, handle, opis, tagi, datę aktualizacji, obraz wyróżniający, opcje i warianty (SKU, tytuł, cenę, cenę porównawczą, kod kreskowy, ilość w zapasie, wybrane opcje, pozycję magazynową i obraz). Produkty przychodzą posortowane według daty aktualizacji. Przed zapisaniem każdego z nich moduł upewnia się, że ma wszystkie swoje warianty.

Czy za każdym razem pobiera cały katalog?

Zależy od pola Last Product Sync, widocznego w karcie sklepu i na liście Shopify Instances, tylko do odczytu: wypełnia je kod, nie ty. Jeśli jest puste, zapytanie idzie bez filtra daty. Jeśli ma wartość, moduł pobiera tylko produkty zaktualizowane od tej daty (włącznie). Gdy przejście zakończy się w całości, pole przyjmuje bieżącą godzinę.

Co się dzieje, gdy produktów jest więcej niż stron?

Dwa ustawienia określają rozmiar przejścia, w karcie sklepu, na zakładce Operations, w grupie Sync Settings. Page Size domyślnie wynosi 50; jego podpowiedź ostrzega, że powyżej 100 Shopify odrzuca zapytanie, a duża strona w zapytaniu z dużą ilością informacji może przekroczyć limit kosztu, a przycisk nigdy nie prosi o więcej niż 100 na stronę. Max Pages domyślnie wynosi 20. Przejście zatrzymuje się, gdy Shopify nie ma więcej stron albo gdy osiągnięto to maksimum.

Jeśli zostanie przerwane z niepobranymi stronami, moduł zostawia w karcie sklepu komunikat, że przejście zatrzymało się na limicie stron i od jakiej daty będzie kontynuowane następne. Pole Last Product Sync przyjmuje wtedy datę aktualizacji ostatniego odczytanego produktu, o ile ta data jest późniejsza od zapisanej (lub żadna nie była zapisana); jeśli nie, przyjmuje bieżącą godzinę.

Czy produkt, który się nie zapisze, psuje synchronizację?

Nie. Każdy produkt jest zapisywany osobno: jeśli któryś zawiedzie, moduł go pomija, zostawia ostrzeżenie w dzienniku serwera i przechodzi do następnego. Na końcu wpis w dzienniku synchronizacji notuje jako zaktualizowane tylko zapisane produkty; pominięte nie liczą się jako błędy, więc poprawny wpis nie wyklucza, że któryś został pominięty. Po to jest ostrzeżenie w dzienniku serwera.

Gdy zatrzymuje się z błędem

Co się dzieje, gdy wywołanie do Shopify się nie powiedzie?

Każde wywołanie dopuszcza do trzech prób. Jeśli Shopify odpowie kodem 401 (token już nie działa), a sklep może go odnowić, moduł odnawia go i próbuje jeszcze raz. Jeśli odpowie kodem 429 (limit tempa), czeka zgodnie z nagłówkiem Retry-After i próbuje ponownie, z maksymalnym oczekiwaniem trzydziestu sekund. Każda odpowiedź z kodem 400 lub wyższym, która nie zostanie tak rozwiązana, przerywa wywołanie błędem. Gdy błąd wychodzi z pętli produktów, wpis w dzienniku zostaje jako nieudany z tekstem błędu (obciętym do maksymalnie 2000 znaków), błąd jest rzucany ponownie, aby akcja się zatrzymała, i Last Product Sync nie jest aktualizowane.

A jeśli FlexigoTech Cloud wstrzyma połączenie?

Jeśli połączenie sklepu przechodzi przez FlexigoTech Cloud, wywołania idą przez jego przekaźnik, a Odoo nie łączy się bezpośrednio ze sklepem. Jeśli usługa je wstrzyma, całe przejście się zatrzymuje, żaden produkt nie jest pomijany, a wpis w dzienniku jest usuwany zamiast zostać jako nieudany.

Czego potrzebujesz, żeby z niego korzystać

Moduł jest płatny jednorazowo za wersję Odoo i opublikowany dla 17, 18, 19 i 20; cena każdej wersji jest w karcie i na stronie modułu. Dodatkowo potrzebuje subskrypcji FlexigoTech Cloud, plan Konektor: 49 €/mies. lub 490 €/rok netto (bez VAT), do 3 kont platformy (plan Pro: 98 €/mies. lub 980 €/rok, do 10). Połączenie przechowuje dane uwierzytelniające w postaci zaszyfrowanej, nadzoruje synchronizację i powiadamia e-mailem, jeśli zawiedzie. Bez subskrypcji lub przy zawieszonej usłudze zatrzymuje się to, co daje subskrypcja; dane zostają w twoim Odoo. Jeśli kupujesz w Odoo App Store, każdą wersję Odoo kupuje się tam. Jeśli potrzebujesz wdrożyć Odoo lub dostosować integrację do swojego katalogu, FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie.

Czytaj dalej

Zamówienie sprzedaży … nie jest powiązane z zamówieniem Shopify: co zrobićCo oznacza błąd „is not linked to a Shopify order” w Odoo, kiedy pojawia się po kliknięciu Push to Shopify i jak sprawdzić go krok po kroku.Komunikat „Webhook URL is not available” w Shopify dla OdooKiedy pojawia się „Webhook URL is not available” w konektorze Shopify dla Odoo, jaki warunek go wywołuje i co sprawdzić krok po kroku.Shopify w Odoo: co zrobić, gdy brakuje dostępu OperatorCo oznacza ostrzeżenie o dostępie Operator lub Manager Shopify w Odoo, kiedy pojawia się przy wysyłce lub anulowaniu zamówienia i jak je rozwiązać.
Sprawdzone w kodzie źródłowym konektora (wersja 20.0) i w podlinkowanych źródłach

Źródła