Naar hoofdinhoud
Temu

Wat de knop Execute van Temu Connector for Odoo doet, stap voor stap

De knop Execute op het formulier Fulfillment voert bij Temu de bewerking uit die op het formulier staat: hij controleert of er een instantie is, bouwt het verzoek, verstuurt het en schrijft Done als alles goed gaat. Ontbreekt er iets, dan stopt hij met een melding voordat er een status geschreven is. We volgen dit aan de hand van een voorbeeldcasus.

FlexigoTech · Verantwoordelijk: Víctor Gómez · Bijgewerkt op 5 november 2026

In het kort

Module
Temu
Versies
Odoo 17, 18, 19 en 20
Gecontroleerd
in de broncode van de connector, versie 19.0 · in de bronnen onderaan
Leestijd
7 min

Waar de knop staat en wanneer je hem ziet

De verzendformulieren open je via het menu Temu › Orders & Fulfillment › Fulfillment. Op dat scherm staat de knop Execute. Hij is altijd zichtbaar op het formulier, zonder voorwaarde in de weergave, en bestaat in Odoo 17, 18 en 19. Wat hieronder over de werking staat, komt overeen met de gepubliceerde code voor Odoo 19.

De knop voert de bewerking van het formulier uit via de Temu-instantie die eraan is toegewezen. Eerst controleert hij of er een instantie is en of het verzoek kan worden opgebouwd; daarna schrijft hij statussen en bewaart hij wat Temu antwoordt.

Met code gemaakt schema van het verloop van de knop: het menu Fulfillment, de knop Execute met twee van de meldingen die hem kunnen stoppen en de status Done
Met code gemaakt schema op basis van de gepubliceerde code van de module (geen schermafbeelding van Odoo), met de Engelse labels uit de code.
Met code gemaakt schema dat de tekst Execute toont zoals de gebruiker die ziet met Odoo in het Nederlands
Met code gemaakt schema op basis van de gepubliceerde vertalingen van de module (geen schermafbeelding van Odoo): met Odoo in het Nederlands heet de knop 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 in het Engels)

Wat er gebeurt zonder te klikken

Een deel van het werk van deze knop gebeurt ook zonder dat je erop klikt. De module breidt het opslaan van een leveringsformulier uit, en ook de standaardknop om de levering te valideren. Vanaf daar kan hij een zending afstemmen die Temu al als verzonden beschouwde. Dat doet hij alleen als aan alles hieronder is voldaan:

  • Er is een verzendformulier, een Temu-order en een trackingreferentie.
  • De laatste fout van het verzendformulier geeft aan dat de order al is verzonden: hij bevat de code 120012004, of een tekst van Temu die zegt dat de order al is verzonden en dat de wijziging niet geldt voor een verzonden order.
  • De order heeft een Temu-hoofdordernummer (of de identificatie van de Temu-order) en een ordernummer.

Dan vraagt hij bij Temu de status van de eigen zending op. Bevat het antwoord het trackingnummer, dan gaat het formulier naar Done, wordt de laatste fout leeggemaakt, wordt dezelfde samenvatting van het resultaat toegepast als bij de knop, wordt de levering als gesynchroniseerd gemarkeerd en komt er een notitie op. Mislukt de opvraging of staat de tracking er niet in, dan verandert er niets.

Om de bewerking handmatig vanuit het formulier te starten, is er de knop Execute.

De casus: Hogar Norte start een bewerking

Voorbeeld Fictief geval: het bedrijf en de cijfers zijn verzonnen om de werkwijze uit te leggen.

Hogar Norte is een verzonnen webshop die op Temu verkoopt en de verzendingen vanuit Odoo beheert. Iemand van het team opent Temu › Orders & Fulfillment › Fulfillment en gaat naar een nieuw formulier. Laten we kijken wat er bij elke poging gebeurt.

Eerste poging: zonder instantie

Hij klikt op Execute terwijl het veld Instance leeg is (te zien op het formulier en in de lijst van Fulfillment). De methode controleert dit als eerste en stopt met Temu instance is required.. Er is geen status geschreven en er is geen verzoek bewaard: het formulier blijft zoals het was.

Tweede poging: er ontbreekt een gegeven

Het formulier bevat een opvraging van logistieke bedrijven. Met de instantie ingevuld probeert de module het verzoek op te bouwen en stopt met regionId is required for logistics companies query.. Er is nog steeds niets geschreven. De melding zegt welk gegeven ontbreekt: hij vult het aan en klikt opnieuw.

Derde poging: het lukt

Nu volgt de methode deze volgorde:

  1. Hij bouwt het verzoek op met de gegevens van het formulier. Als het veld Request Override Json (tabblad Payload Override) is ingevuld en een object is, gebruikt hij die inhoud ongewijzigd als verzoek.
  2. Hij schrijft de status Running, bewaart het opgebouwde verzoek en het tijdstip van het verzoek en maakt de laatste fout leeg.
  3. Hij roept de Temu-instantie aan met de bewerking die bij het formulier hoort.
  4. Als Temu goed antwoordt, maakt hij een samenvatting van het resultaat: bevat het antwoord pakketnummers, dan bewaart hij ze gesorteerd en zonder dubbelen, en als het formulier geen pakketnummer had, neemt hij het eerste; bevat het waarschuwingen, dan bewaart hij ze één per regel; bevat het een ophaalreservering, dan bewaart hij het nummer ervan.
  5. Hij schrijft in één keer Done, het antwoord, het resultaat, die samenvatting en het tijdstip van afronding, en laat de laatste fout leeg.

De samenvatting wordt berekend voordat Done wordt geschreven. Mislukt de samenvatting, dan wordt Done niet geschreven: de methode behandelt dat als elke andere fout.

Als er iets misgaat na Running

Mislukt de bewerking of de samenvatting nadat Running is geschreven, dan schrijft de code Failed met het tijdstip van afronding en de tekst van de fout, en geeft de fout opnieuw door, wat de melding is die de gebruiker na het klikken ziet. Controleer de status op het formulier in plaats van aan te nemen welke het is geworden.

Meldingen die de knop kunnen stoppen

Bij het klikken op Execute verschijnen deze meldingen wanneer de module het verzoek voorbereidt, vóór Running wordt geschreven. Dit zijn enkele van de meldingen die kunnen verschijnen:

  • Temu instance is required.: het formulier heeft geen instantie.
  • Request Override JSON must be an object/dict payload.: de inhoud van het veld Request Override Json van het formulier is geen object.
  • Provide orderSnList or payload lines for shipping services query.: bij de opvraging van verzenddiensten is er geen orderlijst en zijn er geen regels.
  • regionId is required for ship logistics type query.: dat gegeven ontbreekt bij de opvraging van logistieke typen voor verzending.
  • regionId is required for logistics companies query.: dat gegeven ontbreekt bij de opvraging van logistieke bedrijven.
  • packageSnList is required for buy shipping result query.: de pakketlijst ontbreekt bij de opvraging van het resultaat van de gekochte verzending.
  • packageSnList is required for shipping document query.: de pakketlijst ontbreekt bij de opvraging van verzenddocumenten.
  • parentOrderSn and orderSn are required for self shipment status query.: die gegevens ontbreken bij de opvraging van de status van de eigen zending.
  • mainPackageSn (package_sn) is required for shipment sub confirm.: het hoofdpakket ontbreekt bij het bevestigen van deelpakketten.
  • At least one sub package request is required.: er ontbreekt minstens één verzoek voor een deelpakket.
  • pickupStartTime and pickupEndTime are required for pickup reservation creation.: de tijden van de ophaalreservering ontbreken.
  • packageSnList is required for pickup reservation creation.: de pakketlijst ontbreekt bij het aanmaken van de ophaalreservering.
  • packageSnList is required for pickup reservation result query.: de pakketlijst ontbreekt bij het opvragen van het resultaat van de reservering.
  • reservationSn is required for pickup reservation cancellation.: het reserveringsnummer ontbreekt bij het annuleren ervan.
  • packageSn is required for tracking info query.: het pakket ontbreekt bij de opvraging van de tracking.
  • Set Request Override JSON for cooperative warehouse operation '…'.: bij bewerkingen van een coöperatief magazijn vraagt de melding om het veld Request Override Json in te vullen.

Wat de casus leert

  • De volgorde ligt vast: eerst de instantie, dan het verzoek, daarna de statussen.
  • De meldingen hierboven stoppen de actie voordat er iets geschreven is: je lost ze op door aan te vullen wat ze vragen.
  • Done wordt in één keer geschreven samen met het antwoord, het resultaat en de samenvatting; mislukt de samenvatting, dan gaat het formulier naar Failed.
  • De samenvatting van het resultaat is dezelfde als die de automatische afstemming van de levering gebruikt.
  • Een fout na Running wordt opnieuw doorgegeven en zet het formulier op Failed; controleer na het klikken de status.

Hoe FlexigoTech helpt

Temu Connector for Odoo is een eenmalige aankoop per versie en vereist het abonnement op FlexigoTech Cloud (plan Conector: € 49 per maand of € 490 per jaar, excl. btw). Hij is gepubliceerd voor Odoo 17, 18, 19 en 20. De koppeling loopt via FlexigoTech Cloud, dat de inloggegevens versleuteld bewaart en per e-mail waarschuwt als de synchronisatie mislukt. Je kunt de module bekijken op de modulepagina of op de pagina in Odoo Apps.

Als je Odoo implementeert en de logistiek met Temu wilt opzetten, of een maatwerkintegratie nodig hebt, implementeert FlexigoTech Odoo 17, 18, 19 en 20 en ontwikkelt het connectoren en integraties.

Lees verder

«Parent After-sales SN is required.» in Temu Connector for Odoo: oorzaak en oplossingWanneer «Parent After-sales SN is required.» verschijnt in Temu Connector for Odoo, welke voorwaarde in de code het veroorzaakt en hoe je het oplost.
Gecontroleerd in de broncode van de connector (versie 19.0) en in de gelinkte bronnen

Bronnen