Was das Modul prüft, bevor es die Meldung auslöst
Die Meldung Request Override JSON must be an object/dict payload. wird von dem Schritt des Moduls ausgelöst, der aus einem Fulfillment-Datensatz zusammenbaut, was an Temu gesendet wird. Dieser Schritt wird erreicht, wenn Sie in dem Datensatz auf die Schaltfläche Execute klicken. In Odoo 17, 18 und 19 ist diese Schaltfläche immer sichtbar, und die Meldung steht im veröffentlichten Code dieser drei Branches.
Die Logik im Code ist kurz und liest sich so:
- Wenn das Feld
Request Override JsonInhalt hat, prüft das Modul, um welchen Datentyp es sich handelt. - Wenn dieser Inhalt kein Objekt ist (ein Dictionary aus Schlüsseln und Werten), wird die Aktion mit der Meldung gestoppt.
- Wenn es ein Objekt ist, gibt das Modul eine Kopie dieses Objekts unverändert zurück und liest die übrigen Felder des Datensatzes nicht weiter, um den Sendeinhalt aufzubauen.
- Wenn das Feld leer ist, tritt der Code nicht in diese Prüfung ein. Bei den meisten Operationen baut er den Sendeinhalt dann aus dem Operationstyp des Datensatzes und seinen Feldern auf. Bei Operationen des Kooperationslagers baut er nichts auf: Dort muss das Feld ausgefüllt sein, und ist es leer, wird die Aktion mit einer anderen Meldung gestoppt.
Diese Meldung sagt also nicht, dass eine Angabe fehlt, sondern dass eine Angabe in der falschen Form eingetragen ist. Schon eine Liste statt eines Objekts erfüllt die Bedingung des Fehlers.


Bevor Sie auf Execute klicken
Eine kurze Prüfung im Datensatz verhindert den Fehler. Die Fulfillment-Datensätze öffnen Sie über das Menü Temu › Orders & Fulfillment › Fulfillment.
- Öffnen Sie den «Fulfillment»-Datensatz über
Temu › Orders & Fulfillment › Fulfillment. - Wechseln Sie auf den Tab
Payload Override. - Sehen Sie sich das Feld
Request Override Jsonan. Die Hilfe dazu lautet: «Optional payload override. If set, it is sent as-is.». - Entscheiden Sie, ob Sie wirklich ersetzen wollen, was das Modul aufbaut. Wenn Sie das Feld ausfüllen, wird genau das gesendet, was Sie eintragen.
- Wenn Sie nichts ersetzen wollen, lassen Sie das Feld leer, es sei denn, die Operation des Datensatzes gehört zum Kooperationslager: Dort muss das Feld ausgefüllt sein.
- Wenn Sie es ausfüllen, schreiben Sie ein einziges JSON-Objekt: einen einzelnen Block aus Schlüsseln und Werten, keine Liste von Elementen und keinen einzelnen Text oder eine einzelne Zahl.
Das Feld Request Override Json befindet sich im Tab Payload Override des Fulfillment-Datensatzes.
Wenn die Meldung bereits erschienen ist
Der Fehler hat im Code nur eine einzige Bedingung: Das Feld Request Override Json ist ausgefüllt und sein Inhalt ist kein Objekt. Hier die Schritte der Reihe nach.
- Schließen Sie den Hinweis und klicken Sie noch nicht erneut auf
Execute: Mit demselben Inhalt erscheint dieselbe Meldung wieder. - Öffnen Sie den Tab
Payload Overridedesselben Datensatzes. - Lesen Sie, was in
Request Override Jsonsteht, und stellen Sie fest, ob es ein Objekt (ein Block aus Schlüsseln und Werten) oder etwas anderes ist, etwa eine Liste. - Wenn es eine Liste war, schreiben Sie den Inhalt als einziges JSON-Objekt neu oder leeren Sie das Feld. Leeren ist nur zulässig, wenn die Operation nicht zum Kooperationslager gehört; dort muss das Feld ein Objekt enthalten.
- Wenn Sie nicht vorhatten, den Aufbau des Moduls zu ersetzen, leeren Sie das Feld (wiederum außer bei Operationen des Kooperationslagers).
- Speichern Sie den Datensatz mit dem korrigierten Feld.
- Klicken Sie erneut auf
Execute.
Wenn Sie das Feld leeren, tritt der Code nicht mehr in die Prüfung dieser Meldung ein. Bei den meisten Operationen baut er den Sendeinhalt dann aus dem Operationstyp und seinen Feldern auf, ein anderer Weg mit eigenen Prüfungen, den die Schaltfläche Execute Schritt für Schritt beschreibt. Bei Operationen des Kooperationslagers muss das Feld ausgefüllt sein: Leer wird die Aktion mit einer anderen Meldung gestoppt.

Execute.Nach der Korrektur
Prüfen Sie nach dem Speichern und erneuten Klicken auf die Schaltfläche Folgendes.
- Die Meldung
Request Override JSON must be an object/dict payload.erscheint nicht mehr. - Wenn Sie das Feld ausgefüllt gelassen haben, ist sein Inhalt ein Objekt und genau das, was Sie senden wollen, denn das Modul kopiert es unverändert und ergänzt es nicht mit anderen Feldern des Datensatzes.
- Wenn Sie es bei einer Operation geleert haben, die nicht zum Kooperationslager gehört, prüfen Sie, dass der Datensatz die Angaben der gewählten Operation korrekt enthält, denn das Modul liest jetzt diese Felder statt Ihres Inhalts.
- Wenn die Operation zum Kooperationslager gehört und Sie das Feld geleert haben, wird die Aktion mit einer anderen Meldung gestoppt: Dort muss das Feld ein Objekt enthalten.
- Wenn eine andere Meldung erscheint, ist es nicht mehr dieser Fehler: Es ist eine andere Prüfung des Moduls, und deren eigener Text ist maßgeblich.
Fragen, die Sie sich stellen werden
Kann sie erscheinen, wenn das Feld leer ist?
Nicht mit dieser Bedingung: Der Code prüft den Typ des Inhalts nur, wenn das Feld etwas enthält. Bei leerem Feld läuft er mit der Operation des Datensatzes weiter, außer bei Operationen des Kooperationslagers, wo er mit einer anderen Meldung stoppt, weil das Feld ausgefüllt sein muss.
Wo erscheint die Meldung?
Beim Klick auf die Schaltfläche Execute im Fulfillment-Datensatz: Dort erreicht die Methode die Prüfung.
Was passiert mit der Aktion, wenn sie erscheint?
Die Meldung stoppt die Aktion: Die Schaltfläche Execute führt das, was gesendet werden sollte, nicht weiter aus.
Ist das in allen Versionen gleich?
Die Meldung steht im veröffentlichten Code der Branches 17.0, 18.0 und 19.0. Das Modul ist in Odoo Apps auch für 20.0 veröffentlicht.
Wenn Sie Hilfe bei Ihrer Integration brauchen
Wenn Ihr Fall darin besteht, einen individuellen Inhalt an Temu zu senden, und Sie ihn mit jemandem gemeinsam prüfen möchten, finden Sie die Seite des Moduls. FlexigoTech führt Odoo 17, 18, 19 und 20 ein und entwickelt individuelle Konnektoren und Integrationen, falls Ihr Anliegen über dieses Feld hinausgeht.
Weiterlesen
Geprüft im Quellcode des Connectors (Version 19.0) und in den verlinkten Quellen
Quellen
- Quellcode des Moduls: flexigobe_temu_connector 19.0 (455b3f0f): models/temu_fulfillment.py
- Quellcode des Moduls: flexigobe_temu_connector 19.0 (455b3f0f): views/temu_fulfillment_views.xml
- apps.odoo.com/apps/modules/19.0/flexigobe_temu_connector
- flexigotech.com/en/services.html
