Skip to main content

O que são Webhooks?

Webhooks permitem que sua aplicação receba notificações automáticas quando eventos importantes acontecem na sua loja, como um pedido aprovado, reembolsado ou criado. Ao invés de fazer polling na API para verificar mudanças, os webhooks enviam uma requisição HTTP POST para a URL que você configurar.

Eventos disponíveis

O evento ORDER_UPDATED é disparado sempre que um administrador edita o pedido pelo painel. Caso a atualização também resulte em uma mudança de status para APPROVED ou REFUNDED, os eventos correspondentes (ORDER_APPROVED / ORDER_REFUNDED) também são disparados. Assine apenas os que fizerem sentido para o seu fluxo.

Formato do payload

Todos os webhooks seguem um formato padronizado:
O conteúdo de data varia conforme o grupo do evento. Veja abaixo o formato de cada um:
Todos os eventos ORDER_* (ORDER_CREATED, ORDER_UPDATED, ORDER_APPROVED, ORDER_REJECTED, ORDER_ABANDONED, ORDER_REFUNDED, ORDER_CHARGEDBACK) compartilham o mesmo formato: o campo data contém os mesmos dados retornados pela API de detalhes do pedido, incluindo pacotes, variáveis, entregas e outros detalhes.
Trazem o produto no campo data.package:
Traz o estado do produto antes e depois da edição, para que você compare o que mudou:
Traz o produto afetado em data.package e as chaves que foram adicionadas e removidas naquela edição:
Disparado quando o cliente envia uma avaliação do pedido. Traz a avaliação em data.feedback, junto com a identificação do pedido avaliado:
is_public reflete a configuração de publicação automática da loja no momento do envio. Avaliações que entram como privadas só aparecem na loja depois de publicadas, pelo painel ou pelo endpoint PATCH /app/feedback/{feedback-id}.

Segurança (HMAC-SHA256)

Cada webhook possui um secret único gerado na criação. Todas as requisições são assinadas com HMAC-SHA256 para garantir autenticidade.

Headers de segurança

Verificando a assinatura

Para verificar a autenticidade do webhook, recalcule a assinatura usando o secret do webhook:

Configuração

Webhooks podem ser configurados em Configurações > Webhooks no painel da CentralCart, ou via API.

Boas práticas

Responda rápido

Retorne um status 2xx o mais rápido possível. Processe o evento de forma assíncrona se necessário.

Idempotência

Use o campo id do payload para evitar processar o mesmo evento duas vezes.

Verifique a assinatura

Sempre valide o header x-centralcart-signature antes de processar o evento.

Timeout

Requisições têm timeout de 10 segundos. Se seu servidor não responder a tempo, o envio será considerado como falha.