Co robi zadanie przy każdym przebiegu
W Odoo 20.0 przy każdym przebiegu zadanie szuka kont Amazon, które są aktywne i mają włączoną synchronizację zablokowanego magazynu, a następnie konto po koncie prosi Amazon o raport zablokowanego magazynu, odpytuje go, aż będzie gotowy, i jeśli jest, pobiera dokument i importuje jego wiersze. Gdy raport zostanie rozstrzygnięty (zaimportowany, anulowany, z błędem krytycznym, nieukończony w czasie lub bez dokumentu), zapisuje w koncie datę tego uruchomienia i podsumowanie wyniku.


Szczegóły, których nie widać w karcie
Wchodzą tylko konta aktywne z włączoną synchronizacją
Wyszukiwanie wymaga dwóch rzeczy naraz: konto musi być aktywne i mieć włączoną synchronizację zablokowanego magazynu. Jeśli brakuje któregokolwiek warunku, konto wypada z wyszukiwania i zadanie go nie przetwarza.
Działa raz dziennie i jest aktywne po instalacji
Zadanie działa raz dziennie i jest aktywne od instalacji. Istnieje w gałęziach 17.0, 18.0, 19.0 i 20.0. W Odoo 17.0 ma dodatkowo zaznaczone, że powtarza się bez końca. To, że zadanie jest aktywne, nie wystarcza: o tym, czy konto wejdzie, decyduje warunek z poprzedniego punktu.
Czeka na raport, robiąc przerwy w trakcie tego samego przebiegu
Po zamówieniu raportu zadanie odpytuje go kilka razy. Przestaje pytać, gdy tylko Amazon uzna go za ukończony, anulowany lub z błędem krytycznym; w przeciwnym razie robi przerwę i pyta ponownie (po ostatnim zapytaniu przerwy nie ma). Jeśli konto nie ma liczby prób, kod używa dwunastu; jeśli nie ma sekund oczekiwania, używa dziesięciu; w obu przypadkach minimum to jeden. Ponieważ konta są przetwarzane jedno po drugim, te przerwy zdarzają się w obrębie tego samego przebiegu.
Raport, który nie kończy się dobrze, niczego nie importuje
Kod obsługuje kilka wyjść, w których przebieg dla danego konta kończy się bez importu wierszy: Amazon anuluje raport lub oznacza go błędem krytycznym; wyczerpują się próby, a raport nie jest gotowy; albo raport przychodzi ukończony, ale bez identyfikatora dokumentu. W takich przypadkach podsumowanie odnotowuje, co się stało (na przykład że Amazon nie wygenerował użytecznego raportu albo że skończył się czas oczekiwania), zapisuje się je razem z datą, a zadanie przechodzi do następnego konta.
Każde konto jest przetwarzane osobno
Każde konto jest przetwarzane we własnym bloku przechwytywania błędów, a metoda synchronizująca konto ma dodatkowo swój: jeśli w tej metodzie zostanie zgłoszony wyjątek, do podsumowania dodawana jest linia z błędem. Jeśli wyjątek wymknie się z przetwarzania konta, zadanie zapisuje ostrzeżenie w logu serwera z nazwą konta i błędem i przechodzi do następnego. Na końcu zadanie kończy się normalnie. Dlatego warto, aby konta miały rozpoznawalną nazwę: pole Name widać w karcie Accounts, zakładka Identity, grupa Account, a także na liście Accounts.
Gdy działa samo, nie publikuje podsumowania w wątku konta
Zadanie oznacza uruchomienie tak, aby podsumowanie nie było publikowane jako wiadomość na koncie. Nie znaczy to, że nie zostawia wyniku: gdy raport zostanie rozstrzygnięty, data ostatniego uruchomienia i tekst podsumowania zapisują się w koncie, maksymalnie do pięciu tysięcy znaków.
Podsumowanie liczy wiersze, a każdy przebieg ma limit
Gdy raport zostaje pobrany i zaimportowany, podsumowanie zawiera konto, źródło uruchomienia, ID raportu, jego status oraz liczniki wierszy: z raportu, przetworzone, utworzone, zaktualizowane, pominięte i z błędem. Każdy przebieg importuje najwyżej określoną liczbę wierszy: jeśli konto nie ma wartości, kod używa dziesięciu tysięcy, a minimum to jeden.
Co sprawdzić, jeśli nic nie robi
- Zadanie i jego nazwa. Nazywa się
Amazon SP-API - Sync stranded inventory report (opt-in). Jest aktywne po instalacji; jeśli w twojej bazie jest wyłączone, nie działa. - Dwa warunki konta. Listę kont otwierasz z menu
Amazon › Configuration › Accounts. CzłonAmazonwymaga uprawnieniaViewer;ConfigurationiAccountswymagająManager. Jeśli brakuje ci któregoś, nie widzisz tego członu. Na liścieAccountswidać poleActive; w karcie konta, w zakładceFBA Reports (opt-in), w grupieStranded Inventory (stock with no active offer), jest pole wyboruSync FBA Stranded Inventory report (opt-in). - Log serwera. Jeśli przetwarzanie konta zgłosiło wyjątek, który nie został przechwycony w środku, ostrzeżenie zawiera jego nazwę i błąd.
- Dane zapisane w koncie. Jeśli konto weszło do przebiegu, a raport został rozstrzygnięty w jednym z opisanych sposobów, data i podsumowanie są aktualizowane. W podsumowaniu zwróć uwagę na liczniki wierszy pominiętych i z błędem.

Wersje i subskrypcja
Moduł jest opublikowany w Odoo Apps dla 17.0, 18.0, 19.0 i 20.0 i jest płatny jednorazowo za wersję; cena każdej z nich jest w jej karcie. Dodatkowo wymaga subskrypcji FlexigoTech Cloud, plan Conector: 49 €/mies. lub 490 €/rok netto (bez VAT) (plan Pro kosztuje 98 €/mies. lub 980 €/rok). Jeśli kupujesz na flexigotech.com, z subskrypcją moduł dla nowych wersji Odoo jest wliczony; w Odoo App Store każdą wersję kupuje się tam.
Jak pomaga FlexigoTech
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Jeśli chcesz sprawdzić, jak skonfigurowane jest twoje konto Amazon w Odoo, więcej szczegółów o module znajdziesz na jego stronie.
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_amazon_seller_connector 20.0 (8576afa5): data/ir_cron_data.xml
- Kod modułu: flexigobe_amazon_seller_connector 17.0 (165f66af): data/ir_cron_data.xml
- Kod modułu: flexigobe_amazon_seller_connector 20.0 (8576afa5): models/amazon_spapi_account.py
- apps.odoo.com/apps/modules/20.0/flexigobe_amazon_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
