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 (definaproduct_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-Signaturepra 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 oorder_numberchamandoGET /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 chamadaGET /v1/orders/{id}depois. - Responda rápido, com
2xx. Qualquer coisa fora da faixa2xxconta 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.