Bom dia pessoal! Tudo bem?
No intuito de ajudar outros colegas lojistas e desenvolvedores que, assim como eu, enfrentam desafios com as lojas VTEX ainda na versão Legacy, venho compartilhar um projeto que desenvolvi, que consegue monitorar pedidos no OMS e usando o Master Data como “ponte” permite integrações simples e eficazes com qualquer webhook externo.
Se você ainda tem uma loja em VTEX Legacy, provavelmente já sentiu essa dor:
Na VTEX Legacy, não temos de forma nativa ferramentas como o EventBridge, aplicativos que lidam com eventos de pedidos, ou mesmo webhooks configuráveis diretamente pela plataforma. Isso significa que, para automatizar ações importantes (como enviar um WhatsApp para o cliente quando o pedido é aprovado), a única opção que a VTEX nos oferece é ficar “perguntando” para a API de tempos em tempos se há um pedido novo ou atualizado (o que chamamos de API Polling). Essa limitação dificulta muito a comunicação em tempo real e a integração com outros sistemas.
Pensando nisso, desenvolvi uma aplicação em Python que atua como um “monitor” de pedidos. Ela é simples, eficaz e a deixei com código aberto para a community.
Como ele funciona:
Este aplicativo Python se conecta à API de OMS da VTEX. Ele faz um polling configurável (no meu caso, configurei a polling com 30 minutos) para buscar por pedidos no status payment-approved
ou ready-for-handling
. Uma vez identificados, ele os grava em uma entidade de dados customizada no Master Data v1 (no meu projeto, chamei de OrderEvents
).
O “pulo do gato” está em usar as Triggers do Master Data para, a partir da gravação desses dados, disparar webhooks POST para serviços externos (como um gateway de WhatsApp ou CRM). Eu, por exemplo, utilizei essa estratégia para enviar uma confirmação de pedido via WhatsApp ao cliente logo após a compra.
Essa funcionalidade permite ir além: posso criar fluxos de mensagens periódicas para segmentações de clientes (como aqueles que não compram há um tempo) por exemplo, no BotConversa ou ferramente similar. O bacana é que, se o cliente efetuar a compra durante este fluxo, o BotConversa, no meu caso, recebe um webhook com a informação da compra e consegue interromper automaticamente as mensagens sequenciais de acordo com sua configuração, garantindo uma comunicação sempre relevante e oportuna.
Gravação no MasterData v1:
Configuração da Trigger:
Envio de msg para o Cliente no Whatsapp através do BotConversa:
Benefícios:
- Baixo Custo / Gratuito: Você não precisa de apps especificos que requeiram customizações para conseguir fazer essa integração.
- Melhora a Comunicação: Notifique seus clientes em momentos chave da jornada de compra.
Limitações Importantes:
- Não é em tempo real: Por ser via polling, a velocidade de notificação depende da frequência que você configurar.
- Indicado para Médio/Pequeno Porte: Embora a API VTEX seja robusta, esta solução é ideal para lojas com volume de pedidos de médio a pequeno porte, onde a frequência de polling não sobrecarregaria a API. O aplicativo atualmente consulta 25 pedidos por página, mas isso pode ser ajustado.
Futuras Melhorias:
Este é um protótipo inicial, mas meu objetivo é continuar evoluindo! Quero integrar outros status de pedido no Master Data e criar triggers para toda a jornada de compra (pedido enviado, entregue, etc.).
Convido a todos a conhecerem o projeto e caso precisem de uma ajuda para colocar em prática, ou tiverem ideias para evoluir essa solução, sinta-se à vontade para trocar ideias! Toda contribuição é muito bem-vinda.
Confira o projeto e o código completo no meu GitHub: https://github.com/nathvegi/vtexlegacy_order_tracker.git
Espero que possa ser útil a todos que têm a mesma dor que eu.