API com Webhook WooCommerce

Webhook WooCommerce e API
Gostou do artigo? Compartilhe!

A nossa API 

Integrar plataformas sempre revela nuances que vão além do código.

Nós, da Arcádia Sistemas, vivenciamos isso ao conectar o WooCommerce à nossa API corporativa, responsável por consolidar informações de e-commerce, gateways de pagamento e sistemas internos.

No início, o plano era simples: receber os pedidos do WooCommerce via webhooks, processá-los na API e registrar tudo no banco de dados com um campo que indicava se o pedido havia sido tratado. Mas, como toda boa integração, a prática mostrou que o comportamento dos sistemas é cheio de detalhes — especialmente quando entra em cena o Mercado Pago.

O cenário

Nossa API recebe eventos do WooCommerce sempre que um pedido é criado, atualizado ou excluído.

Cada pedido tem um campo chamado “sem_interacao”, que indica se o pedido ainda não teve nenhuma ação humana após ser feito.

O fluxo básico era:

  1. WooCommerce dispara o webhook order.created para https://core.example.com/api/hooks/pedido/atualizado.
  2. Nossa API grava o pedido no banco e define “sem_interacao = 1”.
  3. Quando o pedido é alterado ou excluído, o WooCommerce envia order.updated ou order.deleted para o mesmo endpoint.
  4. A API define “sem_interacao = 0”, marcando que o pedido já foi tratado.

Até esse ponto, tudo funcionava perfeitamente — até o primeiro teste com o Mercado Pago.

O que descobrimos no comportamento do Mercado Pago

Durante os testes, percebemos algo curioso: ao processar um pagamento, o Mercado Pago fazia o WooCommerce disparar dois webhooks quase simultâneos para o mesmo pedido.

Comportamento do Mercado Pago

O primeiro era o evento order.created, que de fato criava o pedido. Mas, um ou dois segundos depois, vinha um order.updated, que atualizava o mesmo registro com o status “pending” ou “processing”. Na prática, o WooCommerce criava o pedido e logo o atualizava automaticamente, sem nenhuma ação humana.

O resultado? Nossa API entendia que o pedido havia sido “interagido” e mudava sem_interacao de 1 para 0 — mesmo que ninguém tivesse tocado nele.

O problema

No log, o comportamento ficou claro:

No log, o comportamento ficou claro.

Mesmo pedido, mesma URL, diferença de dois segundos.

A lógica da API estava tecnicamente correta — mas o contexto do evento não. O segundo webhook, automático e inevitável, fazia com que a informação de “sem interação” fosse perdida. Visualmente, no painel da Arcádia, os pedidos pareciam já atendidos, quando na verdade ainda estavam aguardando análise.

A investigação

Para confirmar, analisamos os logs do WooCommerce em detalhe.

E a prova estava lá: o webhook order.created era disparado primeiro, mas logo em seguida o order.updated era enviado pelo mesmo sistema, sem intervenção humana. Ou seja, o problema não era de autenticação, nem de assinatura HMAC, nem de duplicidade — era apenas a velocidade dos eventos automáticos.

Esse tipo de comportamento é mais comum do que parece em integrações entre plataformas. Muitos gateways de pagamento — não só o Mercado Pago — disparam atualizações imediatas para sincronizar o status do pedido após o pagamento.

A solução: proteger o tempo entre eventos

A solução veio de um conceito simples, mas eficaz:

| Se a atualização ocorre logo após a criação, ela é automática — e deve ser ignorada.

Implementamos na API uma proteção de tempo de 10 segundos. Agora, quando um pedido existente recebe uma atualização, a API calcula o intervalo entre a criação e a nova requisição. Se for inferior a 10 segundos, o campo “sem_interacao” é mantido como 1. Só depois desse período a atualização é considerada uma interação real.

O trecho de código que resolve o problema é direto:

O trecho de código que resolve o problema.

Com isso, deixamos que a API cuide da diferença entre o que é um “pedido criado” e o que é apenas um “pedido sincronizado”.

O resultado

Depois dessa pequena, mas importante mudança, tudo passou a funcionar como deveria:

A alteração feita.

Os dashboards da Arcádia voltaram a refletir apenas pedidos que realmente aguardam atendimento humano — e a integração ficou sólida e previsível, mesmo diante de múltiplos gateways.

O aprendizado

Essa experiência reforçou um ponto fundamental para qualquer equipe que trabalha com integração de sistemas:

  1. Nem todo evento “updated” representa uma ação humana. (Muitos sistemas fazem atualizações automáticas invisíveis).
  1. O tempo é um dado técnico relevante. (Segundos de diferença podem indicar processos internos e não interações).
  1. Logs são ferramentas de verdade. (Foi analisando o log bruto que encontramos a origem do problema).
  2. Integrar sistemas é entender o comportamento, não apenas o código.

Integrar o WooCommerce à nossa API corporativa mostrou mais uma vez que as integrações não são apenas sobre endpoints — são sobre contextos. Com uma simples camada de proteção temporal, conseguimos diferenciar eventos automáticos de ações humanas e evitar falsos positivos.

O resultado é uma API mais confiável, uma base de dados mais coerente e um painel que reflete a realidade dos pedidos.

Quer fazer o mesmo pela sua empresa?

Nós, da Arcádia Sistemas, desenvolvemos a nossa API corporativa, uma API funcional, segura e flexível, capaz de integrar WooCommerce, Mercado Pago, ERPs, CRMs e outros sistemas corporativos.

Além disso, ajudamos empresas parceiras e clientes a conectar dados, automatizar processos e construir soluções que realmente funcionam. Se você quer simplificar suas integrações e ter uma visão completa dos seus sistemas, fale conosco.

Ao final deste artigo, fica o convite para que você se inscreva na nossa newsletter, acompanhe-nos no Facebook, Instagram e YouTube e volte sempre para ler outros artigos publicados aqui no nosso Blog. Obrigado por estar conosco e, sabendo que a Arcádia Sistemas é uma empresa com foco em inovação e desenvolvimento, visando produtos e serviços que atendam às exigências de um mundo em constante transformação digital, conheça o Arcádia Host, o nosso provedor de hospedagem de sites, e descubra um leque de possibilidades em serviços de hospedagem e desenvolvimento de sites sob medida para o seu negócio.

Até o próximo post!

5 1 voto
Classificação
Inscrever-se
Notificar de
guest
0 Comentários
mais antigos
mais recentes Mais votado
Feedbacks embutidos
Ver todos os comentários
Outros artigos disponíveis:
Vânia - IA Personalizada
Informação

Vânia – IA Personalizada

A Vânia é uma IA Personalizada, contextualizada e segura, criada para elevar o atendimento digital corporativo e interagir com sistemas internos.

Webhook WooCommerce e API
Conhecimento

API com Webhook WooCommerce

Integração entre o WooCommerce e API da Arcádia Sistemas com proteção temporal para evitar falsos positivos gerados pelo Mercado Pago.

Falar com a Vânia
Fale com a Vânia
Arcádia Sistemas
Reiniciar a conversa?