O caso: a Casa Boreal clica em Enviar stock
Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
A Casa Boreal é uma loja inventada. A Marta gere o seu catálogo e acabou de ligar a loja Shopify ao Odoo. Abre Shopify › Configuração › Lojas, entra na ficha da loja e clica em Enviar stock. A ação pára e o Odoo mostra Nenhuma localização Shopify encontrada para …, com o domínio da loja a seguir a «para».
A Marta não sabe se o problema está no Odoo, na ligação ou no Shopify. Isto é o que o código do módulo faz antes de lançar essa mensagem, para que saiba onde procurar.

Para chegar a essa ficha é preciso ver o menu: o troço Configuração (Configuration) exige a permissão Operador (Operator) e o troço Shopify exige Visualizador (Viewer). Se não tiver uma dessas permissões, não vê esse troço do menu.
O texto da mensagem muda com o idioma do seu Odoo. Com o Odoo em português é o que a Marta vê; noutros idiomas lê-se assim:

No se encontraron ubicaciones de Shopify para …; em alemão, Keine Shopify-Standorte für … gefunden; em francês, Aucun emplacement Shopify trouvé pour …; em italiano, Nessuna ubicazione Shopify trovata per …; em português, Nenhuma localização Shopify encontrada para ….| Idioma do Odoo | Texto da mensagem |
|---|---|
| Castelhano | Nenhuma localização Shopify encontrada para … |
| Alemão | Keine Shopify-Standorte für … gefunden |
| Francês | Aucun emplacement Shopify trouvé pour … |
| Italiano | Nessuna ubicazione Shopify trovata per … |
| Português | Nenhuma localização Shopify encontrada para … |

Quando surge exatamente
O botão Enviar stock vê-se sempre na vista da loja, no Odoo 17, 18, 19 e 20: nenhuma condição da vista o oculta. A sua ação chega a um passo do módulo que procura a localização predefinida da loja, e é esse passo que lança a mensagem. Segundo o código publicado do Odoo 20.0, a ordem é esta:
- Se a loja já tem guardada uma localização predefinida, o módulo usa-a e não pergunta ao Shopify. Com uma localização já guardada, a mensagem não pode surgir por este caminho.
- Se não a tem, o módulo pede ao Shopify as localizações da loja, mas apenas a primeira que devolver.
- Analisa a resposta. Se não traz nenhuma localização (a lista não vem ou vem vazia), lança
Nenhuma localização Shopify encontrada para …. As reticências são o domínio da loja. - Se há uma localização e traz o seu identificador, o módulo guarda esse identificador e o seu nome na loja como localização predefinida.
A condição do código que leva à mensagem é que a resposta não traga nenhuma localização, e só se verifica quando a loja ainda não tem uma localização predefinida guardada. A mensagem está no código publicado dos ramos 17, 18, 19 e 20 do Odoo.
O que significa na prática
A mensagem descreve o que o módulo recebeu: a resposta do Shopify chegou sem localizações. O aviso não diz porque é que a lista chegou vazia, apenas que chegou vazia.
Também conta o que não aconteceu. Ao ser lançada a mensagem, a ação pára e o que ia mudar nesse passo não se guarda: a loja da Casa Boreal continua sem localização predefinida guardada. Se a ação voltar a chegar a esse passo e a loja continuar sem localização guardada, o módulo volta a perguntar ao Shopify desde o início.
Como a Marta resolve
- Lê o domínio que aparece no fim da mensagem e verifica que é o da loja que queria usar. O módulo coloca aí o domínio da loja sobre a qual a ação foi lançada.
- Entra na administração dessa loja no Shopify e verifica que tem pelo menos uma localização. É o que o módulo precisa de encontrar na resposta.
- Volta a
Shopify › Configuração › Lojas, abre a ficha da loja e clica novamente emEnviar stock. - Se a mensagem voltar a surgir com o domínio correto, o Shopify continua a responder sem localizações a essa consulta, e há que continuar a rever essa loja no Shopify. Se o Odoo mostrar outro aviso, já é outro caso e lê-se em separado.
O que aprender com o caso
- A mensagem só pode surgir enquanto a loja não tem uma localização predefinida guardada. Depois de guardada, o módulo usa-a e não pergunta ao Shopify.
- O módulo lê uma única localização, a primeira que o Shopify devolver. Que o aviso não surja não diz nada sobre quantas localizações a loja tem.
- O botão
Enviar stocknão tem condição de vista: vê-se sempre, haja ou não localização guardada. - O domínio no fim da mensagem é a pista mais rápida para saber que loja a provocou quando há mais de uma.
- A condição é que a resposta não traga nenhuma localização, e só se verifica quando a loja ainda não tem uma localização predefinida guardada.
Como a FlexigoTech ajuda
A FlexigoTech implementa Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida. Se está a ligar uma loja Shopify e quer rever a configuração com alguém que conhece o módulo, pode ver a página do módulo ou a ficha no Odoo Apps, publicado para Odoo 17, 18, 19 e 20, e escrever-nos a partir daí.
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/shopify_instance_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
