Dónde está el botón y cuándo se ve
¿Dónde está el botón Actualizar productos y cuándo aparece?
Las fichas de este modelo se abren desde el menú Temu › Catalog › Sales Campaigns › Campaign Products. En la ficha de Promotion Goods está el botón Actualizar productos (Update Goods). La vista no le pone ninguna condición: se ve siempre, y el botón está en las ramas de Odoo 17, 18 y 19.

Actualizar productos.¿Qué hace el botón en pocas palabras?
Comprueba que la ficha tenga lo necesario, monta con sus datos un envío para Temu, lo manda a través de la instancia de Temu de la ficha y, si la llamada sale bien, anota en la ficha el resultado. Lo que se envía depende del tipo de operación: unos tipos piden una lista de SKU y otro pide una cantidad.

Qué comprueba antes de enviar
¿Qué comprueba primero?
Por este orden: que la ficha tenga actividad (el campo Activity, que se ve en la ficha y en la lista de Promotion Goods como solo lectura), que tenga identificador de producto y que tenga tipo de operación. Si falta algo, la acción se detiene con el mensaje que corresponde: Activity ID is required., Goods ID is required. o Operate Type is required.. En ese punto todavía no se ha preparado ningún envío. Revisa la ficha y vuelve a pulsar.

Temu › Catalog › Sales Campaigns › Campaign Products, el botón Actualizar productos y, a un lado, los mensajes Activity ID is required. y Goods ID is required..¿Qué más pide el módulo con el tipo de operación que nombra el mensaje Update Sku List is required for operateType 10.?
Pide una lista de SKU con su precio. Usa la lista de actualización de SKU de la ficha y, si está vacía, la construye a partir de la lista de SKU de la ficha: se queda con las entradas que traen identificador de SKU y un precio mayor que cero (prueba el precio de proveedor de la actividad, el recomendado y un precio genérico, por ese orden, hasta dar con uno mayor que cero). Si aun así no queda ninguna entrada, la acción para con Update Sku List is required for operateType 10..
¿Y con el tipo de operación que nombra Activity Quantity must be > 0 for operateType 20.?
Aquí cuenta la cantidad. El módulo toma Desired Activity Quantity; si está vacía o a cero, usa Activity Quantity; y si tampoco hay, la cantidad de actividad recomendada que guarda la propia ficha. El resultado se redondea a entero. Si no es mayor que cero, para con Activity Quantity must be > 0 for operateType 20.. Desired Activity Quantity se ve en la ficha de Promotion Goods, y Activity Quantity se ve en esa ficha y en la pestaña Productos (Goods), tabla Productos.
¿Y con el tipo de operación 40 o con cualquier otro?
Con el 40 hace falta una lista de SKU para añadir. Sale del campo Add Sku List Json, en la pestaña Payloads de SKU (SKU Payloads) de la ficha; su ayuda dice: «Manual addSkuList override.». Si la lista está vacía, la acción para con Add Sku List is required for operateType 40., y aquí no hay lista alternativa de la que tirar. Con cualquier otro tipo de operación el código no añade ninguna lista ni cantidad: el envío lleva solo los datos básicos.
Qué envía, qué guarda y qué pasa si falla
¿Qué se envía a Temu?
Un bloque con la actividad, el producto, el tipo de operación y un código de trazabilidad. Si la ficha ya tiene código, el módulo lo usa (quitando espacios sobrantes); si no, genera uno aleatorio. A eso se suma la lista o la cantidad que corresponda al tipo de operación. El bloque pasa a la instancia de Temu de la ficha, que hace la llamada.
¿Qué cambia en la ficha cuando sale bien?
El módulo lee la respuesta: si es una lista, toma el primer elemento; si es un único bloque, lo usa tal cual; si no tiene ninguna de esas formas, la trata como vacía. Después guarda en la ficha el código de trazabilidad, el identificador de borrador (texto vacío si no viene), el estado de la operación como número, el motivo del fallo si la respuesta lo trae, la acción realizada (update), lo enviado, la respuesta completa con el método usado, la fecha y hora de la comprobación y deja vacío el último error.
¿Qué pasa si falla la llamada o el guardado?
Si falla la llamada a Temu, la lectura de la respuesta o el guardado, el módulo apunta el texto del error y lo vuelve a lanzar: la acción se detiene con ese mismo error y no se da por buena. Los mensajes de las comprobaciones de arriba saltan antes de todo esto, así que con ellos no se llega a enviar nada.
¿Cuesta algo aparte del módulo?
El módulo es de pago único por versión de Odoo (está publicado en Odoo Apps para 17, 18, 19 y 20) y necesita la suscripción a FlexigoTech Cloud, plan Conector: 49 €/mes o 490 €/año sin IVA. La conexión pasa por FlexigoTech Cloud, que guarda cifradas las credenciales; sin suscripción, o con el servicio suspendido, se para lo que da la suscripción y los datos se quedan en tu Odoo.
Si necesitas ayuda con la puesta en marcha
FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida. Puedes ver el módulo en su ficha de Odoo Apps o en la página del módulo, y si quieres repasar lo que añade a los productos de Odoo, lee qué añade el conector a Productos.
Sigue leyendo
Comprobado en el código del conector (versión 19.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigobe_temu_connector 19.0 (455b3f0f): views/temu_promotion_views.xml
- Código del módulo: 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
