Où se trouve le bouton et ce qu'il fait
Où se trouve le bouton et quand apparaît-il ?
Il se trouve dans la fiche Prepare Product Publish, l'assistant avec lequel vous préparez un produit pour Temu. Avec Odoo en français, il s'appelle Validate Product for Temu. La vue ne lui impose aucune condition : il est toujours visible, quelle que soit l'étape où vous vous trouvez, et c'est le cas dans les branches 17, 18 et 19 d'Odoo. Le champ Step de la fiche, en lecture seule, indique l'étape en cours : Basic, Media, Attributes, Compliance ou Preview.

Que fait-il, dans l'ordre, quand on clique dessus ?
Dans Odoo 19, le bouton fait ceci, dans cet ordre. Il vérifie d'abord que la fiche a un produit et une instance Temu, et que les JSON de propriétés et de conformité sont lisibles. Ensuite, il cherche le lien de ce produit avec Temu pour cette instance et ce modèle de produit : s'il existe, il le met à jour ; sinon, il le crée. Il parcourt ensuite les lignes de variantes : il lit le JSON des détails de spécification de chacune et enregistre ses données, puis il enregistre les valeurs par défaut du modèle (le détail, plus bas). Une fois le lien enregistré, il obtient le payload et ses avertissements, et le fait passer par la validation de conformité de l'instance et par un contrôle de contenu sur le nom et la description du produit. Si tout passe, il note le payload dans le lien, vide la dernière erreur, enregistre les avertissements et le marque comme validé. Enfin, il remplit Preview Payload et Validation Result, met Step sur Preview et rouvre la même fiche, avec le titre Temu Product Publish.

Ce qui change dans Odoo
Quelles données écrit-il avant de valider le contenu, et que se passe-t-il si je clique une nouvelle fois ?
Le bouton écrit ces données avant de passer aux contrôles de contenu. Dans le lien avec Temu, il enregistre, entre autres, la langue, la catégorie, la marque, les représentants, les régions d'origine, le type de produit, les données d'occasion, les URL de médias, les JSON de propriétés et de conformité et les pièces jointes de conformité. Dans chaque variante des lignes, il enregistre l'identifiant externe du SKU (si la ligne n'en a pas, il utilise la référence interne du produit), les détails de spécification, les URL de médias, le poids et les dimensions avec leurs unités. Sur le modèle de produit, il active la publication sur Temu et enregistre des valeurs par défaut, comme le modèle de coûts, la marque, les représentants, les régions d'origine et le type de produit. Comme le lien est recherché par instance et par modèle, cliquer de nouveau sur le bouton met à jour ce même lien au lieu d'en créer un autre.
Que verrai-je quand tout se passe bien ?
La fiche s'ouvre à l'étape Preview. Y apparaissent les champs en lecture seule Preview Payload et Validation Result, que remplit le code, pas vous : le premier avec le payload en JSON indenté, le second avec les avertissements (un par ligne) ou, s'il n'y en a aucun, un texte de validation correcte. Tous deux sont masqués quand Step n'est pas Preview, donc avec la valeur initiale (Basic) on ne les voit pas. Back et Next modifient aussi Step, et Validation Result est également écrit par Refresh Temu Lists. Ce bouton se limite à enregistrer, valider et afficher l'aperçu.
Erreurs et prérequis
Que faire si Product template is required. ou Temu instance is required. s'affiche ?
Ce sont les premiers contrôles, et ils se déclenchent au clic sur le bouton : le premier si la fiche n'a pas de modèle de produit ; le second si elle n'a pas d'instance Temu. L'action s'arrête là et la fiche ne passe pas à Preview. Pour corriger, la fiche doit avoir un produit et une instance choisis avant de cliquer à nouveau.

Validate Product for Temu dans Odoo 17.0, 18.0 et 19.0, avec ces messages sur le côté.Et s'il indique qu'un JSON n'est pas valide ?
Il existe des messages pour ce cas, et chacun pointe vers un texte au format JSON que le code n'a pas pu lire. Goods Property JSON is invalid: … apparaît avec le JSON des propriétés du produit, et Compliance JSON is invalid: … avec celui de conformité ; dans les deux, les points de suspension sont le détail de l'échec de lecture. Spec Details JSON is invalid for variant …: … apparaît avec les détails de spécification d'une variante : d'abord le nom de la variante, qui vous indique sur quelle ligne se trouve le problème, puis le détail. Si ces textes sont vides, il n'y a pas d'erreur : le code prend une liste vide pour les propriétés et les détails de spécification, et un objet vide pour la conformité. Corrigez le JSON du texte signalé par le message (accolades, crochets, virgules et guillemets bien fermés) et cliquez à nouveau. Ceux des propriétés et de la conformité apparaissent avant de chercher ou de créer le lien ; celui de la variante apparaît après, quand le code a déjà commencé à parcourir les lignes de variantes. Avec n'importe lequel d'entre eux, l'action s'arrête et n'arrive pas à Preview.
Que se passe-t-il si les JSON sont corrects mais que la validation échoue ?
Après l'enregistrement, le payload passe par la validation de conformité de l'instance et par le contrôle de contenu sur le nom et la description. Si l'un des deux renvoie des erreurs, l'action s'arrête avec le message d'erreur et vous ne passez pas à Preview. Corrigez ce que l'erreur indique et cliquez à nouveau : si tout passe maintenant, le lien est validé et sans dernière erreur.
Dans quelles versions est-il disponible et que faut-il pour qu'il fonctionne ?
Le bouton est présent dans les branches 17, 18 et 19 d'Odoo, et le module est publié sur Odoo Apps pour 17, 18, 19 et 20. Le module est à paiement unique par version (le prix de chacune figure sur la fiche) et nécessite l'abonnement à FlexigoTech Cloud, plan Connecteur : 49 €/mois ou 490 €/an, HT. Vous pouvez voir le module sur sa page de flexigotech.com. Si vous le mettez en place et souhaitez de l'aide avec Odoo 17, 18, 19 ou 20, ou pour une intégration sur mesure, FlexigoTech déploie Odoo et développe des connecteurs.
À 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): wizard/temu_product_publish_wizard_views.xml
- Code du module : flexigobe_temu_connector 19.0 (455b3f0f): wizard/temu_product_publish_wizard.py
- apps.odoo.com/apps/modules/19.0/flexigobe_temu_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
