Dónde está el botón y cuándo se ve
El botón Actualizar desde Shopify (Refresh from Shopify) está en la pantalla Pedidos de Shopify (Shopify Orders). Para llegar, abre Ventas (Sales), después Shopify, después Operations y por último Orders. La condición de su vista dice que se ve siempre, y existe en Odoo 17, 18, 19 y 20.

El rótulo cambia con el idioma de Odoo. Con Odoo en castellano es Actualizar desde Shopify; en alemán, Von Shopify aktualisieren; en francés, Actualiser depuis Shopify; en italiano, Aggiorna da Shopify; y en portugués, Atualizar do Shopify.


Primero, lo que el conector hace sin que pulses nada
El camino normal es automático. La tarea programada Shopify Process Webhooks (cada minuto, activa al instalar) llega hasta el procesado de los avisos de webhook de Shopify. Cuando el aviso es de un pedido y la casilla Webhook Sync Orders está marcada, el módulo toma el identificador del pedido del propio aviso y lanza la misma sincronización de pedidos que lanza el botón.
Esa casilla está en la ficha de Shopify Instances, pestaña Webhooks, y viene marcada por defecto. Justo en la misma pestaña está Webhook Sync Products, que viene desmarcada por defecto y se refiere a productos, no a pedidos.
Por eso el botón es la excepción: sirve para volver a traer un pedido a mano. Además, el código del botón no mira la casilla Webhook Sync Orders: llama directamente a la sincronización con la instancia y el pedido que tiene delante.
Un caso ilustrativo: el pedido que no te cuadra
Ejemplo Caso ilustrativo: la empresa y sus datos son inventados para explicar el flujo.
Imagina Cerámicas Ribera, una tienda inventada para este ejemplo que vende en Shopify y lleva el resto en Odoo. Una persona de administración abre un pedido en Odoo y duda de que refleje lo que Shopify tiene ahora. Así lo recorre:
- Entra en la ficha de
Shopify Instances, pestañaWebhooks, y mira siWebhook Sync Ordersestá marcada. Si lo está, los avisos de pedido ya lanzan esa sincronización por su cuenta; lo que ella busca es una segunda lectura a mano. - Abre
Ventas,Shopify,OperationsyOrders, y entra en el pedido. Se fija en el campoInstancey en el campoPedido de Shopify(Shopify Order), porque son los dos datos con los que trabaja el botón. - Pulsa
Actualizar desde Shopify. - El módulo vuelve a pedir ese pedido a Shopify y, si Shopify lo devuelve, se lo entrega a otro paso del módulo y lo cuenta como sincronizado.
- Vuelve a mirar el pedido en Odoo y lo compara con Shopify.
Qué aprender del caso: primero se mira el camino automático y sus casillas, y después se usa el botón sobre un pedido concreto, con su instancia y su identificador de Shopify delante.
Qué hace el botón por dentro, en orden
- Recorre los pedidos sobre los que se lanza la acción.
- De cada pedido toma su instancia (
Instance) y el identificador dePedido de Shopify, y se los da a la sincronización de pedidos de esa instancia. - Esa sincronización prepara el identificador del pedido para consultarlo; si no obtiene ninguno, salta ese pedido y sigue con el siguiente.
- Pregunta a Shopify por el pedido.
- Si Shopify no devuelve nada, salta ese pedido y sigue.
- Si devuelve datos, se los entrega a otro paso del módulo y suma uno al recuento de sincronizados.
- El botón termina devolviendo verdadero; no usa ese recuento.
Qué puede salir mal y qué mirar
En los pasos tercero y quinto el código pasa al siguiente pedido sin entregar nada. Si pulsas el botón y no ves cambios, compara con Shopify: puede que Shopify no devolviera nada para ese pedido o que no se obtuviera un identificador válido.
Por la vía automática, si la sincronización falla, el evento del webhook queda marcado como fallido con el texto del error y entra en la cola de reintentos. Al superar el tope de reintentos pasa a agotado y deja de reintentarse solo; entonces el módulo deja una nota en la instancia con el aviso El webhook de Shopify … (evento …) ha vuelto a fallar tras … reintentos y ya no se reintentará solo: …. Cuando se arregle la causa, pulsa Reintentar en el evento. (Shopify webhook … (event …) failed again after … retries and will not be retried any more: …. Once the cause is fixed, press Retry on the event.)
Qué cuesta y cómo te ayuda FlexigoTech
El módulo cuesta 9 € por versión de Odoo, para 17, 18, 19 y 20, pago único sin IVA (ficha de Odoo Apps), y necesita la suscripción a FlexigoTech Cloud: el plan Conector cuesta 49 €/mes o 490 €/año sin IVA.
FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida. Si quieres revisar cómo llegan los pedidos de tu tienda a Odoo, también ayudamos con eso.
Sigue leyendo
Comprobado en el código del conector (versión 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigobe_shopify_connector 20.0 (c7078cd8): views/shopify_order_views.xml
- Código del módulo: flexigobe_shopify_connector 20.0 (c7078cd8): models/shopify_order.py
- Código del módulo: flexigobe_shopify_connector 20.0 (c7078cd8): models/shopify_instance.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/17.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/18.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/19.0/flexigobe_shopify_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
