O que é e quando corre
A tarefa agendada Importar stock do Shopify (Shopify → Odoo) corre a cada seis horas e vem ativa ao instalar o módulo. Existe em todos os ramos publicados: 17.0, 18.0, 19.0 e 20.0. No Odoo 17.0 tem ainda o número de repetições em -1, ou seja, repete-se sem fim.

Com o Odoo em português a tarefa chama-se Importar stock do Shopify (Shopify → Odoo). O esquema seguinte mostra como se chama noutros idiomas.

A ligação com a loja passa pelo FlexigoTech Cloud, que guarda cifradas as credenciais, vigia a sincronização e avisa por e-mail se falhar. O módulo precisa da subscrição do FlexigoTech Cloud (plano Conector: 49 €/mês ou 490 €/ano sem IVA).

Um caso para a percorrer do princípio ao fim
Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
A Casa Moreno é uma empresa inventada que vende utensílios de cozinha numa loja Shopify e gere o inventário no Odoo. Numa manhã, a Laura, que administra o sistema, vê que a quantidade de um produto no Odoo não se mexeu, embora no Shopify tenha mudado. Em vez de lançar nada às cegas, revê a tarefa pela ordem em que o código publicado para o Odoo 20.0 a executa, que é a que se descreve a partir daqui.
Primeiro filtro: quem a executa
No Odoo 20.0, a primeira coisa que a tarefa faz é verificar que quem a executa é administrador do sistema. Se não for, para com Only an administrator can run this scheduled action. e nem chega a olhar para nenhuma loja. A Laura é administradora, por isso passa ao ponto seguinte.
Segundo filtro: que lojas entram na passagem
No Odoo 20.0, a tarefa não percorre todas as lojas, apenas as que cumprem em simultâneo três condições:
- A loja está ativa.
- Tem a sincronização de stock ativada.
- Tem credenciais: um token de acesso guardado ou o segredo da API da app guardado.
Basta uma das duas coisas na terceira condição porque uma loja com credenciais de cliente pode não ter token guardado até que a sua primeira chamada o gere. As lojas abrem-se a partir do menu Shopify › Configuração › Lojas. Se não vês um troço desse caminho, falta-te uma permissão: Configuração pede Operador e Shopify pede Visualizador.
A Laura confirma que a loja da Casa Moreno cumpre as três condições. Se uma falhar, a loja fica fora da passagem.
Terceiro passo: uma loja que falha não trava as outras
No Odoo 20.0, para cada loja escolhida, a tarefa chama a importação dentro de um bloco que apanha qualquer erro. Se uma loja der erro, a falha é anotada no registo do servidor com o nome da loja e a tarefa segue para a seguinte.
O que faz a importação com cada loja
No Odoo 20.0, para cada loja, a importação faz isto por esta ordem:
- Se a loja não tem a sincronização de stock ativada, salta-a.
- Procura os produtos associados ao Shopify que estejam ativos, tenham artigo de inventário do Shopify e pertençam à empresa da loja: um produto de outra empresa não entra, mesmo que a associação viesse de antes. Se não houver nenhum, passa à loja seguinte.
- Decide a localização do Odoo. Primeiro procura a localização principal do Shopify dessa loja que tenha uma localização do Odoo atribuída. Se não a houver, usa a localização de stock do armazém da loja ou, se a loja não tem armazém, a do primeiro armazém da sua empresa. Se não encontrar nenhuma localização, deixa essa loja e segue para a seguinte.
- Pede ao Shopify a quantidade disponível dos artigos de inventário, para a localização do Shopify da loja (a predefinida, se a tiver guardada) e em lotes de 100 artigos. Cada quantidade recebida é convertida em número inteiro.
O botão para obter o stock à mão tem o seu próprio passo a passo. E se te perguntas pela localização principal do Shopify, a mensagem que a menciona tem o seu próprio artigo.
O que ver se a tarefa não faz nada
Ao terminar a revisão, a Laura tem uma lista de pontos onde, segundo o código do Odoo 20.0, uma passagem pode ser cortada:
- Quem a lança. Só um administrador a pode executar; se não, aparece
Only an administrator can run this scheduled action.. - A loja. Deve estar ativa, com a sincronização de stock ativada e com token ou segredo da API guardado.
- Os produtos. Têm de estar associados, ativos, com artigo de inventário do Shopify e da empresa da loja.
- A localização. É preciso uma localização principal do Shopify com localização do Odoo atribuída, ou um armazém que sirva de alternativa.
- A frequência. A tarefa corre a cada seis horas, pelo que uma alteração recente no Shopify pode ainda não ter chegado ao Odoo.
Com essa lista, a Laura pode ir descartando ponto por ponto em vez de adivinhar. Para começar pelo mais barato, pode abrir Shopify › Configuração › Lojas e rever a loja antes de mexer em mais nada.
Como ajuda a FlexigoTech
A FlexigoTech implementa Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida. Se queres rever a configuração das tuas lojas ou ajustar o fluxo de stock à tua operação, podes ver o módulo na sua página ou na ficha do Odoo Apps.
O módulo está publicado no Odoo Apps para 17.0, 18.0, 19.0 e 20.0.
Continue a ler
Verificado no código do conector (versão 17.0 e 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): data/ir_cron_data.xml
- Código do módulo: flexigobe_shopify_seller_connector 17.0 (437257e3): data/ir_cron_data.xml
- 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): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
