Przejdź do głównej treści
Temu

Błąd «Request Override JSON must be an object/dict payload.»: checklista

Komunikat Request Override JSON must be an object/dict payload. pojawia się po kliknięciu Execute na karcie Fulfillment, gdy w polu Request Override Json wpisano coś, co nie jest obiektem JSON (słownikiem). Aby go usunąć, zostaw w tym polu jeden obiekt z kluczami i wartościami albo wyczyść pole, pamiętając, że w operacjach magazynu kooperacyjnego pole musi być wypełnione.

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
4 min

Co sprawdza moduł, zanim wyświetli komunikat

Komunikat Request Override JSON must be an object/dict payload. zgłasza krok modułu, który buduje dane wysyłane do Temu z karty Fulfillment. Ten krok jest uruchamiany po kliknięciu przycisku Execute na karcie. W Odoo 17, 18 i 19 ten przycisk jest zawsze widoczny, a komunikat znajduje się w opublikowanym kodzie wszystkich trzech gałęzi.

Logika kodu jest krótka i wygląda tak:

  • Jeśli pole Request Override Json ma zawartość, moduł sprawdza, jakiego typu są to dane.
  • Jeśli ta zawartość nie jest obiektem (słownikiem kluczy i wartości), akcja zostaje zatrzymana z tym komunikatem.
  • Jeśli jest obiektem, moduł zwraca kopię tego obiektu bez zmian i nie czyta pozostałych pól karty, aby zbudować dane do wysłania.
  • Jeśli pole jest puste, kod nie wchodzi w to sprawdzenie. W większości operacji przechodzi do zbudowania danych do wysłania na podstawie typu operacji z karty i jej pól. W operacjach magazynu kooperacyjnego nie buduje nic: pole musi być wypełnione, a gdy jest puste, akcja zatrzymuje się z innym komunikatem.

Innymi słowy, ten komunikat nie mówi o brakującej danej: mówi o tym, że wpisano dane w złej formie. Na przykład tablica elementów zamiast obiektu już spełnia warunek błędu.

Schemat wykonany na podstawie kodu przedstawiający drogę do błędu: menu Temu › Orders & Fulfillment › Fulfillment, przycisk Execute, pole Request Override Json oraz komunikat o błędzie
Schemat (nie zrzut ekranu Odoo) wykonany na podstawie opublikowanego kodu modułu dla Odoo 17.0, 18.0 i 19.0, z etykietami angielskimi z kodu.
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)

Zanim klikniesz Execute

Szybki przegląd karty pozwala uniknąć błędu. Karty Fulfillment otwierasz z menu Temu › Orders & Fulfillment › Fulfillment.

  • Otwórz kartę «Fulfillment» z menu Temu › Orders & Fulfillment › Fulfillment.
  • Przejdź do zakładki Payload Override.
  • Spójrz na pole Request Override Json. Jego pomoc brzmi: «Optional payload override. If set, it is sent as-is.».
  • Zdecyduj, czy naprawdę chcesz zastąpić to, co buduje moduł. Jeśli wypełnisz pole, wysłane zostanie dokładnie to, co wpiszesz.
  • Jeśli nie chcesz niczego zastępować, zostaw pole puste, chyba że operacja na karcie dotyczy magazynu kooperacyjnego: w takich operacjach pole musi być wypełnione.
  • Jeśli je wypełniasz, wpisz jeden obiekt JSON: jeden blok kluczy i wartości, a nie tablicę elementów ani pojedynczy tekst czy liczbę.

Pole Request Override Json znajduje się w zakładce Payload Override karty Fulfillment.

Jeśli komunikat już się pojawił

Błąd ma w kodzie jeden warunek: pole Request Override Json jest wypełnione, a jego zawartość nie jest obiektem. Oto kroki, po kolei.

  • Zamknij komunikat i nie klikaj jeszcze ponownie Execute: przy tej samej zawartości pojawi się ten sam komunikat.
  • Otwórz zakładkę Payload Override tej samej karty.
  • Przeczytaj, co jest w Request Override Json, i sprawdź, czy to obiekt (blok kluczy i wartości), czy coś innego, na przykład tablica elementów.
  • Jeśli to była tablica, przepisz zawartość jako jeden obiekt JSON albo wyczyść pole. Wyczyszczenie pola wystarczy tylko wtedy, gdy operacja nie dotyczy magazynu kooperacyjnego; w takich operacjach pole musi zawierać obiekt.
  • Jeśli nie zamierzałeś zastępować tego, co buduje moduł, wyczyść pole (znowu z wyjątkiem operacji magazynu kooperacyjnego).
  • Zapisz kartę z poprawionym polem.
  • Kliknij ponownie Execute.

Gdy wyczyścisz pole, kod nie wchodzi już w sprawdzenie tego komunikatu. W większości operacji przechodzi do zbudowania danych do wysłania na podstawie typu operacji i jej pól, czyli inną ścieżką z własnymi kontrolami, którą opisuje przycisk Execute krok po kroku. W operacjach magazynu kooperacyjnego pole musi być wypełnione: gdy jest puste, akcja zatrzymuje się z innym komunikatem.

Schemat wykonany na podstawie opublikowanych tłumaczeń modułu: tekst przycisku Execute, który po polsku brzmi Wykonaj
Schemat (nie zrzut ekranu Odoo) etykiety przycisku tak, jak widzi ją osoba z Odoo po polsku: Execute.

Po poprawieniu

Po zapisaniu i ponownym kliknięciu przycisku sprawdź poniższe punkty.

  • Komunikat Request Override JSON must be an object/dict payload. już się nie pojawia.
  • Jeśli zostawiłeś pole wypełnione, jego zawartość jest obiektem i dokładnie tym, co chcesz wysłać, ponieważ moduł kopiuje go bez zmian i nie uzupełnia go innymi polami karty.
  • Jeśli wyczyściłeś je w operacji niedotyczącej magazynu kooperacyjnego, sprawdź, czy karta ma poprawnie ustawione dane wybranej operacji, bo teraz moduł czyta te pola zamiast używać Twojej zawartości.
  • Jeśli operacja dotyczy magazynu kooperacyjnego, a pole wyczyściłeś, akcja zatrzyma się z innym komunikatem: tam pole musi zawierać obiekt.
  • Jeśli pojawi się inny komunikat, to nie jest już ten błąd: to inna kontrola modułu i trzeba spojrzeć na jej własny tekst.

Pytania, które sobie zadasz

Czy może się pojawić, gdy pole jest puste?

Nie przy tym warunku: kod sprawdza typ zawartości tylko wtedy, gdy pole coś zawiera. Przy pustym polu przechodzi do operacji z karty, z wyjątkiem operacji magazynu kooperacyjnego, gdzie zatrzymuje się z innym komunikatem, ponieważ pole musi być wypełnione.

Gdzie pojawia się komunikat?

Po kliknięciu przycisku Execute na karcie Fulfillment: właśnie tam metoda dochodzi do sprawdzenia.

Co dzieje się z akcją, gdy komunikat się pojawi?

Komunikat zatrzymuje akcję: przycisk Execute nie kontynuuje tego, co miało zostać wysłane.

Czy jest tak samo we wszystkich wersjach?

Komunikat znajduje się w opublikowanym kodzie gałęzi 17.0, 18.0 i 19.0. Moduł jest opublikowany w Odoo Apps także dla wersji 20.0.

Jeśli potrzebujesz pomocy przy integracji

Jeśli w Twoim przypadku do Temu trzeba wysyłać zawartość na miarę i chcesz, żeby ktoś przejrzał ją razem z Tobą, możesz zajrzeć na stronę modułu. FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie, na wypadek gdyby Twoja sprawa wykraczała poza to pole.

Czytaj dalej

Co robi przycisk Execute w Temu Connector for Odoo, krok po krokuCo robi przycisk Execute w Fulfillment w Temu Connector for Odoo: co sprawdza, jakie statusy zapisuje i jakie komunikaty mogą go zatrzymać.
Sprawdzone w kodzie źródłowym konektora (wersja 19.0) i w podlinkowanych źródłach

Źródła