Feedoptimise
Feedoptimise
menu
Wypróbuj 7 dni za darmo

Częściowe aktualizacje feedu dla importów Shopify: szybszy import cen, stanów magazynowych i nowych produktów

Czy masz sklep Shopify z dużą liczbą produktów i ich wariantów? I dużo metapól? W takim razie być może zauważyłeś(-aś), jak boleśnie wolny potrafi być pełny import takich sklepów. Przyczyna tkwi w naturze limitów Shopify GraphQL Admin API. Im bogatsze informacje odpytuje Twoja integracja, tym wyższy jest jej koszt w kontekście limitu API. W efekcie integracja może być zmuszona znacząco zwolnić, aby nie zużyć zbyt szybko całej puli punktów.

Aby rozwiązać ten problem, wprowadziliśmy kilka nowych funkcji do integracji Feedoptimise z Shopify: teraz możesz uruchamiać częściowe aktualizacje (tzw. delty/importy przyrostowe) równolegle z regularnymi pełnymi importami.

Dlaczego pełne importy Shopify mogą być wolne przy dużych katalogach

Korzystając z Shopify GraphQL Admin API, trzeba kontrolować budżet limitu punktów. Każde pole uwzględnione w pojedynczym wywołaniu API zużywa określoną liczbę punktów, zgodnie ze złożoną formułą. Proste wartości skalarne, enumy i obiekty zużywają 1 punkt na wywołanie. Koszt połączeń (connections) zależy od liczby zwróconych elementów. Mutacje (zapisy) kosztują 10 punktów na wywołanie.

Każdy sklep startuje z pulą 1000 punktów. Punkty są odnawiane według stałej stawki na sekundę, zależnej od poziomu planu. Standardowy plan Shopify oferuje tempo odnawiania 100 punktów/s; 200 punktów/s dla planu Advanced oraz do 1000 punktów/s dla planów Shopify Plus lub Enterprise.

W zależności od ilości informacji pobieranych o każdym produkcie w zapytaniu zbiorczym (informacje o cenie i stanie, metapola, obrazy i odwołania, tłumaczenia), pojedyncze zapytanie może z łatwością zużyć 50 lub 100 punktów, a czasem nawet więcej po zbatchowaniu wielu produktów w jedno. Gdy budżet spadnie do zera, tempo staje się ograniczone do wolnego uzupełniania. Mimo że Shopify zwraca punkty w stałym tempie i niezależnie od szybkości, z jaką oprogramowanie wysyłające zapytania je zużywa.

Dlatego na przykład sklep z 100 000 SKU i intensywnym wykorzystaniem metapól będzie wymagał wielu punktów na zapytanie dla pojedynczego produktu – więcej niż wynosi tempo odnawiania. Integracja jest więc zmuszona czekać, aż uzyska odpowiednią pulę punktów, aby móc wykonać kolejne wywołanie API.

Jak częściowe aktualizacje rozwiązują ten problem

Opracowaliśmy trzy tryby częściowych aktualizacji, aby ominąć wspomniane problemy. Podczas gdy pozostałe atrybuty produktów są importowane w ramach regularnych tygodniowych/miesięcznych importów, poniższe częściowe aktualizacje pozwalają znacznie szybciej – co kilka godzin – pobierać zaktualizowane dane o cenach i stanach magazynowych lub nowe produkty.

Trzy typy częściowych aktualizacji

Oto krótka lista tego, co obejmuje każdy tryb częściowej aktualizacji:

  1. Aktualizacje cen – bieżące informacje o cenach dla wszystkich produktów i wariantów, w tym w różnych walutach.
  2. Aktualizacje stanów magazynowych – informacje o stanach magazynowych dla wszystkich Twoich produktów.
  3. Import nowo dodanych produktów – możliwe jest łączenie dowolnego lub wszystkich wymienionych trybów. Atrybuty katalogu pozostają niezmienione do następnego zaplanowanego pełnego importu.

Możliwe jest łączenie dowolnego lub wszystkich wymienionych trybów. Atrybuty katalogu pozostają niezmienione do następnego zaplanowanego pełnego importu.

Niezależne harmonogramy dla każdego trybu

Każdy z trzech typów częściowych aktualizacji można niezależnie zaplanować pod względem częstotliwości. Oto przykład optymalnego harmonogramu:

  • Pełny import – każdej nocy lub w godzinach poza szczytem raz w tygodniu;
  • importy częściowe – kilka razy dziennie, na przykład co kilka godzin, zaczynając wcześnie rano.

Czasochłonna część (ekstrakcja danych, pobieranie tłumaczeń, rozwiązywanie wariantów, przetwarzanie obrazów) nadal będzie odbywać się nocą, jak zwykle. Natomiast zmiany cen i stanów magazynowych są propagowane do Twoich feedów w ciągu kilku godzin. Pozwala to szybko reagować na zmiany rynkowe i dostosowywać ceny produktów.

Ponadto częściowe aktualizacje zmniejszają liczbę wykonywanych wywołań API, dzięki czemu budżet limitu punktów z większym prawdopodobieństwem wystarczy także dla innych aplikacji i integracji podłączonych do tego samego sklepu.

Wada

Choć częściowe aktualizacje świetnie sprawdzają się do pobierania zaktualizowanych cen i stanów magazynowych lub importowania nowo dodanych produktów, pozostałe atrybuty pozostaną bez zmian do czasu wykonania kolejnego pełnego importu. Jeśli zmienisz wartość metapola, edytujesz tytuł produktu, podmienisz obraz lub wykonasz jakąkolwiek inną operację na produkcie, zmiana zostanie uwzględniona dopiero przy następnym pełnym imporcie.

To podejście pasuje do większości sklepów, ponieważ szczegóły produktu, takie jak tytuł, metapola i opis, nie zmieniają się tak często jak ceny i stany magazynowe. A gdy musisz pilnie wypchnąć aktualizację treści, nadal możesz wymusić pełny import na żądanie.

Jakie są korzyści?

Jeden z naszych klientów miał problem z importem Shopify trwającym ponad 20 godzin. Dotyczyło to ich największego sklepu zawierającego ponad 100 000 SKU i wariantów oraz intensywnie korzystającego z metapól i tłumaczeń na kilka języków. Od kiedy nowa funkcja jest dostępna, udało nam się znacząco poprawić sytuację. Cykle importów częściowych trwają obecnie mniej niż 30 minut.

Chociaż rozmiary katalogów i generowane wyjścia feedów pozostały bez zmian, importy częściowe pobierają teraz mniejsze ilości informacji o każdym produkcie, co pozwala wykonywać większą liczbę zapytań na minutę. Regularne pełne importy odbywają się tylko raz w tygodniu, a ceny i stany magazynowe są aktualizowane w krótszym czasie.

Kto powinien włączyć tę funkcję?

Proponowana funkcjonalność może być szczególnie pomocna dla tych, którzy mają:

  • Duże sklepy (ponad 100 000 SKU);
  • Intensywne wykorzystanie metapól i tłumaczeń;
  • Skonfigurowanych kilka rynków w sklepie Shopify;
  • Częste zmiany cen lub stanów magazynowych.

Jeśli Twój katalog jest na tyle mały, że można go regularnie importować w ciągu kilku minut, raczej nie odczujesz znaczącej poprawy wydajności.

Jak włączyć tę funkcję?

Po prostu zaloguj się do swojego konta w Feedoptimise. Przejdź do strony konfiguracji źródła Shopify i znajdź przełączniki dla każdego typu importu częściowego tuż obok bieżących ustawień pełnego importu. Włącz je, wybierz wymagane częstotliwości, a następnym razem, gdy import się uruchomi, zrobi to w trybie częściowym.

A jeśli potrzebujesz pomocy w skonfigurowaniu harmonogramu importu częściowego, skontaktuj się z nami przez sekcję wsparcia na naszej platformie, a nasz zespół chętnie pomoże.