Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.
Taller Aralar to wymyślona firma, która sprzedaje na marketplace Mirakl i właśnie zainstalowała Mirakl Connector w swoim Odoo. Mijają dni, a w Odoo nie pojawia się żadna faktura z marketplace'u. Zanim cokolwiek zmieni, osoba prowadząca Odoo sprawdza, co robi zadanie Mirakl - Sync Invoices i w których miejscach może nic nie zrobić. Ten przegląd znajdziesz poniżej.
Co robi zadanie w każdym przebiegu
Zadanie nie patrzy na jeden konkretny marketplace: przechodzi kolejno przez wszystkie, które spełniają warunek. W Odoo 20, gdy działa, robi to w tej kolejności:
- Sprawdza, czy uruchamia je administrator. Jeśli nie, zatrzymuje się z komunikatem
Only an administrator can run this scheduled action.i nie robi nic więcej. - Szuka marketplace'ów, które są aktywne i mają włączoną synchronizację faktur.
- Spośród nich pomija te, do których nie może się połączyć: te działające przez FlexigoTech Cloud bez zapisanego klucza oraz, jeśli uprawnienie zapisane w module nie obejmuje usługi modułu, wszystkie z tej trasy (to sprawdzenie nie wychodzi do sieci). Marketplace'y łączące się bezpośrednio idą pierwsze.
- Dla każdego pozostałego marketplace'u pobiera jego faktury. Jeśli coś zawiedzie w jednym z nich, moduł próbuje zapisać błąd i przechodzi do następnego. Wyjątkiem jest wstrzymanie przez FlexigoTech Cloud, które przerywa cały przebieg.

Mirakl › Configuration › Marketplaces.
Co robi z fakturami każdego marketplace'u
Gdy przychodzi kolej na marketplace, zadanie robi to:
- Używa endpointu faktur, który ma marketplace, a jeśli jest pusty,
/invoices. - Pobiera faktury stronami, z określonym rozmiarem strony i maksymalną liczbą stron (co najmniej jedną). Kończy, gdy strona jest pusta, gdy zawiera mniej faktur niż wynosi rozmiar strony, gdy osiągnięto łączną liczbę podaną przez Mirakl albo gdy dojdzie do maksymalnej liczby stron.
- Przetwarza każdą otrzymaną fakturę. Jeśli któraś zawiedzie, zapisuje błąd z tą fakturą i kontynuuje z pozostałymi.
Jeśli operator nie udostępnia /invoices, moduł zapisuje ostrzeżenie Invoices endpoint not available (HTTP 404). This operator does not expose /invoices., zapisuje bieżący moment jako datę ostatniej synchronizacji faktur i kończy z tym marketplace'em. Przy każdym innym błędzie żądania zapisuje błąd i przestaje czytać strony tego marketplace'u.
Jeśli FlexigoTech Cloud nie przepuści wywołania (brak subskrypcji lub wstrzymanie przekaźnika), przebieg jest przerywany: nic nie jest oznaczane ani usuwane, a następny przebieg jedzie dalej. Moduł zlicza wstrzymanie wraz z jego kodem tylko w raporcie kondycji FlexigoTech Cloud. Ponieważ marketplace'y bezpośrednie idą pierwsze, żaden z nich nie zostaje bez wywołania z powodu tego wstrzymania.
Jak często działa i od kiedy
Zadanie działa raz dziennie i po instalacji jest wyłączone: dopóki ktoś go nie włączy, nic nie robi. W Odoo 17 zadanie powtarza się bez końca. Jest w opublikowanych gałęziach 17, 18, 19 i 20.
Karty marketplace'ów otwierasz z menu Mirakl › Configuration › Marketplaces.

Mirakl - Sincronizar facturas; po niemiecku Mirakl - Rechnungen synchronisieren; po francusku Mirakl - Synchroniser les factures; po włosku Mirakl - Sincronizza fatture; po portugalsku Mirakl - Sincronizar Faturas.Przegląd w Taller Aralar, krok po kroku
- Sprawdza, czy zadanie jest włączone, bo po instalacji jest wyłączone.
- Pamięta, że zadanie działa raz dziennie, więc nie spodziewa się zobaczyć faktur od razu.
- Upewnia się, że zadanie uruchamia administrator. Jeśli nie, zatrzymuje się z komunikatem
Only an administrator can run this scheduled action.. - Pamięta, że zadanie bierze tylko marketplace'y aktywne i z włączoną synchronizacją faktur: jeśli jego marketplace nie spełnia obu warunków, nie wchodzi do przebiegu. Ich karty otwiera z
Mirakl › Configuration › Marketplaces. - Jeśli marketplace działa przez FlexigoTech Cloud, pamięta, że bez zapisanego klucza nie jest wywoływany, a także że żaden z tej trasy nie jest wywoływany, jeśli zapisane uprawnienie nie obejmuje usługi modułu.
- Jeśli operator nie udostępnia
/invoices, moduł zapisuje ostrzeżenieInvoices endpoint not available (HTTP 404). This operator does not expose /invoices., zapisuje bieżący moment jako datę ostatniej synchronizacji faktur i kończy z tym marketplace'em. - Jeśli pojawiają się inne błędy, pamięta, że moduł próbuje zapisać wiersz dziennika powiązany z marketplace'em i że zapisuje też błąd w logu serwera.
Czego uczy ten przypadek
Jeśli zadanie nic nie pobiera, warto sprawdzić w tej kolejności: najpierw, czy jest włączone, bo po instalacji jest wyłączone i dopóki takie jest, nie działa. Potem, w kolejności, w jakiej stosuje je kod: administrator, marketplace spełniający warunki, trasa FlexigoTech Cloud i na końcu zapisane błędy.
Co do błędów, moduł próbuje zapisać wiersz dziennika z poziomem, operacją, metodą, wywołanym adresem, statusem odpowiedzi i komunikatem błędu. Jeśli przy tworzeniu wiersza wystąpi błąd, zostawia ostrzeżenie w logu serwera.
Jak pomaga FlexigoTech
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Mirakl Connector jest opublikowany w Odoo Apps dla wersji 17, 18, 19 i 20: możesz zobaczyć kartę w Odoo Apps lub stronę modułu.
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_mirakl_connector 20.0 (aa05e537): data/ir_cron_data.xml
- Kod modułu: flexigobe_mirakl_connector 17.0 (e430de3e): data/ir_cron_data.xml
- Kod modułu: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_instance.py
- Kod modułu: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_ai.py
- apps.odoo.com/apps/modules/20.0/flexigobe_mirakl_connector
- flexigotech.com/en/services.html
