Onde está e quando se lança
Onde está o botão Sincronizar produtos?
Abre Shopify › Configuração › Lojas (Shopify › Configuration › Stores) e entra na ficha da loja, no ecrã Instâncias Shopify (Shopify Instances): é aí que está o botão. Para chegar ao menu precisas de permissões: o nível Configuração (Configuration) exige Operador (Operator) e o nível Shopify exige Visualizador (Viewer); se te faltar um, não vês esse nível. O botão não tem condição de visibilidade e existe no Odoo 17, 18, 19 e 20.

Sincronizar produtos, para Odoo 17, 18, 19 e 20.É preciso carregar nele manualmente?
Há um caminho automático: a tarefa agendada Sincronizar produtos Shopify (Shopify Sync Products) chega à mesma ação a cada hora, mas vem desativada na instalação; enquanto assim se mantiver, não corre sozinha. À parte, a tarefa Processar webhooks Shopify (Shopify Process Webhooks), que corre a cada minuto e vem ativa na instalação, chega a outro método do módulo: um que pede à Shopify produtos concretos pelo seu identificador, um a um, e não percorre o catálogo por páginas. Carregar em Sincronizar produtos é a forma de lançar a passagem por páginas quando quiseres, sem esperar pela tarefa.
Como se chama o botão com o Odoo noutro idioma?
Com o Odoo em português de Portugal chama-se Sincronizar produtos. O esquema seguinte recolhe também a tradução para castelhano, alemão, francês e italiano.


O que verifica e o que altera
No Odoo 20, o módulo faz isto ao carregar no botão:
O que faz logo no início?
Abre uma entrada no registo de sincronização, do tipo produtos e em curso, e prepara uma consulta à Shopify. Por cada produto, a consulta pede título, vendor, tipo de produto, estado, handle, descrição, etiquetas, data de atualização, imagem de destaque, opções e variantes (SKU, título, preço, preço de comparação, código de barras, quantidade de inventário, opções escolhidas, artigo de inventário e imagem). Os produtos chegam ordenados por data de atualização. Antes de guardar cada um, o módulo garante que traz todas as suas variantes.
Traz o catálogo todo de cada vez?
Depende do campo Última sincronização de produtos (Last Product Sync), que se vê na ficha da loja e na lista de Instâncias Shopify, só de leitura: é preenchido pelo código, não por ti. Se estiver vazio, a consulta vai sem filtro de data. Se tiver valor, o módulo pede apenas os produtos atualizados desde essa data (inclusive). Quando a passagem termina por inteiro, o campo passa para a hora atual.
O que acontece se houver mais produtos do que páginas?
Dois ajustes definem o tamanho da passagem, na ficha da loja, separador Operações (Operations), grupo Configurações de sincronização (Sync Settings). Tamanho da página (Page Size) vale 50 por defeito; a sua ajuda avisa que acima de 100 a Shopify rejeita a consulta e que uma página grande numa consulta com muita informação pode exceder o limite de custo, e o botão nunca pede mais de 100 por página. Páginas máx. (Max Pages) vale 20 por defeito. A passagem pára quando a Shopify não tem mais páginas ou quando atinge esse máximo.
Se for cortada com páginas pendentes, o módulo deixa na ficha da loja uma mensagem a indicar que a passagem parou no limite de páginas e a partir de que data continuará a seguinte. O campo Última sincronização de produtos passa então para a data de atualização do último produto lido, desde que essa data seja posterior à guardada (ou não houvesse nenhuma guardada); se não for, passa para a hora atual.
Um produto que falha estraga a sincronização?
Não. Cada produto é guardado de forma isolada: se um falhar, o módulo omite-o, deixa um aviso no registo do servidor e segue para o seguinte. No final, a entrada do registo de sincronização regista como atualizados apenas os produtos guardados; os omitidos não contam como erros, pelo que uma entrada correta não exclui que algum tenha sido omitido. Para isso serve o aviso do registo do servidor.
Quando pára com um erro
O que acontece se a chamada à Shopify falhar?
Cada chamada admite até três tentativas. Se a Shopify responder com um 401 (o token já não é válido) e a loja o puder renovar, o módulo renova-o e tenta mais uma vez. Se responder com um 429 (limite de ritmo), espera de acordo com o cabeçalho Retry-After e volta a tentar, com uma espera máxima de trinta segundos. Qualquer resposta com código 400 ou superior que não se resolva assim interrompe a chamada com um erro. Quando a falha sai do ciclo de produtos, a entrada do registo fica como falhada com o texto do erro (cortado a um máximo de 2000 carateres), o erro é lançado de novo para que a ação pare e Última sincronização de produtos não é atualizada.
E se a FlexigoTech Cloud pausar a ligação?
Se a ligação da loja passa pela FlexigoTech Cloud, as chamadas vão pelo seu relé e o Odoo não se liga diretamente à loja. Se o serviço a pausar, toda a passagem é interrompida, nenhum produto é omitido e a entrada do registo é apagada em vez de ficar como falhada.
O que precisas para o usar
O módulo é de pagamento único por versão do Odoo e está publicado para 17, 18, 19 e 20; o preço de cada versão está na ficha e na página do módulo. Além disso, precisa da subscrição da FlexigoTech Cloud, plano Conector: 49 €/mês ou 490 €/ano sem IVA, até 3 contas da plataforma (plano Pro: 98 €/mês ou 980 €/ano, até 10). A ligação guarda as credenciais cifradas, vigia a sincronização e avisa por e-mail se falhar. Sem subscrição, ou com o serviço suspenso, pára o que a subscrição fornece; os dados ficam no teu Odoo. Se comprares na Odoo App Store, cada versão do Odoo compra-se lá. Se precisares de implementar o Odoo ou de ajustar a integração ao teu catálogo, a FlexigoTech implementa o Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida.
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 (03641761): views/shopify_instance_views.xml
- Código do módulo: flexigobe_shopify_seller_connector 20.0 (03641761): models/shopify_instance.py
- Código do módulo: flexigobe_shopify_seller_connector 20.0 (03641761): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
