Co moduł sprawdza na samym początku
Warunek jest tylko jeden: pole Refresh Token jest puste
Metoda odnawiająca token dostępu instancji zaczyna od sprawdzenia, czy instancja ma wartość w polu Refresh Token. Jeśli pole jest puste, zgłasza Missing refresh token for Shopify instance … i akcja zostaje przerwana. Wielokropek w komunikacie jest zastępowany nazwą instancji.
Sprawdzenie następuje przed kontaktem z Shopify
To pierwsza rzecz, jaką robi metoda. Dopiero po przejściu tego sprawdzenia idzie dalej: przygotowuje żądanie z kluczem i sekretem aplikacji oraz tokenem odświeżania i wysyła je na adres OAuth sklepu (/admin/oauth/access_token). Przy pustym polu żądanie nie jest nawet przygotowywane, więc komunikat powstaje w Twoim Odoo, a nie w Shopify.
Po przerwaniu nic się nie zapisuje
Metoda zapisuje wynik na samym końcu: nowy token dostępu, datę ostatniego odnowienia oraz, jeśli Shopify je zwróci, nowy token odświeżania i datę wygaśnięcia. Ponieważ komunikat przerywa akcję, zanim do tego dojdzie, w instancji nic się nie zmienia.
Komunikat zawiera nazwę instancji
Koniec komunikatu to nazwa, pod którą Odoo wyświetla instancję. Mówi Ci, której dotyczy, i to właśnie ją trzeba otworzyć, żeby ją sprawdzić.

Gdzie się pojawia, a gdzie nie
Jedna z dróg to kliknięcie Refresh Access Token
Karty instancji otwiera się z menu Sprzedaż: w środku jest Shopify, potem Control Center i na końcu Instances. Przycisk Refresh Access Token znajduje się w widoku instancji i wywołuje akcję, która dociera do metody odnawiającej; jeśli pole jest puste, właśnie tam pojawia się komunikat. Poniższy schemat łączy menu, przycisk, pole i komunikat.

Przy wartościach domyślnych nie widać ani przycisku, ani pola
Przycisk Refresh Access Token jest ukryty, gdy pole Shopify connection ma wartość cloud, czyli domyślną, więc przy ustawieniach domyślnych go nie zobaczysz. To samo dotyczy pola Refresh Token, które znajduje się w karcie Shopify Instances, na zakładce OAuth & Credentials, i jest ukrywane tym samym warunkiem. Samo Shopify connection nie występuje w żadnym widoku. Jeśli otwierasz instancję i nie znajdujesz ani przycisku, ani pola, to nie jest błąd: tak karta wygląda w tym przypadku.
Jest we wszystkich czterech wersjach i z tłumaczeniem
Komunikat występuje w opublikowanym kodzie Odoo 17, 18, 19 i 20; opisany tutaj kod metody pochodzi z Odoo 20. W tym języku moduł nie ma tłumaczenia tego komunikatu, więc zobaczysz go po angielsku: Missing refresh token for Shopify instance …; drugi schemat pokazuje go także w innych językach.

Co zrobić, gdy go zobaczysz
Sprawdź instancję wskazaną w komunikacie
Otwórz tę instancję z powyższego menu i sprawdź pole Refresh Token na zakładce OAuth & Credentials:
- Jeśli pole jest widoczne i puste, to dokładnie warunek, który wywołuje komunikat.
- Jeśli pola nie widać, karta ukrywa je przez warunek opisany wyżej, a wartość, która o tym decyduje, nie występuje w żadnym widoku.
- Gdy pole ma wartość, sprawdzenie przechodzi i metoda idzie dalej z żądaniem do Shopify.
Co się dzieje, gdy pole ma wartość
Metoda wysyła żądanie do sklepu z limitem czasu wynoszącym co najmniej pięć sekund. Z odpowiedzi zapisuje token dostępu i datę odnowienia, a także nowy token odświeżania i datę wygaśnięcia, jeśli Shopify je dołączy. Ten komunikat to więc pierwsze możliwe wyjście z metody: to, co dzieje się po sprawdzeniu, nie ma już związku z pustym polem w Twojej instancji.
Cena i pomoc
Moduł kosztuje 9 € za wersję Odoo (17, 18, 19 i 20), netto (bez VAT), i wymaga subskrypcji FlexigoTech Cloud: plan Konektor, 49 €/mies. lub 490 €/rok netto (bez VAT), do 3 kont platformy. Połączenie przechodzi przez FlexigoTech Cloud, który przechowuje dane uwierzytelniające w postaci zaszyfrowanej.
Jeśli wdrażasz Odoo ze Shopify i chcesz, żebyśmy pomogli Ci sprawdzić instancję, FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie.
Czytaj dalej
Sprawdzone w kodzie źródłowym konektora (wersja 20.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigobe_shopify_connector 20.0 (c7078cd8): models/shopify_instance.py
- Kod modułu: flexigobe_shopify_connector 20.0 (c7078cd8): views/shopify_instance_views.xml
- Kod modułu: flexigobe_shopify_connector 20.0 (c7078cd8): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/17.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/18.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/19.0/flexigobe_shopify_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
