Kiedy pojawia się komunikat i co oznacza
Komunikat pojawia się po kliknięciu przycisku Update Shopify Tracking na dokumencie WZ. Ten przycisk wywołuje Shopify, aby zaktualizować śledzenie fulfillmentu, którego ID jest zapisane na dokumencie WZ. Jeśli wywołanie Shopify zwróci błąd, moduł odczytuje jego tekst. Gdy tekst zawiera ACCESS_DENIED (dokładnie tak, wielkimi literami) oraz słowo «fulfillment» (wielkimi lub małymi literami), moduł zastępuje błąd tym komunikatem, a akcja zostaje zatrzymana:
Shopify denied tracking update access. Add scope write_merchant_managed_fulfillment_orders and re-authorize the app.
Oznacza to, że Shopify odmówił dostępu do aktualizacji śledzenia. Komunikat prosi o dwie rzeczy: dodanie zakresu write_merchant_managed_fulfillment_orders i ponowną autoryzację aplikacji. Tekst znajduje się w opublikowanym kodzie wszystkich wersji (17.0, 18.0, 19.0 i 20.0). Opisany dalej szczegół działania metody pochodzi z kodu Odoo 20.0.


Krok po kroku
- Otwórz dokument WZ zamówienia Shopify. Przycisk
Update Shopify Trackingjest ukryty, jeśli dokument WZ nie pochodzi z zamówienia Shopify (poleIs Shopify Ordernie jest widoczne w żadnym widoku), jeśli jego status nie jestWykonanolub jeśli poleShopify Fulfillmentjest puste. Ten warunek jest taki sam w Odoo 17.0, 18.0, 19.0 i 20.0. Jeśli nie widzisz przycisku, spełniony jest któryś z tych trzech warunków. - Kliknij
Update Shopify Tracking. Jeśli błąd zwrócony przez Shopify spełnia powyższy warunek, zobaczysz komunikat, a akcja zostanie zatrzymana. - Dodaj zakres
write_merchant_managed_fulfillment_ordersdo aplikacji Shopify, zgodnie z pierwszą połową komunikatu. - Ponownie autoryzuj aplikację, zgodnie z drugą połową komunikatu.
- Wróć do tego samego dokumentu WZ i kliknij przycisk jeszcze raz. Sprawdź, czy komunikat pojawia się ponownie.
- Jeśli teraz pojawi się inny komunikat, nie jest to ten komunikat: przeczytaj go w całości i potraktuj osobno (niżej wyjaśniamy dlaczego).
Co robi przycisk, zanim komunikat może się pojawić
Warto znać przebieg, aby wiedzieć, w którym momencie powstaje komunikat. Według kodu moduł bierze ID fulfillmentu zapisane na dokumencie WZ. Jeśli dokument WZ nie ma tego ID, akcja zatrzymuje się bez wywołania Shopify. Następnie buduje dane śledzenia z tego, co ma dokument WZ, a jeśli nie ma żadnego numeru śledzenia, akcja również zatrzymuje się przed wywołaniem Shopify. Dane te są składane tak:
- Jeśli jest jeden numer śledzenia, wysyła ten numer. Jeśli jest kilka, wysyła wszystkie.
- Jeśli jest przewoźnik, wysyła jego nazwę. Moduł bierze przewoźnika z zamówienia sprzedaży, a jeśli go nie ma, z samego dokumentu WZ.
- Wysyła adres URL śledzenia tylko wtedy, gdy jest jeden numer.
Zapytanie wskazuje także, czy Shopify ma powiadomić klienta, zgodnie z ustawieniem instancji Shopify. Z tymi danymi wykonywane jest wywołanie Shopify.
Komunikat nie zależy od zawartości dokumentu WZ: warunek w kodzie sprawdza wyłącznie tekst błędu zwróconego przez Shopify w tym wywołaniu. Dokument WZ z poprawnym numerem śledzenia i dobrze ustawionym przewoźnikiem może mimo to wywołać ten komunikat, jeśli błąd Shopify spełnia oba warunki.
Gdzie są sklepy w Odoo
Karty sklepów otwierasz z menu Shopify › Configuration › Stores. Uprawnienia mają znaczenie: odcinek Configuration wymaga uprawnienia Operator, a odcinek Shopify wymaga Viewer. Jeśli brakuje Ci któregoś, nie zobaczysz tego odcinka menu.
Jeśli komunikat nadal się pojawia lub pojawia się inny
Komunikat powstaje tylko wtedy, gdy błąd Shopify spełnia jednocześnie oba warunki: ACCESS_DENIED i «fulfillment». Jeśli błąd zwrócony przez wywołanie ich nie spełnia, moduł go nie zmienia i widzisz go w oryginale, z jego własnym tekstem. Dlatego jeśli po dodaniu zakresu i ponownej autoryzacji nadal widzisz błąd o innej treści, nie dotyczy to już tego komunikatu.
Jeśli nadal widzisz dokładnie ten komunikat, sprawdź ponownie kroki trzeci i czwarty: komunikat wymaga jednocześnie zakresu i nowej autoryzacji aplikacji.
Przy Odoo w języku polskim komunikat wygląda tak, jak w cytacie powyżej (moduł nie ma tłumaczenia na ten język); schemat pokazuje też, jak brzmi on po niemiecku, francusku, włosku i portugalsku:

Jeśli przeglądasz inne komunikaty modułu, mamy też analizę «No hay datos de Shopify disponibles para crear el pedido de venta», z jej warunkiem w kodzie i wskazówkami, co zrobić.
Jak pomaga FlexigoTech
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Jeśli pracujesz z konektorem i chcesz, aby ktoś sprawdził razem z Tobą połączenie ze sklepem Shopify, napisz do nas ze strony modułu.
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_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Kod modułu: flexigobe_shopify_seller_connector 20.0 (d7e627b4): views/stock_picking_views.xml
- 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
