Kiedy pojawia się komunikat i co sprawdza kod
Jaki to komunikat i kiedy go widzę?
To komunikat «Shopify did not return a product ID after export.». Pojawia się po kliknięciu przycisku Export to Shopify, który jest zawsze widoczny w Odoo 17, 18, 19 i 20. Komunikat istnieje w opublikowanym kodzie wszystkich czterech wersji. Gdy się pojawia, akcja zostaje zatrzymana, a Odoo pokazuje błąd.

Z Odoo w języku polskim widzisz go jako Shopify did not return a product ID after export., ponieważ moduł nie ma tłumaczenia na ten język; drugi schemat pokazuje ten sam tekst po hiszpańsku, niemiecku, francusku, włosku i portugalsku.

Jaki dokładnie jest warunek w kodzie?
Metoda wykonywana przez przycisk pobiera z odpowiedzi Shopify utworzony produkt, a z niego jego identyfikator. Jeśli ten identyfikator jest pusty, zgłasza komunikat. W kodzie warunek to if not product_gid, czyli «jeśli identyfikator jest pusty». Nie ma znaczenia, czy odpowiedź nie zawiera produktu, czy zawiera go bez identyfikatora: dla Ciebie wynik jest ten sam.
Co zrobiło Odoo, zanim doszło do tego sprawdzenia?
W tej kolejności: sprawdza, czy produkt nie ma już powiązania z tym sklepem, przygotowuje dane produktu i jego wariantów, wysyła je do Shopify jednym wywołaniem, które prosi o zwrot identyfikatora produktu i jego wariantów, i sprawdza, czy odpowiedź zawiera błędy użytkownika. Dopiero gdy to wszystko przejdzie, patrzy na identyfikator. Zatem jeśli widzisz ten komunikat, wywołanie nie zakończyło się błędem i odpowiedź nie zawierała błędów użytkownika, ale nie zawierała też ID.

Co zostaje zrobione w Odoo, a co nie
Czy coś jest zapisywane, gdy pojawia się komunikat?
Nie. Sprawdzenie identyfikatora następuje przed krokami, które zostawiają ślad w Odoo, a błąd zatrzymuje akcję. Po nim metoda zapisuje w każdym wariancie identyfikatory Shopify, tworzy jedno powiązanie na wariant i zapisuje w produkcie status oraz datę ostatniego wysłania. Nic z tego nie dzieje się w eksporcie, który kończy się tym komunikatem.
Jakie dane produktu są wysyłane?
Nazwa produktu, status wybrany dla eksportu oraz tagi. Jeśli produkt je ma, także dostawca, typ produktu i opis sprzedaży. Każdy wariant z Odoo jest wysyłany z ceną oraz, jeśli je ma, z odnośnikiem wewnętrznym, kodem kreskowym i wartościami atrybutów.
Czy mogę kliknąć przycisk ponownie?
Przycisk jest zawsze widoczny, więc możesz. Ponieważ ta akcja nie utworzyła żadnego powiązania, sprawdzenie «ma już powiązanie» nie powinno zablokować ponowienia. Pamiętaj jednak, że komunikat mówi tylko, że odpowiedź nie zawierała ID; nie mówi, co stało się w sklepie. Zanim powtórzysz, sprawdź w panelu administracyjnym sklepu Shopify, czy produkt się pojawił, aby nie utworzyć go dwa razy.
Jak to rozwiązać
Co robię krok po kroku?
Po pierwsze, zapisz komunikat dokładnie tak, jak jest, oraz produkt, który eksportowałeś. Po drugie, sprawdź w Shopify, czy produkt istnieje. Po trzecie, jeśli nie istnieje, kliknij ponownie Export to Shopify i sprawdź, czy eksport kończy się bez komunikatu. Jeśli powtarza się przy tym samym produkcie, zachowaj dokładny tekst, wersję Odoo i nazwę produktu, zanim poprosisz o pomoc, bo żaden z tych elementów nie zmienia tego, co ocenia kod: tylko to, czy identyfikator dociera, czy nie.
Czy jest tak samo we wszystkich wersjach i ile kosztuje moduł?
Komunikat jest w kodzie Odoo 17, 18, 19 i 20; opisany tu przebieg pochodzi z kodu Odoo 20. Moduł kosztuje 9 € za wersję Odoo, dla 17, 18, 19 i 20, jednorazowa płatność netto (bez VAT) (zobacz kartę produktu). Dodatkowo wymaga subskrypcji FlexigoTech Cloud: plan Konektor kosztuje 49 €/mies. lub 490 €/rok, netto (bez VAT).
A jeśli widzę inny komunikat modułu?
Każdy komunikat ma swój własny warunek.
Czy FlexigoTech może pomóc mi to sprawdzić?
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Jeśli komunikat powtarza się w Twoim wdrożeniu, napisz do nas, podając dane z poprzedniego kroku.
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 (983eca24): wizard/shopify_export_product_wizard.py
- Kod modułu: flexigobe_shopify_connector 20.0 (983eca24): wizard/shopify_export_product_wizard_views.xml
- 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/precios.html
- flexigotech.com/en/services.html
