Antes de clicar
O botão Publish to Temu está na ficha de Product Publishing, que se abre a partir do menu Temu › Catalog › Listings. Vê-se sempre, sem condição de estado, e existe nos ramos do Odoo 17, 18 e 19. No Odoo 19, o botão faz o que se segue.
- Abre a ficha a partir de
Temu › Catalog › Listingse localiza o botãoPublish to Temu. - Verifica que
Instance(também aparece na lista) eTemplatesão os que queres publicar. - Mantém em vigor a subscrição do FlexigoTech Cloud: a ligação passa por esse serviço, que guarda as credenciais cifradas e avisa por e-mail se a sincronização falhar. Sem subscrição, ou com o serviço suspenso, pára o que a subscrição dá; os dados ficam no teu Odoo.
- Tem presente que o mesmo botão serve para criar e para atualizar: decide consoante a ficha já tenha ou não um identificador da Temu.
O módulo é de pagamento único por versão do Odoo (o preço de cada versão está na ficha do Odoo Apps) e necessita da subscrição do FlexigoTech Cloud, plano Conector: 49 €/mês ou 490 €/ano sem IVA, até 3 contas da plataforma.


Publish to Temu.
Ao clicar: o que faz o botão, ficha a ficha
O código percorre as fichas selecionadas uma a uma e, em cada uma, segue esta ordem.
- Criação com a API simplificada V3. Se a ficha não tem identificador da Temu e a instância está configurada para usar a API de criação V3, o módulo constrói os dados do produto, guarda-os em
Last Payload(ficha deProduct Publishing, separadorPayload, só de leitura) e envia-os numa única chamada. Segundo o próprio código, com este caminho a Temu atribui a categoria, completa os atributos e descarrega as imagens a partir dos URL enviados, sem chamadas à parte de categoria, modelo de custos nem carregamento de imagens. - Criação com validação prévia. Se a ficha não tem identificador e não se usa V3, o botão executa antes a mesma validação de
Validate Product for Temu. Se encontrar erros de conformidade ou de conteúdo no nome ou na descrição, pára; se não, guarda os dados emLast Payloade marca a ficha como validada. - Novas tentativas da criação. Com os dados validados, experimenta um método de criação da API da Temu. Se falhar com certos erros (entre eles, os que mencionam
schemaouinvalid param), experimenta o seguinte; com outros erros pára. - Ficha que já tem identificador. Valida da mesma forma e envia uma atualização do produto já publicado. Se uma tentativa de envio falhar, experimenta outra variante de envio.
- Leitura da resposta. Procura o identificador do produto na resposta da Temu. Se não chegar nenhum, a ação pára e o código deixa a ficha em
Failed. - O que guarda. Escreve o identificador da Temu, passa a ficha a
Published, apaga o erro anterior e guarda a resposta, o método usado, a data de publicação e a da última sincronização. - Ligação de SKU. Lê a lista de SKU da resposta (ou, se não vier, a dos dados enviados) e emparelha-a com as variantes do modelo por referência interna ou por SKU externo. Cria ou atualiza uma linha por variante no separador
SKU Bindings. Guarda também, por instância, os preços que a resposta traz com valor superior a zero e o stock remoto quando vem na resposta. - Atualização se faltarem ligações. Se houver menos linhas de SKU do que variantes ativas, ou alguma linha sem SKU da Temu, tenta atualizar a partir da Temu os dados das variantes do modelo. Se essa atualização falhar, fica apenas anotado: não interrompe a ação.
- Estado na Temu. Pede à Temu o estado de publicação. Se falhar, também fica apenas anotado. Se o código de estado da Temu corresponder a um estado da ficha, a ficha passa para esse estado, pelo que
Publishednão tem de ser o estado final. Se a Temu enviar uma mensagem de estado, fica como texto de erro. - Aviso final. Ao terminar sem erro aparece uma notificação de sucesso com o texto
Selected product bindings were published successfully., sem ficar fixa no ecrã.
Se algo falhar
- Tem presente que
Selected product bindings were published successfully.não é um erro: é a notificação de sucesso do final. - Perante qualquer erro, o código escreve o estado
Failedjuntamente com o texto do erro e volta a lançá-lo, pelo que vês o aviso no ecrã. Lê esse texto inteiro antes de mexer em seja o que for. - Se o erro vier da validação prévia (conformidade, ou conteúdo do nome e da descrição), corrige no produto o que o texto indicar e volta a clicar: o botão vê-se sempre.
- Se o erro chegar da Temu ao experimentar métodos de criação, tem em conta que o módulo só encadeia o método seguinte com certos erros, entre eles os que mencionam
schemaouinvalid param. - Se trabalhas com várias fichas ao mesmo tempo, lembra-te de que o erro de uma é relançado e pára a ação.
Depois de publicar
- Abre o separador
Payloade revêLast Payload: são os dados que o módulo guardou para enviar. - Abre o separador
SKU Bindingse verifica que há uma linha por cada variante ativa do modelo.
A atualização dos dados de produto não é exclusiva do botão: a tarefa agendada Temu Backfill Missing Amounts (a cada 10 minutos, ativa ao instalar) pode chegar a essa mesma atualização quando a um produto de uma encomenda faltam o preço de venda ou os preços base e de fornecedor.
O módulo está no Odoo Apps para Odoo 17, 18, 19 e 20.
Se precisares de ajuda
A FlexigoTech implementa Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida. Tens o módulo na sua página.
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): views/temu_product_binding_views.xml
- Código do módulo: flexigobe_temu_connector 19.0 (455b3f0f): models/temu_product_binding.py
- Código do módulo: flexigobe_temu_connector 19.0 (455b3f0f): models/temu_order.py
- apps.odoo.com/apps/modules/19.0/flexigobe_temu_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
