Przejdź do głównej treści
Temu

Co robi przycisk Execute w Temu Connector for Odoo, krok po kroku

Przycisk Execute w karcie Fulfillment uruchamia w Temu operację, którą niesie karta: sprawdza, czy jest instancja, przygotowuje żądanie, wysyła je i zapisuje Done, jeśli wszystko pójdzie dobrze. Jeśli czegoś brakuje, zatrzymuje się z komunikatem, zanim zapisze jakikolwiek status. Prześledzimy to na przykładzie poglądowym.

FlexigoTech · Odpowiada: Víctor Gómez · Aktualizacja: 5 listopada 2026

Najważniejsze

Moduł
Temu
Wersje
Odoo 17, 18, 19 i 20
Sprawdzone
w kodzie źródłowym konektora, wersja 19.0 · w źródłach podanych na końcu
Czas czytania
5 min

Gdzie jest przycisk i kiedy go widać

Karty wysyłki otwiera się z menu Temu › Orders & Fulfillment › Fulfillment. Na tym ekranie jest przycisk Execute, który zawsze widać w karcie, bez żadnego warunku w widoku, i który występuje w Odoo 17, 18 i 19. Wszystko, co poniżej opisuje jego działanie, odpowiada kodowi opublikowanemu dla Odoo 19.

Przycisk uruchamia operację, którą niesie karta, za pośrednictwem przypisanej jej instancji Temu. Najpierw sprawdza, czy jest instancja i czy da się zbudować żądanie; potem zapisuje statusy i przechowuje odpowiedź Temu.

Schemat wykonany kodem przedstawiający przebieg działania przycisku: menu Fulfillment, przycisk Execute z dwoma komunikatami, które mogą go zatrzymać, oraz status Done
Schemat wykonany kodem na podstawie opublikowanego kodu modułu (to nie zrzut ekranu Odoo), z angielskimi etykietami z kodu.
Schemat wykonany kodem pokazujący tekst Execute tak, jak widzi go użytkownik z Odoo w języku polskim: Execute
Schemat wykonany kodem na podstawie opublikowanych tłumaczeń modułu (to nie zrzut ekranu Odoo): moduł nie ma tłumaczenia na ten język, więc przycisk nazywa się Execute.
Temu orders in Odoo every 15 minutes. Stock out every 5
Wideo: Temu orders in Odoo every 15 minutes. Stock out every 5 (wideo po angielsku)

Co dzieje się bez klikania

Część pracy tego przycisku odbywa się także bez jego naciskania. Moduł rozszerza zapis karty dokumentu WZ oraz standardowy przycisk zatwierdzania dokumentu WZ i stamtąd może uzgodnić przesyłkę, którą Temu uznawało już za wysłaną. Robi to tylko wtedy, gdy spełnione jest wszystko poniższe:

  • Istnieją karta wysyłki, zamówienie Temu i odnośnik przesyłki.
  • Ostatni błąd karty wysyłki wskazuje, że zamówienie zostało już wysłane: ma kod 120012004 albo tekst z Temu mówiący, że zamówienie zostało już wysłane i że zmiana nie obowiązuje dla zamówienia wysłanego.
  • Zamówienie ma numer zamówienia nadrzędnego z Temu (albo identyfikator zamówienia z Temu) oraz numer zamówienia.

Wtedy moduł pyta Temu o status własnej przesyłki. Jeśli odpowiedź zawiera numer przesyłki, karta przechodzi na Done, ostatni błąd jest czyszczony, stosowane jest to samo podsumowanie wyniku, którego używa przycisk, dokument WZ zostaje oznaczony jako zsynchronizowany i dodawana jest do niego notatka. Jeśli zapytanie się nie powiedzie albo numeru przesyłki nie ma, nic się nie zmienia.

Aby uruchomić operację ręcznie z karty, służy przycisk Execute.

Przykład: Hogar Norte uruchamia operację

Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.

Hogar Norte to wymyślony sklep, który sprzedaje na Temu i obsługuje wysyłki z Odoo. Osoba z zespołu otwiera Temu › Orders & Fulfillment › Fulfillment i wchodzi w nową kartę. Zobaczmy, co dzieje się przy każdej próbie.

Pierwsza próba: bez instancji

Klika Execute przy pustym polu Instance (widać je w karcie i na liście Fulfillment). Metoda sprawdza to najpierw i zatrzymuje się z komunikatem Temu instance is required.. Nie zapisała żadnego statusu ani żadnego żądania: karta zostaje taka, jaka była.

Druga próba: brakuje danej

Karta niesie zapytanie o firmy logistyczne. Mimo ustawionej instancji moduł próbuje zbudować żądanie i zatrzymuje się z komunikatem regionId is required for logistics companies query.. Nadal nic nie zostało zapisane. Komunikat mówi, jakiej danej brakuje: osoba ją uzupełnia i klika ponownie.

Trzecia próba: wszystko się udaje

Teraz metoda działa w takiej kolejności:

  1. Buduje żądanie z danych karty. Jeśli pole Request Override Json (zakładka Payload Override) jest wypełnione i jest obiektem, używa jego zawartości bez zmian jako żądania.
  2. Zapisuje status Running, zapisuje zbudowane żądanie i godzinę żądania oraz czyści ostatni błąd.
  3. Wywołuje instancję Temu z operacją odpowiadającą karcie.
  4. Jeśli Temu odpowie poprawnie, przygotowuje podsumowanie wyniku: jeśli odpowiedź zawiera numery paczek, zapisuje je posortowane i bez powtórzeń, a jeśli karta nie miała numeru paczki, bierze pierwszy; jeśli zawiera ostrzeżenia, zapisuje je po jednym w wierszu; jeśli zawiera rezerwację odbioru, zapisuje jej numer.
  5. Za jednym razem zapisuje Done, odpowiedź, wynik, to podsumowanie i godzinę zakończenia oraz zostawia ostatni błąd pusty.

Podsumowanie jest liczone przed zapisaniem Done. Jeśli podsumowanie się nie powiedzie, Done nie zostaje zapisane: metoda traktuje to jak każdy inny błąd.

Gdy coś zawiedzie po Running

Jeśli operacja lub podsumowanie zawiodą po zapisaniu Running, kod zapisuje Failed z godziną zakończenia i tekstem błędu, a następnie rzuca błąd ponownie; to właśnie ostrzeżenie widzi osoba po kliknięciu. Sprawdź status w karcie, zamiast zakładać, jaki został.

Komunikaty, które mogą zatrzymać przycisk

Po kliknięciu Execute te komunikaty pojawiają się, gdy moduł przygotowuje żądanie, przed zapisaniem Running. To tylko niektóre z możliwych:

  • Temu instance is required.: karta nie ma instancji.
  • Request Override JSON must be an object/dict payload.: zawartość pola Request Override Json karty nie jest obiektem.
  • Provide orderSnList or payload lines for shipping services query.: w zapytaniu o usługi wysyłkowe nie ma ani listy zamówień, ani pozycji.
  • regionId is required for ship logistics type query.: brakuje tej danej w zapytaniu o typy logistyki wysyłkowej.
  • regionId is required for logistics companies query.: brakuje tej danej w zapytaniu o firmy logistyczne.
  • packageSnList is required for buy shipping result query.: brakuje listy paczek w zapytaniu o wynik zakupionej wysyłki.
  • packageSnList is required for shipping document query.: brakuje listy paczek w zapytaniu o dokumenty wysyłkowe.
  • parentOrderSn and orderSn are required for self shipment status query.: brakuje tych danych w zapytaniu o status własnej przesyłki.
  • mainPackageSn (package_sn) is required for shipment sub confirm.: brakuje paczki głównej przy potwierdzaniu podpaczek.
  • At least one sub package request is required.: brakuje co najmniej jednego żądania podpaczki.
  • pickupStartTime and pickupEndTime are required for pickup reservation creation.: brakuje godzin rezerwacji odbioru.
  • packageSnList is required for pickup reservation creation.: brakuje listy paczek przy tworzeniu rezerwacji odbioru.
  • packageSnList is required for pickup reservation result query.: brakuje listy paczek przy sprawdzaniu wyniku rezerwacji.
  • reservationSn is required for pickup reservation cancellation.: brakuje numeru rezerwacji przy jej anulowaniu.
  • packageSn is required for tracking info query.: brakuje paczki w zapytaniu o śledzenie.
  • Set Request Override JSON for cooperative warehouse operation '…'.: przy operacjach magazynu kooperacyjnego komunikat prosi o wypełnienie pola Request Override Json.

Czego uczy ten przykład

  • Kolejność jest stała: najpierw instancja, potem żądanie, na końcu statusy.
  • Powyższe komunikaty zatrzymują akcję, zanim cokolwiek zostanie zapisane: naprawia się je, uzupełniając to, o co proszą.
  • Done zapisuje się za jednym razem razem z odpowiedzią, wynikiem i podsumowaniem; jeśli podsumowanie zawiedzie, karta przechodzi na Failed.
  • Podsumowanie wyniku jest takie samo, jak w automatycznym uzgadnianiu dokumentu WZ.
  • Błąd po Running jest rzucany ponownie i zostawia kartę w Failed; po kliknięciu sprawdź status.

Jak pomaga FlexigoTech

Temu Connector for Odoo to jednorazowa opłata za wersję i wymaga subskrypcji FlexigoTech Cloud (plan Konektor: 49 €/mies. lub 490 €/rok, netto (bez VAT)). Jest opublikowany dla Odoo 17, 18, 19 i 20. Połączenie przechodzi przez FlexigoTech Cloud, który przechowuje dane uwierzytelniające w postaci zaszyfrowanej i wysyła e-mail, gdy synchronizacja zawiedzie. Moduł możesz zobaczyć na jego stronie lub w karcie w Odoo Apps.

Jeśli wdrażasz Odoo i potrzebujesz zbudować logistykę z Temu albo integrację na miarę, FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje.

Czytaj dalej

«Parent After-sales SN is required.» w Temu Connector for Odoo: przyczyna i rozwiązanieKiedy pojawia się «Parent After-sales SN is required.» w Temu Connector for Odoo, jaki warunek w kodzie go wywołuje i jak to rozwiązać krok po kroku.
Sprawdzone w kodzie źródłowym konektora (wersja 19.0) i w podlinkowanych źródłach

Źródła