Saltar para o conteúdo principal
Shopify

Tarefa «Processar webhooks Shopify»: o que faz em cada passagem

A tarefa agendada Processar webhooks Shopify (Shopify Process Webhooks) corre todos os minutos: apanha até 50 eventos pendentes, processa-os um a um e depois tenta confirmar ordens de vendas em rascunho. Aqui tens o que acontece em cada passagem e o que verificar quando parece que não faz nada.

FlexigoTech · Responsável: Víctor Gómez · Atualizado em 5 de novembro de 2026

O essencial

Módulo
Shopify
Versões
Odoo 17, 18, 19 e 20
Verificado
no código do conector, versão 17.0 e 20.0 · nas fontes indicadas no fim
Leitura
5 min

O que é esta tarefa e quando corre

O Shopify Connector for Odoo inclui uma tarefa agendada chamada Processar webhooks Shopify (Shopify Process Webhooks). Pertence ao modelo das lojas Shopify e executa o método que processa os eventos de webhook recebidos. Corre todos os minutos 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, além disso, está configurada para se repetir sem fim.

Esquema com a tarefa agendada que corre todos os minutos e vem ativa ao instalar, e o menu de lojas, com os rótulos em inglês do código
Esquema feito com código a partir do código publicado do módulo (não é um ecrã do Odoo): a tarefa agendada e o menu Shopify › Configuração › Lojas (Shopify › Configuration › Stores).

Com o Odoo em português de Portugal a tarefa chama-se Processar webhooks Shopify; este esquema reúne o seu nome noutros idiomas:

Esquema com o nome da tarefa em vários idiomas: em português, Processar webhooks Shopify
Esquema feito com código a partir das traduções publicadas (não é um ecrã do Odoo): em alemão, «Shopify-Webhooks verarbeiten»; em francês, «Traiter les webhooks Shopify»; em italiano, «Elabora webhook Shopify»; em português, Processar webhooks Shopify.
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Vídeo: Your Odoo doesn't talk to Amazon, Temu or Shopify? (vídeo em inglês)

Cronologia de uma passagem

No Odoo 20.0, uma passagem segue esta ordem:

  1. Todos os minutos O Odoo lança a tarefa. A primeira coisa que faz é verificar que quem a executa é administrador do sistema; se não for, pode parar com Only an administrator can run this scheduled action. e não processa nada.
  1. Ao começar Procura os eventos de webhook que estão pendentes. Ordena-os do mais antigo para o mais recente segundo a data de receção (e, se coincidirem, por ordem de criação) e apanha no máximo 50 em cada passagem.
  1. Evento sem loja Se um evento não tem loja associada, a tarefa marca-o como falhado, indica-lhe a hora de processamento e uma mensagem de erro, e passa ao seguinte.
  1. Evento com loja A tarefa pede à loja que processe esse evento segundo o seu tema (mais abaixo, tema a tema). Se tudo correr bem, o evento fica como processado, com a sua hora de processamento, o resultado guardado e sem mensagem de erro. Depois de cada evento, a tarefa guarda as alterações na base de dados.
  1. Se o processamento falhar O evento fica como falhado, com a hora de processamento, o texto do erro e o resultado parcial (os contadores de encomendas, artigos e stock). A tarefa não pára: segue com o evento seguinte.
  1. Se falhar outra coisa Se uma exceção escapar ao processamento de um evento, a tarefa regista-a no registo do servidor, desfaz as alterações pendentes dessa volta e continua com os restantes.
  1. Ao acabar os eventos Procura encomendas Shopify que tenham uma ordem de vendas associada em rascunho ou enviada, cuja loja tenha ativada a confirmação automática de vendas e que não tenham a marca de ordem de vendas manual. Apanha-as das atualizadas mais recentemente para as mais antigas, até 50, e pede a sua confirmação; se esta parte falhar, o erro é registado e a tarefa não pára.
  1. Ao terminar Se alguma ordem de vendas tiver sido confirmada, o código deixa-o registado no registo do servidor. Se esta última parte falhar, o erro é registado e desfaz-se apenas esse passo: o que já foi guardado dos eventos mantém-se.

O que faz com cada evento segundo o seu tema

O tema do evento lê-se em maiúsculas e decide o que acontece:

  • APP_UNINSTALLED: a loja é desativada e esvaziam-se o seu token de acesso, o seu token de atualização e a data de validade do token.
  • Temas que começam por ORDERS_: se a loja tem ativada a sincronização de encomendas por webhook, a tarefa passa a encomenda do evento ao processo de sincronização de encomendas e guarda no resultado quantas foram tratadas.
  • Temas que começam por PRODUCTS_: se a loja tem ativada a sincronização de artigos por webhook, a tarefa passa o artigo do evento ao processo de sincronização de artigos e guarda no resultado quantos foram tratados.
  • Temas que começam por INVENTORY_LEVELS: só se a loja tem ativada a sincronização de stock por webhook e, além disso, a sincronização de stock em geral, a tarefa passa a alteração de inventário ao processo que a aplica; se esse processo a confirmar, o resultado regista uma atualização de stock.

Um detalhe que importa: se o tema não for nenhum destes, ou se a definição correspondente da loja estiver desativada, a tarefa não passa nada a sincronizar, mas o evento fica na mesma como processado, com os contadores a zero. Um evento processado não significa, portanto, que se tenha mexido numa encomenda, num artigo ou no stock.

O que verificar se não faz nada

  • A tarefa tem de estar ativa. Vem ativa ao instalar e corre todos os minutos.
  • Quem a executa. Se for lançada por alguém que não é administrador do sistema, pode parar com Only an administrator can run this scheduled action.
  • Só apanha eventos pendentes. Um evento marcado como falhado não volta a entrar nesta tarefa. Se houver muitos pendentes, em cada passagem processam-se os mais antigos, até 50, e os restantes esperam pelas seguintes.
  • Resultado com contadores a zero. Acontece quando o tema do evento não é dos que a tarefa trata ou quando a loja não tem ativada a sincronização por webhook desse tipo (para stock, também a sincronização de stock em geral). O evento é marcado como processado sem passar nada a sincronizar.
  • Loja desativada. Um evento APP_UNINSTALLED desativa a loja e apaga os seus tokens.
  • Ordens de vendas que continuam em rascunho. A confirmação automática exige que a loja a tenha ativada, que a ordem de vendas esteja em rascunho ou enviada e que a encomenda Shopify não tenha a marca de ordem de vendas manual. Só verifica até 50 encomendas por passagem.

As lojas abrem-se a partir de Shopify › Configuração › Lojas (Shopify › Configuration › Stores). Para ver esse menu precisas da permissão Operador (Operator) no tramo Configuração (Configuration) e Visualizador (Viewer) no tramo Shopify.

Preço e ajuda

O módulo é de pagamento único por versão e precisa da subscrição do FlexigoTech Cloud, plano Conector: 49 €/mês ou 490 €/ano, sem IVA. Está publicado para Odoo 17, 18, 19 e 20. A ligação passa pelo FlexigoTech Cloud, que guarda cifradas as credenciais, vigia a sincronização e avisa por e-mail se falhar.

Se estás a implementar o Odoo com Shopify ou precisas de uma integração à medida, a FlexigoTech implementa o Odoo 17, 18, 19 e 20 e desenvolve conectores. Tens mais detalhe na página do módulo e na sua ficha do Odoo Apps.

Continue a ler

O que faz o botão «Obter stock» do conector Shopify para OdooO que faz o botão Obter stock do conector Shopify para Odoo: quando aparece, o que verifica, o que muda no teu stock e que erro pode dar.Aviso «é agora a localização principal» do conector de Shopify para OdooO que significa o aviso «é agora a localização principal para …» do conector de Shopify para Odoo, quando aparece e como mudar a localização principal.Erro ao criar o pedido de venda: faltam dados do ShopifyO que significa o aviso do Shopify Connector for Odoo ao premir «Criar pedido de venda» sem dados do pedido, quando surge e como o resolver.
Verificado no código do conector (versão 17.0 e 20.0) e nas fontes indicadas

Fontes