Czym jest i kiedy działa
Zaplanowana akcja Shopify Pull Stock (Shopify → Odoo) działa co sześć godzin i jest aktywna zaraz po instalacji modułu. Istnieje we wszystkich opublikowanych gałęziach: 17.0, 18.0, 19.0 i 20.0. W Odoo 17.0 ma dodatkowo liczbę powtórzeń ustawioną na -1, czyli powtarza się bez końca.

Przy Odoo w języku polskim zadanie nazywa się Shopify Pull Stock (Shopify → Odoo). Poniższy schemat pokazuje, jak nazywa się w innych językach.

Połączenie ze sklepem przechodzi przez FlexigoTech Cloud, który przechowuje poświadczenia w postaci zaszyfrowanej, nadzoruje synchronizację i wysyła e-mail, jeśli coś zawiedzie. Moduł wymaga subskrypcji FlexigoTech Cloud (plan Conector: 49 €/mies. lub 490 €/rok netto (bez VAT)).

Przykład do przejścia od początku do końca
Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.
Casa Moreno to wymyślona firma, która sprzedaje naczynia kuchenne w sklepie Shopify, a magazyn prowadzi w Odoo. Pewnego ranka Laura, administratorka systemu, widzi, że ilość jednego produktu w Odoo się nie zmieniła, choć w Shopify tak. Zamiast uruchamiać cokolwiek na ślepo, przegląda zadanie w kolejności, w jakiej wykonuje je opublikowany kod dla Odoo 20.0, i właśnie ten kod opisujemy dalej.
Pierwszy filtr: kto je uruchamia
W Odoo 20.0 pierwsze, co robi zadanie, to sprawdzenie, czy uruchamia je administrator systemu. Jeśli nie, zatrzymuje się z komunikatem Only an administrator can run this scheduled action. i nie zagląda do żadnego sklepu. Laura jest administratorką, więc przechodzi do następnego punktu.
Drugi filtr: które sklepy wchodzą do przebiegu
W Odoo 20.0 zadanie nie przechodzi przez wszystkie sklepy, tylko przez te, które spełniają jednocześnie trzy warunki:
- Sklep jest aktywny.
- Ma włączoną synchronizację stanów magazynowych.
- Ma poświadczenia: zapisany token dostępu lub zapisany sekret API aplikacji.
W trzecim warunku wystarczy jedno z dwojga, ponieważ sklep z poświadczeniami klienta może nie mieć zapisanego tokenu, dopóki nie wygeneruje go pierwsze wywołanie. Sklepy otwiera się z menu Shopify › Configuration › Stores. Jeśli nie widzisz któregoś elementu tej ścieżki, brakuje Ci uprawnienia: Configuration wymaga Operator, a Shopify wymaga Viewer.
Laura sprawdza, że sklep Casa Moreno spełnia wszystkie trzy warunki. Jeśli któryś nie jest spełniony, sklep zostaje poza przebiegiem.
Trzeci krok: sklep z błędem nie zatrzymuje pozostałych
W Odoo 20.0 dla każdego wybranego sklepu zadanie wywołuje import wewnątrz bloku przechwytującego każdy błąd. Jeśli sklep zgłosi błąd, awaria jest zapisywana w dzienniku serwera wraz z nazwą sklepu, a zadanie przechodzi do następnego.
Co robi import dla każdego sklepu
W Odoo 20.0 dla każdego sklepu import wykonuje następujące kroki w tej kolejności:
- Jeśli sklep nie ma włączonej synchronizacji stanów, pomija go.
- Szuka produktów powiązanych z Shopify, które są aktywne, mają pozycję magazynową Shopify i należą do firmy sklepu: produkt z innej firmy nie wchodzi, nawet jeśli powiązanie istniało wcześniej. Jeśli nie ma żadnego, przechodzi do następnego sklepu.
- Ustala lokalizację w Odoo. Najpierw szuka głównej lokalizacji Shopify tego sklepu, która ma przypisaną lokalizację w Odoo. Jeśli jej nie ma, używa lokalizacji zapasów magazynu sklepu lub, jeśli sklep nie ma magazynu, lokalizacji pierwszego magazynu jego firmy. Jeśli nie znajdzie żadnej lokalizacji, pomija ten sklep i przechodzi do następnego.
- Pobiera z Shopify dostępną ilość pozycji magazynowych dla lokalizacji Shopify sklepu (domyślnej, jeśli jest zapisana), w partiach po 100 pozycji. Każda otrzymana ilość jest zamieniana na liczbę całkowitą.
Przycisk do ręcznego pobrania stanów ma własny opis krok po kroku. A jeśli zastanawiasz się nad główną lokalizacją Shopify, komunikat, który ją wspomina, ma własny artykuł.
Co sprawdzić, gdy zadanie nic nie robi
Po przejrzeniu całości Laura ma listę miejsc, w których według kodu Odoo 20.0 można przerwać przebieg:
- Kto je uruchamia. Tylko administrator może je wykonać; w przeciwnym razie pojawia się
Only an administrator can run this scheduled action.. - Sklep. Musi być aktywny, z włączoną synchronizacją stanów i z zapisanym tokenem lub sekretem API.
- Produkty. Muszą być powiązane, aktywne, z pozycją magazynową Shopify i należeć do firmy sklepu.
- Lokalizacja. Potrzebna jest główna lokalizacja Shopify z przypisaną lokalizacją w Odoo albo magazyn jako zapasowe rozwiązanie.
- Częstotliwość. Zadanie działa co sześć godzin, więc niedawna zmiana w Shopify mogła jeszcze nie dotrzeć do Odoo.
Z taką listą Laura może wykluczać kolejne punkty zamiast zgadywać. Żeby zacząć od najtańszego, może otworzyć Shopify › Configuration › Stores i sprawdzić sklep, zanim dotknie czegokolwiek innego.
Jak pomaga FlexigoTech
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Jeśli chcesz sprawdzić konfigurację swoich sklepów lub dopasować przepływ stanów do swojej operacyjności, możesz zobaczyć moduł na jego stronie lub w karcie Odoo Apps.
Moduł jest opublikowany w Odoo Apps dla wersji 17.0, 18.0, 19.0 i 20.0.
Czytaj dalej
Sprawdzone w kodzie źródłowym konektora (wersja 17.0 i 20.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigobe_shopify_seller_connector 20.0 (d7e627b4): data/ir_cron_data.xml
- Kod modułu: flexigobe_shopify_seller_connector 17.0 (437257e3): data/ir_cron_data.xml
- Kod modułu: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Kod modułu: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
