Skip to main content
Após a carga inicial, você quer que mudanças no seu sistema reflitam em segundos na Voop. Existem duas estratégias.

Estratégia A: push em cada mudança (recomendada)

Quando um produto é alterado no seu sistema, dispare imediatamente um POST /items/upsert.

Exemplo: webhook do Shopify → Voop

O endpoint Voop é idempotente — se o Shopify reentregar o mesmo webhook (timeout no seu lado), a 2ª chamada retorna unchanged sem efeito colateral.

Tratamento de erros

Estratégia B: re-sync diário com bulk-upsert

Se seu sistema não tem webhooks (ou se os webhooks são pouco confiáveis), rode um cron diário que re-envia o catálogo inteiro via bulk-upsert.
Graças ao contentHash, só os items que mudaram geram writes. O resto é unchanged em milissegundos. Para 100k items que não mudaram, o re-sync inteiro roda em ~5min e consome ~200 requests.

Tratamento de exclusões

Tanto na estratégia A quanto B, a Voop não sabe quando você deletou um produto — o produto simplesmente para de aparecer no seu catálogo. Solução: junto com o re-sync, mande explicitamente DELETE para os items removidos:
Ou, no Shopify, subscreva products/delete webhook → DELETE direto na Voop.

Combinando A + B

Recomendado: A para mudanças em tempo real, B como reconciliação noturna. A captura mudanças em segundos. B garante que nenhuma divergência acumula — se um webhook foi perdido (rede, deploy, downtime), o B corrige na noite seguinte.