Où se trouve le bouton et quand il s'affiche
Où se trouve le bouton Update Goods et quand apparaît-il ?
Les fiches de ce modèle s'ouvrent depuis le menu Temu › Catalog › Sales Campaigns › Campaign Products. Dans la fiche Promotion Goods se trouve le bouton Update Goods. La vue ne lui impose aucune condition : il s'affiche toujours, et le bouton est présent dans les branches d'Odoo 17, 18 et 19.

Update Goods.Que fait le bouton en quelques mots ?
Il vérifie que la fiche contient le nécessaire, monte avec ses données un envoi pour Temu, l'envoie via l'instance Temu de la fiche et, si l'appel réussit, note le résultat dans la fiche. Ce qui est envoyé dépend du type d'opération : certains types demandent une liste de SKU et un autre demande une quantité.

Ce qu'il vérifie avant d'envoyer
Que vérifie-t-il en premier ?
Dans cet ordre : que la fiche ait une activité (le champ Activity, visible dans la fiche et dans la liste de Promotion Goods en lecture seule), qu'elle ait un identifiant de produit et qu'elle ait un type d'opération. S'il manque quelque chose, l'action s'arrête avec le message correspondant : Activity ID is required., Goods ID is required. ou Operate Type is required.. À ce stade, aucun envoi n'a encore été préparé. Vérifiez la fiche et cliquez à nouveau.

Temu › Catalog › Sales Campaigns › Campaign Products, le bouton Update Goods et, sur le côté, les messages Activity ID is required. et Goods ID is required..Que demande de plus le module avec le type d'opération que nomme le message Update Sku List is required for operateType 10. ?
Il demande une liste de SKU avec leur prix. Il utilise la liste de mise à jour des SKU de la fiche et, si elle est vide, la construit à partir de la liste des SKU de la fiche : il garde les entrées qui ont un identifiant de SKU et un prix supérieur à zéro (il essaie le prix fournisseur de l'activité, le prix recommandé et un prix générique, dans cet ordre, jusqu'à en trouver un supérieur à zéro). Si aucune entrée ne reste malgré tout, l'action s'arrête avec Update Sku List is required for operateType 10..
Et avec le type d'opération que nomme Activity Quantity must be > 0 for operateType 20. ?
Ici, c'est la quantité qui compte. Le module prend Desired Activity Quantity ; si elle est vide ou à zéro, il utilise Activity Quantity ; et s'il n'y en a pas non plus, la quantité d'activité recommandée que la fiche elle-même conserve. Le résultat est arrondi à l'entier. S'il n'est pas supérieur à zéro, l'action s'arrête avec Activity Quantity must be > 0 for operateType 20.. Desired Activity Quantity est visible dans la fiche de Promotion Goods, et Activity Quantity est visible dans cette fiche et dans l'onglet Goods, tableau Goods.
Et avec le type d'opération 40 ou avec n'importe quel autre ?
Avec le 40, il faut une liste de SKU à ajouter. Elle provient du champ Add Sku List Json, dans l'onglet SKU Payloads de la fiche ; son aide indique : « Manual addSkuList override. ». Si la liste est vide, l'action s'arrête avec Add Sku List is required for operateType 40., et ici il n'y a pas de liste de remplacement où puiser. Avec tout autre type d'opération, le code n'ajoute ni liste ni quantité : l'envoi ne contient que les données de base.
Ce qu'il envoie, ce qu'il enregistre et ce qui se passe en cas d'échec
Qu'est-ce qui est envoyé à Temu ?
Un bloc avec l'activité, le produit, le type d'opération et un code de traçabilité. Si la fiche a déjà un code, le module l'utilise (en supprimant les espaces superflus) ; sinon, il en génère un aléatoire. À cela s'ajoute la liste ou la quantité qui correspond au type d'opération. Le bloc est transmis à l'instance Temu de la fiche, qui effectue l'appel.
Qu'est-ce qui change dans la fiche quand tout se passe bien ?
Le module lit la réponse : si c'est une liste, il prend le premier élément ; si c'est un bloc unique, il l'utilise tel quel ; si elle n'a aucune de ces formes, il la traite comme vide. Ensuite il enregistre dans la fiche le code de traçabilité, l'identifiant de brouillon (texte vide s'il n'en vient pas), l'état de l'opération sous forme de nombre, le motif de l'échec si la réponse en contient un, l'action réalisée (update), ce qui a été envoyé, la réponse complète avec la méthode utilisée, la date et l'heure de la vérification, et il laisse vide la dernière erreur.
Que se passe-t-il si l'appel ou l'enregistrement échoue ?
Si l'appel à Temu, la lecture de la réponse ou l'enregistrement échoue, le module note le texte de l'erreur et la relance : l'action s'arrête avec cette même erreur et n'est pas considérée comme réussie. Les messages des vérifications ci-dessus se déclenchent avant tout cela, donc avec eux rien n'est envoyé.
Y a-t-il un coût en plus du module ?
Le module est en paiement unique par version d'Odoo (il est publié sur Odoo Apps pour 17, 18, 19 et 20) et nécessite l'abonnement à FlexigoTech Cloud, plan Conector : 49 €/mois ou 490 €/an HT. La connexion passe par FlexigoTech Cloud, qui conserve les identifiants chiffrés ; sans abonnement, ou avec le service suspendu, ce que fournit l'abonnement s'arrête et les données restent dans votre Odoo.
Si vous avez besoin d'aide pour la mise en place
FlexigoTech met en place Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Vous pouvez voir le module sur sa fiche Odoo Apps ou sur la page du module, et si vous voulez revoir ce qu'il ajoute aux produits d'Odoo, lisez ce que le connecteur ajoute aux Produits.
À 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_promotion_views.xml
- Code du module : flexigobe_temu_connector 19.0 (455b3f0f): models/temu_promotion.py
- apps.odoo.com/apps/modules/19.0/flexigobe_temu_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
