Cuándo sale el aviso y qué significa
El aviso aparece al pulsar el botón Actualizar seguimiento de Shopify en un albarán. Ese botón llama a Shopify para actualizar el seguimiento del fulfillment cuyo ID está guardado en el albarán. Si la llamada a Shopify devuelve un error, el módulo lee su texto. Cuando ese texto contiene ACCESS_DENIED (tal cual, en mayúsculas) y además la palabra «fulfillment» (en mayúsculas o en minúsculas), el módulo sustituye el error por este aviso y la acción se detiene:
Shopify denegó el acceso de actualización de seguimiento. Añade el ámbito write_merchant_managed_fulfillment_orders y vuelve a autorizar la aplicación. (Shopify denied tracking update access. Add scope write_merchant_managed_fulfillment_orders and re-authorize the app.)
Quiere decir que Shopify negó el acceso para actualizar el seguimiento. El aviso pide dos cosas: añadir el ámbito write_merchant_managed_fulfillment_orders y volver a autorizar la aplicación. El texto está en el código publicado de todas las versiones (17.0, 18.0, 19.0 y 20.0). El detalle del método que se cuenta a continuación es el del código de Odoo 20.0.


Paso a paso para resolverlo
- Abre el albarán del pedido de Shopify. El botón
Actualizar seguimiento de Shopifyse oculta si el albarán no es de un pedido de Shopify (el campoEs pedido de Shopify(Is Shopify Order) no se ve en ninguna vista), si su estado no esHecho(Done) o si el campoFulfillment de Shopify(Shopify Fulfillment) está vacío. Esa condición es la misma en Odoo 17.0, 18.0, 19.0 y 20.0. Si no ves el botón, se cumple alguna de las tres. - Pulsa
Actualizar seguimiento de Shopify. Si el error que devuelve Shopify cumple la condición de arriba, verás el aviso y la acción se detiene. - Añade el ámbito
write_merchant_managed_fulfillment_ordersa la aplicación de Shopify, tal como pide la primera mitad del aviso. - Vuelve a autorizar la aplicación, como pide la segunda mitad del aviso.
- Regresa al mismo albarán y vuelve a pulsar el botón. Comprueba si el aviso sale otra vez.
- Si ahora aparece un mensaje distinto, no es este aviso: léelo entero y trátalo por separado (más abajo se explica por qué).
Qué hace el botón antes de que el aviso pueda salir
Conviene conocer el recorrido para saber en qué punto se genera el aviso. Según el código, el módulo toma el ID de fulfillment guardado en el albarán. Si el albarán no tiene ese ID, la acción se detiene sin llamar a Shopify. Después construye los datos de seguimiento con lo que tiene el albarán, y si no hay ningún número de seguimiento, la acción también se detiene antes de llamar a Shopify. Esos datos se arman así:
- Si hay un solo número de seguimiento, envía ese número. Si hay varios, envía todos.
- Si hay transportista, envía su nombre. El módulo toma el transportista del pedido de venta o, si no, el del propio albarán.
- Envía la URL de seguimiento solo cuando hay un único número.
La petición también indica si Shopify debe avisar al cliente, según un ajuste de la instancia de Shopify. Con todo eso se hace la llamada a Shopify.
El aviso no depende de lo que contenga el albarán: la condición del código solo mira el texto del error que Shopify devuelve en esa llamada. Un albarán con un número de seguimiento correcto y un transportista bien puesto puede dar igualmente este aviso si el error de Shopify cumple las dos condiciones.
Dónde están las tiendas en Odoo
Las fichas de las tiendas se abren desde el menú Shopify › Configuración › Tiendas (Shopify › Configuration › Stores). Los permisos cuentan: el tramo Configuración (Configuration) pide el permiso Operador (Operator) y el tramo Shopify pide Visor (Viewer). Si te falta alguno, no verás ese tramo del menú.
Si el aviso sigue saliendo o sale otro mensaje
El aviso solo se genera cuando el error de Shopify cumple las dos condiciones a la vez: ACCESS_DENIED y «fulfillment». Si el error que devuelve la llamada no las cumple, el módulo no lo cambia y lo ves tal cual, con su propio texto. Por eso, si tras añadir el ámbito y volver a autorizar sigues viendo un error con otras palabras, ya no se trata de este aviso.
Si sigues viendo exactamente este aviso, repasa los pasos tres y cuatro: el aviso pide a la vez el ámbito y la nueva autorización de la aplicación.
Con Odoo en castellano, el aviso se ve como indica la cita de arriba; el esquema recoge también cómo se lee en alemán, francés, italiano y portugués:

Si estás revisando otros mensajes del módulo, tienes también el análisis de «No hay datos de Shopify disponibles para crear el pedido de venta», con su condición en el código y qué hacer.
Cómo te ayuda FlexigoTech
FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida. Si trabajas con el conector y quieres que alguien revise contigo la conexión con tu tienda de Shopify, escríbenos desde la página del módulo.
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_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Código del módulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): views/stock_picking_views.xml
- Código del módulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
