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:
- WooCommerce dispara o webhook order.created para https://core.example.com/api/hooks/pedido/atualizado.
- Nossa API grava o pedido no banco e define “sem_interacao = 1”.
- Quando o pedido é alterado ou excluído, o WooCommerce envia order.updated ou order.deleted para o mesmo endpoint.
- 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.
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:
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:
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:
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:
- Nem todo evento “updated” representa uma ação humana. (Muitos sistemas fazem atualizações automáticas invisíveis).
- O tempo é um dado técnico relevante. (Segundos de diferença podem indicar processos internos e não interações).
- Logs são ferramentas de verdade. (Foi analisando o log bruto que encontramos a origem do problema).
- 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!

