Quando surge o aviso e o que significa
O aviso aparece ao clicar no botão Atualizar rastreamento do Shopify numa guia de remessa. Esse botão chama o Shopify para atualizar o rastreio do fulfillment cujo ID está guardado na guia. Se a chamada ao Shopify devolver um erro, o módulo lê o respetivo texto. Quando esse texto contém ACCESS_DENIED (tal e qual, em maiúsculas) e, além disso, a palavra «fulfillment» (em maiúsculas ou minúsculas), o módulo substitui o erro por este aviso e a ação é interrompida:
O Shopify negou o acesso à atualização de rastreio. Adicione o âmbito write_merchant_managed_fulfillment_orders e volte a autorizar a aplicação. (Shopify denied tracking update access. Add scope write_merchant_managed_fulfillment_orders and re-authorize the app.)
Quer dizer que o Shopify negou o acesso para atualizar o rastreio. O aviso pede duas coisas: adicionar o âmbito write_merchant_managed_fulfillment_orders e voltar a autorizar a aplicação. O texto está no código publicado de todas as versões (17.0, 18.0, 19.0 e 20.0). O detalhe do método que se explica a seguir é o do código do Odoo 20.0.


Passo a passo para resolver
- Abra a guia de remessa da encomenda do Shopify. O botão
Atualizar rastreamento do Shopifyfica oculto se a guia não for de uma encomenda do Shopify (o campoÉ encomenda Shopify(Is Shopify Order) não aparece em nenhuma vista), se o seu estado não forConcluído(Done) ou se o campoFulfillment Shopify(Shopify Fulfillment) estiver vazio. Essa condição é a mesma no Odoo 17.0, 18.0, 19.0 e 20.0. Se não vir o botão, verifica-se uma das três. - Clique em
Atualizar rastreamento do Shopify. Se o erro devolvido pelo Shopify cumprir a condição acima, verá o aviso e a ação é interrompida. - Adicione o âmbito
write_merchant_managed_fulfillment_ordersà aplicação do Shopify, como pede a primeira metade do aviso. - Volte a autorizar a aplicação, como pede a segunda metade do aviso.
- Regresse à mesma guia e clique de novo no botão. Verifique se o aviso surge outra vez.
- Se agora aparecer uma mensagem diferente, não é este aviso: leia-a por inteiro e trate-a em separado (mais abaixo explica-se porquê).
O que faz o botão antes de o aviso poder surgir
Convém conhecer o percurso para saber em que ponto o aviso é gerado. Segundo o código, o módulo toma o ID de fulfillment guardado na guia. Se a guia não tiver esse ID, a ação é interrompida sem chamar o Shopify. Depois constrói os dados de rastreio com o que a guia tem e, se não houver nenhum número de rastreio, a ação também é interrompida antes de chamar o Shopify. Esses dados são montados assim:
- Se houver um só número de rastreio, envia esse número. Se houver vários, envia todos.
- Se houver transportadora, envia o respetivo nome. O módulo toma a transportadora da ordem de vendas ou, se não houver, a da própria guia.
- Envia o URL de rastreio apenas quando há um único número.
O pedido também indica se o Shopify deve avisar o cliente, de acordo com uma definição da instância do Shopify. Com tudo isso, faz-se a chamada ao Shopify.
O aviso não depende do conteúdo da guia: a condição do código só olha para o texto do erro que o Shopify devolve nessa chamada. Uma guia com um número de rastreio correto e uma transportadora bem indicada pode dar igualmente este aviso se o erro do Shopify cumprir as duas condições.
Onde estão as lojas no Odoo
As fichas das lojas abrem-se a partir do menu Shopify › Configuração › Lojas (Shopify › Configuration › Stores). As permissões contam: o troço Configuração (Configuration) exige a permissão Operador (Operator) e o troço Shopify exige Visualizador (Viewer). Se lhe faltar alguma, não verá esse troço do menu.
Se o aviso continuar a surgir ou surgir outra mensagem
O aviso só é gerado quando o erro do Shopify cumpre as duas condições em simultâneo: ACCESS_DENIED e «fulfillment». Se o erro devolvido pela chamada não as cumprir, o módulo não o altera e vê-o tal como está, com o seu próprio texto. Por isso, se depois de adicionar o âmbito e voltar a autorizar continuar a ver um erro com outras palavras, já não se trata deste aviso.
Se continuar a ver exatamente este aviso, reveja os passos três e quatro: o aviso pede ao mesmo tempo o âmbito e a nova autorização da aplicação.
Com o Odoo em português de Portugal, o aviso vê-se como indica a citação acima; o esquema recolhe também como se lê em castelhano, alemão, francês e italiano:

Se estiver a rever outras mensagens do módulo, tem também a análise de «No hay datos de Shopify disponibles para crear el pedido de venta», com a sua condição no código e o que fazer.
Como a FlexigoTech o ajuda
A FlexigoTech implementa o Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida. Se trabalha com o conector e quer que alguém reveja consigo a ligação à sua loja Shopify, escreva-nos a partir da página do módulo.
Continue a ler
Verificado no código do conector (versão 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Código do módulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): views/stock_picking_views.xml
- Código do 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
