Zum Hauptinhalt springen
Temu

Was der Button Execute im Temu Connector for Odoo tut, Schritt für Schritt

Der Button Execute im Datensatz Fulfillment startet bei Temu die Operation, die der Datensatz enthält: Er prüft, ob eine Instanz vorhanden ist, bereitet die Anfrage vor, sendet sie und schreibt Done, wenn alles klappt. Fehlt etwas, bricht er mit einer Meldung ab, bevor ein Status geschrieben wird. Wir verfolgen das an einem Beispielfall.

FlexigoTech · Verantwortlich: Víctor Gómez · Aktualisiert am 5. November 2026

Das Wichtigste

Modul
Temu
Versionen
Odoo 17, 18, 19 und 20
Geprüft
im Quellcode des Connectors, Version 19.0 · in den Quellen am Ende
Lesezeit
6 Min.

Wo der Button sitzt und wann er sichtbar ist

Die Versanddatensätze öffnen Sie über das Menü Temu › Orders & Fulfillment › Fulfillment. In dieser Ansicht befindet sich der Button Execute. Er ist im Datensatz immer sichtbar, ohne Bedingung in der Ansicht, und ist in Odoo 17, 18 und 19 vorhanden. Die folgenden Angaben zur Funktionsweise beziehen sich auf den veröffentlichten Code für Odoo 19.

Der Button startet die Operation, die der Datensatz enthält, über die zugewiesene Temu-Instanz. Zuerst prüft er, ob eine Instanz vorhanden ist und ob sich die Anfrage aufbauen lässt; danach schreibt er Status und speichert, was Temu antwortet.

Mit Code erstellte Skizze des Button-Ablaufs: das Menü Fulfillment, der Button Execute mit zwei der Meldungen, die ihn stoppen können, und der Status Done
Mit Code erstellte Skizze auf Grundlage des veröffentlichten Modulcodes (kein Odoo-Screenshot), mit den englischen Beschriftungen aus dem Code.
Mit Code erstellte Skizze, die den Text Execute so zeigt, wie ihn der Benutzer mit Odoo auf Deutsch sieht: Execute
Mit Code erstellte Skizze auf Grundlage der veröffentlichten Modulübersetzungen (kein Odoo-Screenshot): Das Modul bietet keine deutsche Übersetzung, der Button heißt daher auch auf Deutsch Execute.
Temu orders in Odoo every 15 minutes. Stock out every 5
Video: Temu orders in Odoo every 15 minutes. Stock out every 5 (Video auf Englisch)

Was ohne Klick passiert

Ein Teil der Arbeit dieses Buttons geschieht auch, ohne dass Sie ihn drücken. Das Modul erweitert das Speichern eines Lieferschein-Datensatzes und den Standard-Button zum Bestätigen des Lieferscheins und kann von dort aus eine Sendung abgleichen, die Temu bereits als versendet geführt hat. Das geschieht nur, wenn alles Folgende zutrifft:

  • Es gibt einen Versanddatensatz, eine Temu-Bestellung und eine Sendungsverfolgungsnummer.
  • Der letzte Fehler des Versanddatensatzes zeigt an, dass die Bestellung bereits versendet wurde: Er enthält den Code 120012004 oder einen Temu-Text, der besagt, dass die Bestellung bereits versendet wurde und die Änderung für eine versendete Bestellung nicht wirksam ist.
  • Die Bestellung hat eine übergeordnete Temu-Bestellnummer (oder die Temu-Bestellkennung) und eine Auftragsnummer.

Dann fragt es bei Temu den Status der eigenen Sendung ab. Enthält die Antwort die Sendungsnummer, wechselt der Datensatz auf Done, der letzte Fehler wird geleert, dieselbe Ergebniszusammenfassung wie beim Button wird angewendet, der Lieferschein wird als synchronisiert markiert und eine Notiz darauf hinterlegt. Schlägt die Abfrage fehl oder erscheint die Sendungsverfolgung nicht, ändert sich nichts.

Um die Operation von Hand aus dem Datensatz zu starten, gibt es den Button Execute.

Der Fall: Hogar Norte startet eine Operation

Beispiel Fiktiver Fall: Firma und Zahlen sind erfunden, um den Ablauf zu zeigen.

Hogar Norte ist ein erfundener Shop, der auf Temu verkauft und seine Sendungen aus Odoo verwaltet. Eine Person aus dem Team öffnet Temu › Orders & Fulfillment › Fulfillment und legt einen neuen Datensatz an. Sehen wir, was bei jedem Versuch passiert.

Erster Versuch: ohne Instanz

Sie klickt auf Execute, obwohl das Feld Instance leer ist (es ist im Datensatz und in der Liste von Fulfillment zu sehen). Die Methode prüft das als Erstes und bricht mit Temu instance is required. ab. Es wurde weder ein Status geschrieben noch eine Anfrage gespeichert: Der Datensatz bleibt, wie er war.

Zweiter Versuch: ein Datum fehlt

Der Datensatz enthält eine Abfrage von Logistikunternehmen. Mit gesetzter Instanz versucht das Modul, die Anfrage aufzubauen, und bricht mit regionId is required for logistics companies query. ab. Wieder wurde nichts geschrieben. Die Meldung nennt, welche Angabe fehlt: Sie ergänzt sie und klickt erneut.

Dritter Versuch: es klappt

Nun folgt die Methode dieser Reihenfolge:

  1. Sie baut die Anfrage aus den Daten des Datensatzes auf. Ist das Feld Request Override Json (Reiter Payload Override) befüllt und ein Objekt, verwendet sie diesen Inhalt unverändert als Anfrage.
  2. Sie schreibt den Status Running, speichert die aufgebaute Anfrage und den Zeitpunkt der Anfrage und leert den letzten Fehler.
  3. Sie ruft die Temu-Instanz mit der Operation auf, die zum Datensatz gehört.
  4. Antwortet Temu korrekt, bereitet sie eine Ergebniszusammenfassung vor: Enthält die Antwort Paketnummern, speichert sie diese sortiert und ohne Duplikate, und hat der Datensatz noch keine Paketnummer, übernimmt sie die erste; enthält die Antwort Hinweise, speichert sie diese eine pro Zeile; enthält sie eine Abholreservierung, speichert sie deren Nummer.
  5. Sie schreibt in einem Zug Done, die Antwort, das Ergebnis, diese Zusammenfassung und den Zeitpunkt des Abschlusses und lässt den letzten Fehler leer.

Die Zusammenfassung wird berechnet, bevor Done geschrieben wird. Schlägt die Zusammenfassung fehl, wird Done gar nicht erst geschrieben: Die Methode behandelt das wie jeden anderen Fehler.

Wenn nach Running etwas schiefgeht

Schlagen die Operation oder die Zusammenfassung fehl, nachdem Running geschrieben wurde, schreibt der Code Failed mit dem Zeitpunkt des Abschlusses und dem Fehlertext und wirft den Fehler erneut, der als Hinweis beim Klicken erscheint. Prüfen Sie den Status im Datensatz, statt davon auszugehen, welcher es geworden ist.

Meldungen, die den Button stoppen können

Beim Klick auf Execute erscheinen diese Meldungen, wenn das Modul die Anfrage vorbereitet, noch bevor Running geschrieben wird. Es sind einige der möglichen Meldungen:

  • Temu instance is required.: Der Datensatz hat keine Instanz.
  • Request Override JSON must be an object/dict payload.: Der Inhalt des Feldes Request Override Json des Datensatzes ist kein Objekt.
  • Provide orderSnList or payload lines for shipping services query.: Bei der Abfrage von Versanddiensten gibt es weder eine Bestellliste noch Positionen.
  • regionId is required for ship logistics type query.: Diese Angabe fehlt bei der Abfrage der Versandlogistiktypen.
  • regionId is required for logistics companies query.: Diese Angabe fehlt bei der Abfrage der Logistikunternehmen.
  • packageSnList is required for buy shipping result query.: Die Paketliste fehlt bei der Abfrage des Ergebnisses des gekauften Versands.
  • packageSnList is required for shipping document query.: Die Paketliste fehlt bei der Abfrage der Versanddokumente.
  • parentOrderSn and orderSn are required for self shipment status query.: Diese Angaben fehlen bei der Statusabfrage der eigenen Sendung.
  • mainPackageSn (package_sn) is required for shipment sub confirm.: Das Hauptpaket fehlt bei der Bestätigung von Teilpaketen.
  • At least one sub package request is required.: Es fehlt mindestens eine Teilpaket-Anfrage.
  • pickupStartTime and pickupEndTime are required for pickup reservation creation.: Die Zeiten der Abholreservierung fehlen.
  • packageSnList is required for pickup reservation creation.: Die Paketliste fehlt beim Anlegen der Abholreservierung.
  • packageSnList is required for pickup reservation result query.: Die Paketliste fehlt bei der Abfrage des Ergebnisses der Reservierung.
  • reservationSn is required for pickup reservation cancellation.: Die Reservierungsnummer fehlt beim Stornieren.
  • packageSn is required for tracking info query.: Das Paket fehlt bei der Sendungsverfolgungsabfrage.
  • Set Request Override JSON for cooperative warehouse operation '…'.: Bei Operationen des kooperativen Lagers fordert die Meldung dazu auf, das Feld Request Override Json zu befüllen.

Was der Fall lehrt

  • Die Reihenfolge ist fest: zuerst die Instanz, dann die Anfrage, danach die Status.
  • Die obigen Meldungen stoppen die Aktion, bevor etwas geschrieben wird: Sie beheben sie, indem Sie ergänzen, was verlangt wird.
  • Done wird in einem Zug zusammen mit Antwort, Ergebnis und Zusammenfassung geschrieben; schlägt die Zusammenfassung fehl, wechselt der Datensatz auf Failed.
  • Die Ergebniszusammenfassung ist dieselbe, die der automatische Abgleich des Lieferscheins verwendet.
  • Ein Fehler nach Running wird erneut geworfen und lässt den Datensatz auf Failed; prüfen Sie nach dem Klick den Status.

So unterstützt FlexigoTech

Temu Connector for Odoo ist eine Einmalzahlung pro Version und erfordert das Abonnement von FlexigoTech Cloud (Plan Conector: 49 €/Monat oder 490 €/Jahr, zzgl. MwSt.). Es ist für Odoo 17, 18, 19 und 20 veröffentlicht. Die Verbindung läuft über FlexigoTech Cloud, das die Zugangsdaten verschlüsselt speichert und per E-Mail warnt, wenn die Synchronisierung fehlschlägt. Das Modul finden Sie auf der Produktseite oder im Odoo-Apps-Eintrag.

Wenn Sie Odoo einführen und die Logistik mit Temu aufbauen oder eine individuelle Integration benötigen: FlexigoTech führt Odoo 17, 18, 19 und 20 ein und entwickelt Konnektoren und Integrationen.

Weiterlesen

«Parent After-sales SN is required.» im Temu Connector for Odoo: Ursache und LösungWann «Parent After-sales SN is required.» im Temu Connector for Odoo erscheint, welche Bedingung im Code dahintersteckt und wie Sie es Schritt für Schritt lösen
Geprüft im Quellcode des Connectors (Version 19.0) und in den verlinkten Quellen

Quellen