Où se trouve le bouton et quand il est visible
Les fiches d'expédition s'ouvrent depuis le menu Temu › Orders & Fulfillment › Fulfillment. Sur cet écran se trouve le bouton Execute, qui est toujours visible sur la fiche, sans condition dans la vue, et qui existe dans Odoo 17, 18 et 19. Ce qui suit sur son fonctionnement correspond au code publié pour Odoo 19.
Le bouton lance l'opération portée par la fiche via l'instance Temu qui lui est assignée. Il vérifie d'abord qu'il y a une instance et que la requête peut être construite ; ensuite il écrit des statuts et conserve ce que Temu répond.


Execute.
Ce qui se passe sans rien cliquer
Une partie du travail de ce bouton se fait aussi sans que vous le pressiez. Le module étend l'enregistrement d'une fiche de bon de livraison et le bouton standard de validation du bon de livraison, et c'est de là qu'il peut réconcilier un envoi que Temu considérait déjà comme expédié. Il ne le fait que si toutes les conditions suivantes sont réunies :
- Il existe une fiche d'expédition, une commande Temu et une référence de suivi.
- La dernière erreur de la fiche d'expédition indique que la commande a déjà été expédiée : elle porte le code
120012004, ou un texte de Temu disant que la commande a déjà été expédiée et que la modification n'est pas effective pour une commande expédiée. - La commande a un numéro de commande parent Temu (ou l'identifiant de la commande Temu) et un numéro d'ordre.
Il interroge alors Temu sur le statut de l'envoi propre. Si la réponse contient le numéro de suivi, la fiche passe à Done, la dernière erreur est effacée, le même résumé du résultat que celui du bouton est appliqué, le bon de livraison est marqué comme synchronisé et une note y est laissée. Si la requête échoue ou si le suivi n'apparaît pas, rien ne change.
Pour lancer l'opération à la main depuis la fiche, il reste le bouton Execute.
Le cas : Hogar Norte lance une opération
Exemple Cas illustratif : l'entreprise et ses chiffres sont inventés pour expliquer le flux.
Hogar Norte est une boutique fictive qui vend sur Temu et gère ses expéditions depuis Odoo. Une personne de l'équipe ouvre Temu › Orders & Fulfillment › Fulfillment et entre dans une nouvelle fiche. Voyons ce qui se passe à chaque tentative.
Première tentative : sans instance
Elle clique sur Execute avec le champ Instance vide (visible sur la fiche et dans la liste de Fulfillment). La méthode le vérifie en premier et s'arrête avec Temu instance is required.. Aucun statut n'a été écrit ni aucune requête conservée : la fiche reste comme elle était.
Deuxième tentative : il manque une donnée
La fiche porte une requête sur les sociétés de logistique. Avec l'instance renseignée, le module tente de construire la requête et s'arrête avec regionId is required for logistics companies query.. Rien n'a encore été écrit. Le message indique quelle donnée manque : elle la complète et clique de nouveau.
Troisième tentative : ça marche
Maintenant la méthode suit cet ordre :
- Elle construit la requête avec les données de la fiche. Si le champ
Request Override Json(ongletPayload Override) est renseigné et qu'il s'agit d'un objet, elle utilise ce contenu tel quel comme requête. - Elle écrit le statut
Running, conserve la requête construite et l'heure de la requête, et efface la dernière erreur. - Elle appelle l'instance Temu avec l'opération correspondant à la fiche.
- Si Temu répond correctement, elle prépare un résumé du résultat : si la réponse contient des numéros de colis, elle les conserve triés et sans doublons, et si la fiche n'avait pas de numéro de colis, elle prend le premier ; si elle contient des avertissements, elle les conserve un par ligne ; si elle contient une réservation d'enlèvement, elle conserve son numéro.
- Elle écrit en une seule fois
Done, la réponse, le résultat, ce résumé et l'heure de fin, et laisse la dernière erreur vide.
Le résumé est calculé avant d'écrire Done. Si le résumé échoue, Done n'est jamais écrit : la méthode le traite comme n'importe quelle autre erreur.
Quand quelque chose échoue après Running
Si l'opération ou le résumé échouent une fois Running écrit, le code écrit Failed avec l'heure de fin et le texte de l'erreur, puis relance l'erreur, qui est l'avertissement que voit la personne en cliquant. Vérifiez le statut sur la fiche au lieu de supposer lequel a été conservé.
Messages qui peuvent arrêter le bouton
En cliquant sur Execute, ces messages apparaissent lorsque le module prépare la requête, avant d'écrire Running. Ce sont certains de ceux qu'il peut donner :
Temu instance is required.: la fiche n'a pas d'instance.Request Override JSON must be an object/dict payload.: le contenu du champRequest Override Jsonde la fiche n'est pas un objet.Provide orderSnList or payload lines for shipping services query.: dans la requête des services d'expédition, il n'y a ni liste de commandes ni lignes.regionId is required for ship logistics type query.: cette donnée manque dans la requête des types de logistique d'expédition.regionId is required for logistics companies query.: cette donnée manque dans la requête des sociétés de logistique.packageSnList is required for buy shipping result query.: la liste des colis manque dans la requête du résultat de l'envoi acheté.packageSnList is required for shipping document query.: la liste des colis manque dans la requête des documents d'expédition.parentOrderSn and orderSn are required for self shipment status query.: ces données manquent dans la requête du statut de l'envoi propre.mainPackageSn (package_sn) is required for shipment sub confirm.: le colis principal manque lors de la confirmation des sous-colis.At least one sub package request is required.: il manque au moins une requête de sous-colis.pickupStartTime and pickupEndTime are required for pickup reservation creation.: les heures de la réservation d'enlèvement manquent.packageSnList is required for pickup reservation creation.: la liste des colis manque lors de la création de la réservation d'enlèvement.packageSnList is required for pickup reservation result query.: la liste des colis manque lors de la consultation du résultat de la réservation.reservationSn is required for pickup reservation cancellation.: le numéro de réservation manque lors de son annulation.packageSn is required for tracking info query.: le colis manque dans la requête de suivi.Set Request Override JSON for cooperative warehouse operation '…'.: pour les opérations d'entrepôt coopératif, le message demande de renseigner le champRequest Override Json.
Ce qu'il faut retenir du cas
- L'ordre est fixe : d'abord l'instance, puis la requête, ensuite les statuts.
- Les messages ci-dessus arrêtent l'action avant d'écrire quoi que ce soit : on les règle en complétant ce qu'ils demandent.
Dones'écrit en une seule fois avec la réponse, le résultat et le résumé ; si le résumé échoue, la fiche passe àFailed.- Le résumé du résultat est le même que celui qu'utilise la réconciliation automatique du bon de livraison.
- Une erreur postérieure à
Runningest relancée et laisse la fiche enFailed; après avoir cliqué, vérifiez le statut.
Comment FlexigoTech vous aide
Temu Connector for Odoo est à paiement unique par version et nécessite l'abonnement à FlexigoTech Cloud (plan Connecteur : 49 €/mois ou 490 €/an HT). Il est publié pour Odoo 17, 18, 19 et 20. La connexion passe par FlexigoTech Cloud, qui conserve les identifiants chiffrés et prévient par e-mail si la synchronisation échoue. Vous pouvez voir le module sur sa page ou sur la fiche Odoo Apps.
Si vous déployez Odoo et avez besoin de mettre en place la logistique avec Temu ou une intégration sur mesure, FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations.
À lire aussi
Vérifié dans le code du connecteur (version 19.0) et dans les sources citées
Sources
- Code du module : flexigobe_temu_connector 19.0 (455b3f0f): views/temu_fulfillment_views.xml
- Code du module : flexigobe_temu_connector 19.0 (455b3f0f): models/temu_fulfillment.py
- Code du module : flexigobe_temu_connector 19.0 (455b3f0f): models/stock_picking.py
- apps.odoo.com/apps/modules/19.0/flexigobe_temu_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
