Cosa controlla il modulo prima di lanciare il messaggio
Il messaggio Request Override JSON must be an object/dict payload. viene lanciato dal passaggio del modulo che costruisce ciò che verrà inviato a Temu a partire da una scheda di Fulfillment. A quel passaggio si arriva quando premi il pulsante Execute della scheda. In Odoo 17, 18 e 19 quel pulsante è sempre visibile e il messaggio è presente nel codice pubblicato di tutti e tre i rami.
La logica del codice è breve e si legge così:
- Se il campo
Request Override Jsonha un contenuto, il modulo controlla di che tipo di dato si tratta. - Se quel contenuto non è un oggetto (un dizionario di chiavi e valori), l'azione si ferma con il messaggio.
- Se è un oggetto, il modulo restituisce una copia di quell'oggetto così com'è e non continua a leggere gli altri campi della scheda per costruire ciò che viene inviato.
- Se il campo è vuoto, il codice non entra in questo controllo. Nella maggior parte delle operazioni passa a costruire ciò che viene inviato a partire dal tipo di operazione della scheda e dai suoi campi. Nelle operazioni di magazzino cooperativo non costruisce nulla: il campo deve essere compilato e, se è vuoto, l'azione si ferma con un altro messaggio diverso.
In altre parole, questo messaggio non segnala che manca un dato: segnala che è stato scritto un dato nella forma sbagliata. Una lista al posto di un oggetto, per esempio, soddisfa già la condizione dell'errore.


Prima di premere Execute
Una rapida revisione della scheda evita l'errore. Le schede di Fulfillment si aprono dal menu Temu › Orders & Fulfillment › Fulfillment.
- Apri la scheda di «Fulfillment» da
Temu › Orders & Fulfillment › Fulfillment. - Vai alla scheda
Payload Override. - Guarda il campo
Request Override Json. La sua guida dice: «Optional payload override. If set, it is sent as-is.». - Decidi se vuoi davvero sostituire ciò che costruisce il modulo. Se compili il campo, ciò che scrivi è ciò che viene inviato, così com'è.
- Se non vuoi sostituire nulla, lascia il campo vuoto, a meno che l'operazione della scheda sia di magazzino cooperativo: in quel caso il campo deve essere compilato.
- Se lo compili, scrivi un unico oggetto JSON: un solo blocco di chiavi e valori, non una lista di elementi né un testo o un numero isolati.
Il campo Request Override Json si trova nella scheda Payload Override della scheda di Fulfillment.
Se il messaggio è già comparso
L'errore ha una sola condizione nel codice: il campo Request Override Json è compilato e il suo contenuto non è un oggetto. Ecco i passaggi, in ordine.
- Chiudi l'avviso e non premere ancora
Execute: con lo stesso contenuto comparirà di nuovo lo stesso messaggio. - Apri la scheda
Payload Overridedella stessa scheda. - Leggi cosa c'è in
Request Override Jsone verifica se è un oggetto (un blocco di chiavi e valori) o qualcos'altro, come una lista. - Se era una lista, riscrivi il contenuto come un unico oggetto JSON oppure svuota il campo. Svuotarlo va bene solo se l'operazione non è di magazzino cooperativo; in quelle, il campo deve contenere un oggetto.
- Se non avevi intenzione di sostituire ciò che costruisce il modulo, svuota il campo (di nuovo, tranne nelle operazioni di magazzino cooperativo).
- Salva la scheda con il campo corretto.
- Premi di nuovo
Execute.
Se svuoti il campo, il codice non entra più nel controllo di questo messaggio. Nella maggior parte delle operazioni passa a costruire ciò che viene inviato a partire dal tipo di operazione e dai suoi campi, un percorso diverso con i suoi controlli, che racconta il pulsante Execute passo per passo. Nelle operazioni di magazzino cooperativo il campo deve essere compilato: se è vuoto, l'azione si ferma con un altro messaggio.

Execute.Dopo la correzione
Dopo aver salvato e premuto di nuovo il pulsante, verifica quanto segue.
- Il messaggio
Request Override JSON must be an object/dict payload.non compare più. - Se hai lasciato il campo compilato, il suo contenuto è un oggetto ed è esattamente ciò che vuoi inviare, perché il modulo lo copia così com'è e non lo completa con altri campi della scheda.
- Se l'hai svuotato in un'operazione che non è di magazzino cooperativo, controlla che la scheda abbia i dati dell'operazione scelta impostati correttamente, perché ora il modulo legge quei campi invece del tuo contenuto.
- Se l'operazione è di magazzino cooperativo e hai svuotato il campo, l'azione si fermerà con un altro messaggio: lì il campo deve contenere un oggetto.
- Se compare un altro messaggio diverso, non è più questo errore: è un altro controllo del modulo e bisogna leggere il suo testo.
Domande che ti farai
Può comparire se il campo è vuoto?
No con questa condizione: il codice controlla il tipo del contenuto solo se il campo contiene qualcosa. Con il campo vuoto prosegue con l'operazione della scheda, tranne nelle operazioni di magazzino cooperativo, dove si ferma con un altro messaggio perché il campo deve essere compilato.
Dove compare il messaggio?
Quando premi il pulsante Execute della scheda di Fulfillment: è lì che il metodo arriva al controllo.
Che cosa succede all'azione quando compare?
Il messaggio ferma l'azione: il pulsante Execute non va avanti con ciò che stava per inviare.
È uguale in tutte le versioni?
Il messaggio è presente nel codice pubblicato dei rami 17.0, 18.0 e 19.0. Il modulo è pubblicato su Odoo Apps anche per la 20.0.
Se hai bisogno di aiuto con la tua integrazione
Se nel tuo caso devi inviare a Temu un contenuto su misura e vuoi che qualcuno lo riveda con te, puoi consultare la pagina del modulo. FlexigoTech implementa Odoo 17, 18, 19 e 20 e sviluppa connettori e integrazioni su misura, nel caso la tua esigenza vada oltre questo campo.
Continua a leggere
Verificato nel codice del connettore (versione 19.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigobe_temu_connector 19.0 (455b3f0f): models/temu_fulfillment.py
- Codice del modulo: 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
