Ce que vérifie le module avant de lancer le message
Le message Request Override JSON must be an object/dict payload. est lancé par l'étape du module qui construit ce qui va être envoyé à Temu depuis une fiche Fulfillment. Cette étape est atteinte quand vous cliquez sur le bouton Execute de la fiche. Dans Odoo 17, 18 et 19, ce bouton est toujours visible, et le message figure dans le code publié de ces trois branches.
La logique du code est courte et se lit ainsi :
- Si le champ
Request Override Jsona du contenu, le module vérifie de quel type de donnée il s'agit. - Si ce contenu n'est pas un objet (un dictionnaire de clés et de valeurs), l'action s'arrête avec le message.
- Si c'est un objet, le module renvoie une copie de cet objet telle quelle et ne lit pas les autres champs de la fiche pour monter ce qui est envoyé.
- Si le champ est vide, le code n'entre pas dans cette vérification. Dans la plupart des opérations, il passe à la construction de ce qui est envoyé à partir du type d'opération de la fiche et de ses champs. Dans les opérations d'entrepôt coopératif, il ne construit rien : le champ doit être rempli et, vide, l'action s'arrête avec un autre message.
Autrement dit, ce message ne signale pas qu'une donnée manque : il signale qu'une donnée est écrite sous la mauvaise forme. Une liste à la place d'un objet, par exemple, remplit déjà la condition de l'erreur.


Avant de cliquer sur Execute
Une vérification rapide dans la fiche évite l'erreur. Les fiches Fulfillment s'ouvrent depuis le menu Temu › Orders & Fulfillment › Fulfillment.
- Ouvrez la fiche « Fulfillment » depuis
Temu › Orders & Fulfillment › Fulfillment. - Allez dans l'onglet
Payload Override. - Regardez le champ
Request Override Json. Son aide dit : « Optional payload override. If set, it is sent as-is. ». - Décidez si vous voulez vraiment remplacer ce que construit le module. Si vous remplissez le champ, ce que vous y mettez est ce qui est envoyé, tel quel.
- Si vous ne voulez rien remplacer, laissez le champ vide, sauf si l'opération de la fiche est de type entrepôt coopératif : pour celles-ci, le champ doit être rempli.
- Si vous le remplissez, écrivez un seul objet JSON : un seul bloc de clés et de valeurs, pas une liste d'éléments ni un texte ou un nombre isolés.
Le champ Request Override Json se trouve dans l'onglet Payload Override de la fiche Fulfillment.
Si le message est déjà apparu
L'erreur n'a qu'une seule condition dans le code : le champ Request Override Json est rempli et son contenu n'est pas un objet. Voici les étapes, dans l'ordre.
- Fermez l'avertissement et ne cliquez pas encore sur
Execute: avec le même contenu, le même message reviendra. - Ouvrez l'onglet
Payload Overridede cette même fiche. - Lisez ce qu'il y a dans
Request Override Jsonet déterminez s'il s'agit d'un objet (un bloc de clés et de valeurs) ou d'autre chose, comme une liste. - Si c'était une liste, réécrivez le contenu sous forme d'un seul objet JSON ou videz le champ. Le vider ne convient que si l'opération n'est pas de type entrepôt coopératif ; pour celles-ci, le champ doit contenir un objet.
- Si vous n'aviez pas l'intention de remplacer ce que construit le module, videz le champ (là encore, sauf pour les opérations d'entrepôt coopératif).
- Enregistrez la fiche avec le champ corrigé.
- Cliquez de nouveau sur
Execute.
Si vous videz le champ, le code n'entre plus dans la vérification de ce message. Dans la plupart des opérations, il passe à la construction de ce qui est envoyé à partir du type d'opération et de ses champs, un chemin différent avec ses propres vérifications, que raconte le bouton Execute pas à pas. Dans les opérations d'entrepôt coopératif, le champ doit être rempli : vide, l'action s'arrête avec un autre message.

Execute.Après la correction
Après avoir enregistré et cliqué de nouveau sur le bouton, vérifiez ce qui suit.
- Le message
Request Override JSON must be an object/dict payload.n'apparaît plus. - Si vous avez laissé le champ rempli, son contenu est un objet et c'est exactement ce que vous voulez envoyer, car le module le copie tel quel et ne le complète pas avec d'autres champs de la fiche.
- Si vous l'avez vidé dans une opération qui n'est pas de type entrepôt coopératif, vérifiez que la fiche contient bien les données de l'opération choisie, car le module lit maintenant ces champs au lieu d'utiliser votre contenu.
- Si l'opération est de type entrepôt coopératif et que vous avez vidé le champ, l'action s'arrêtera avec un autre message : là, le champ doit contenir un objet.
- Si un autre message apparaît, ce n'est plus cette erreur : c'est une autre vérification du module et il faut lire son propre texte.
Les questions que vous allez vous poser
Peut-il apparaître si le champ est vide ?
Pas avec cette condition : le code ne regarde le type du contenu que si le champ contient quelque chose. Avec le champ vide, il poursuit avec l'opération de la fiche, sauf dans les opérations d'entrepôt coopératif, où il s'arrête avec un autre message parce que le champ doit être rempli.
Où apparaît le message ?
Quand vous cliquez sur le bouton Execute de la fiche Fulfillment : c'est là que la méthode arrive à la vérification.
Que devient l'action quand il apparaît ?
Le message arrête l'action : le bouton Execute ne poursuit pas avec ce qui allait être envoyé.
Est-ce identique dans toutes les versions ?
Le message figure dans le code publié des branches 17.0, 18.0 et 19.0. Le module est aussi publié sur Odoo Apps pour la 20.0.
Si vous avez besoin d'aide pour votre intégration
Si votre cas consiste à envoyer à Temu un contenu sur mesure et que vous voulez que quelqu'un le revoie avec vous, vous pouvez consulter la page du module. FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure, au cas où votre besoin irait au-delà de ce champ.
À 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): models/temu_fulfillment.py
- Code du module : flexigobe_temu_connector 19.0 (455b3f0f): views/temu_fulfillment_views.xml
- apps.odoo.com/apps/modules/19.0/flexigobe_temu_connector
- flexigotech.com/en/services.html
