Skip to main content
Depois de registrar um webhook (POST /v1/webhooks), a Lojou faz um POST com um payload em JSON pra sua URL sempre que um dos eventos configurados acontece. Isso te evita ter que ficar consultando GET /v1/orders/{id} pra saber se um pedido mudou de status.

Eventos disponíveis

Escolha os eventos no campo events ao criar o webhook (POST /v1/webhooks).

Escopo por produto

Um webhook pode ser filtrado pra um produto específico (defina product_details na criação) ou disparar pra qualquer produto da loja (deixe product_details de fora). Se você tiver mais de um webhook cadastrado pra mesma URL, a Lojou agrupa e manda só uma entrega por URL — não duplica.

O payload

plan_subscriber só vem preenchido de verdade pra produtos recurring (assinatura) — em produtos one_time os campos ficam null, exceto portal_url, que é sempre montado.

Entrega — o que esperar

  • Sem assinatura/verificação criptográfica. Hoje a Lojou não envia nenhum header tipo X-Lojou-Signature pra você validar a origem do payload. Trate a URL do seu endpoint como algo que só você conhece, e valide o conteúdo (ex: confirme o order_number chamando GET /v1/orders/{id}) antes de agir sobre ele em operações sensíveis.
  • Sem retry automático. É uma única tentativa de POST, com timeout de 10s — se o seu endpoint estiver fora do ar ou demorar demais, essa entrega específica se perde (fica só registrado como falha no relatório do webhook, GET /v1/webhooks/{id} mostra o resumo). Se você precisa de garantia de entrega, use os webhooks como um aviso “algo mudou” e confirme com uma chamada GET /v1/orders/{id} depois.
  • Responda rápido, com 2xx. Qualquer coisa fora da faixa 2xx conta como falha no relatório do webhook (mesmo que você já tenha processado o evento).

Depurando

GET /v1/webhooks/{id} devolve um resumo (summary) com o horário e status da última entrega. Pra ver o payload exato que foi enviado numa tentativa específica e a resposta que seu endpoint devolveu, isso ainda só está disponível no painel da Lojou (Configurações → Webhooks → Relatórios) — não exposto pela API pública ainda.