Skip to main content
Comece pela visão geral dos webhooks (fluxo, eventos e requisitos). Esta página descreve o corpo dos POSTs JSON. Para criar, listar e editar webhooks (URL, eventos, secret), use a API v1 de webhooks.

Autenticação do POST

Se você configurou um secret, valide o header X-Webhook-Signature (HMAC-SHA256 do JSON do body):
Headers enviados:

Eventos (configuração → payload)

corvex.order.pending é interno e não é enviado a endpoints de lojistas.

Pedidos — exemplo completo (corvex.order.paid)

Valores em reais (decimal), não centavos. Dados fictícios; na prática alguns campos podem vir ausentes ou null — trate sempre com segurança.
Outros eventos de pedido (corvex.order.created, corvex.order.cancelled, corvex.order.refunded) usam a mesma forma; mudam event, status, method e campos como paidAt (só em paid).

status e method

Campos condicionais

client.doc usa TIPO:NÚMERO (ex.: CPF:...) ou "N/A".

Carrinho abandonado

Disparo após 90 segundos de desconexão no checkout, com webhook configurado para CART_ABANDONED. Não dispara se o visitante voltar no prazo, se já pagou, ou sem contato mínimo (nome + telefone) ou (nome + e-mail).

Exemplo completo (corvex.cart.abandoned)

Não há method, paidAt nem pix_code. O id do payload é o checkout, não o pedido.

Boas práticas

Responda 2xx dentro do timeout do webhook (configurável na API v1; padrão 30s). Processamento pesado faça em fila assíncrona.
Falhas podem ser reenviadas conforme retryAttempts do webhook (padrão 3). Implemente idempotência no seu lado.
Use event + id (+ leadId em carrinho abandonado) para não processar duas vezes.
A ordem de chegada não é garantida. Use timestamp para ordenar.
No painel Webhooks → Enviar teste, ou exponha local com ngrok e cadastre a URL via POST /api/v1/webhooks.

Eventos legados do painel

O dashboard pode listar outros tipos (SUBSCRIPTION_*, PAYMENT_*, etc.) com formato { "event", "data", "timestamp", "webhookId", "storeId" }. Para integrações novas, use apenas os cinco eventos corvex.* desta página.