O que o módulo verifica antes de lançar a mensagem
A mensagem Request Override JSON must be an object/dict payload. é lançada pelo passo do módulo que constrói o que vai ser enviado para o Temu a partir de uma ficha de Fulfillment. Esse passo é alcançado quando clica no botão Execute da ficha. No Odoo 17, 18 e 19 esse botão vê-se sempre, e a mensagem está no código publicado desses três ramos.
A lógica do código é curta e lê-se assim:
- Se o campo
Request Override Jsontiver conteúdo, o módulo verifica que tipo de dado é. - Se esse conteúdo não for um objeto (um dicionário de chaves e valores), a ação é interrompida com a mensagem.
- Se for um objeto, o módulo devolve uma cópia desse objeto tal e qual e não continua a ler os restantes campos da ficha para montar o que é enviado.
- Se o campo estiver vazio, o código não entra nessa verificação. Na maioria das operações passa a construir o que é enviado a partir do tipo de operação da ficha e dos seus campos. Nas operações de armazém cooperativo não constrói nada: o campo tem de estar preenchido e, vazio, a ação é interrompida com outra mensagem diferente.
Ou seja, esta mensagem não fala de um dado em falta: fala de um dado escrito com a forma errada. Uma lista em vez de um objeto, por exemplo, já cumpre a condição do erro.


Antes de clicar em Execute
Uma revisão rápida na ficha evita o erro. As fichas de Fulfillment abrem-se a partir do menu Temu › Orders & Fulfillment › Fulfillment.
- Abra a ficha de «Fulfillment» a partir de
Temu › Orders & Fulfillment › Fulfillment. - Vá ao separador
Payload Override. - Veja o campo
Request Override Json. A sua ajuda diz: «Optional payload override. If set, it is sent as-is.». - Decida se realmente quer substituir o que o módulo constrói. Se preencher o campo, o que escrever é o que é enviado, tal e qual.
- Se não quer substituir nada, deixe o campo vazio, a não ser que a operação da ficha seja de armazém cooperativo: nessas o campo tem de estar preenchido.
- Se o preencher, escreva um único objeto JSON: um só bloco de chaves e valores, não uma lista de elementos nem um texto ou um número soltos.
O campo Request Override Json está no separador Payload Override da ficha de Fulfillment.
Se a mensagem já apareceu
O erro tem uma única condição no código: o campo Request Override Json está preenchido e o seu conteúdo não é um objeto. Estes são os passos, por ordem.
- Feche o aviso e ainda não clique em
Executeoutra vez: com o mesmo conteúdo, a mesma mensagem voltará a aparecer. - Abra o separador
Payload Overridedessa mesma ficha. - Leia o que está em
Request Override Jsone verifique se é um objeto (um bloco de chaves e valores) ou se é outra coisa, como uma lista. - Se era uma lista, reescreva o conteúdo como um único objeto JSON ou esvazie o campo. Esvaziá-lo só serve se a operação não for de armazém cooperativo; nessas, o campo deve ficar com um objeto.
- Se não tinha intenção de substituir o que o módulo constrói, esvazie o campo (de novo, exceto nas operações de armazém cooperativo).
- Guarde a ficha com o campo corrigido.
- Clique em
Executenovamente.
Se esvaziar o campo, o código deixa de entrar na verificação desta mensagem. Na maioria das operações passa a construir o que é enviado a partir do tipo de operação e dos seus campos, um caminho diferente com as suas próprias verificações, que o botão Execute passo a passo explica. Nas operações de armazém cooperativo o campo tem de estar preenchido: vazio, a ação é interrompida com outra mensagem.

Execute.Depois de corrigir
Depois de guardar e voltar a clicar no botão, verifique o seguinte.
- A mensagem
Request Override JSON must be an object/dict payload.já não aparece. - Se deixou o campo preenchido, o seu conteúdo é um objeto e é exatamente o que quer enviar, porque o módulo o copia tal e qual e não o completa com outros campos da ficha.
- Se o esvaziou numa operação que não é de armazém cooperativo, confirme que a ficha tem bem preenchidos os dados da operação escolhida, porque agora o módulo lê esses campos em vez de usar o seu conteúdo.
- Se a operação é de armazém cooperativo e esvaziou o campo, a ação será interrompida com outra mensagem: aí o campo deve conter um objeto.
- Se aparecer outra mensagem diferente, já não é este erro: é outra verificação do módulo e é preciso ler o seu próprio texto.
Perguntas que vai fazer
Pode aparecer se o campo estiver vazio?
Não com esta condição: o código só verifica o tipo do conteúdo se o campo tiver algo. Com o campo vazio, segue com a operação da ficha, exceto nas operações de armazém cooperativo, onde é interrompida com outra mensagem porque o campo tem de estar preenchido.
Onde aparece a mensagem?
Ao clicar no botão Execute da ficha de Fulfillment: é aí que o método chega à verificação.
O que acontece à ação quando aparece?
A mensagem interrompe a ação: o botão Execute não avança com o que ia ser enviado.
É igual em todas as versões?
A mensagem está no código publicado dos ramos 17.0, 18.0 e 19.0. O módulo está publicado no Odoo Apps também para a 20.0.
Se precisar de ajuda com a sua integração
Se o seu caso passa por enviar para o Temu um conteúdo à medida e quer que alguém o reveja consigo, pode consultar a página do módulo. A FlexigoTech implementa Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida, caso o seu caso vá além deste campo.
Continue a ler
Verificado no código do conector (versão 19.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigobe_temu_connector 19.0 (455b3f0f): models/temu_fulfillment.py
- Código do módulo: 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
