Referência de webhooks
Esquemas de payload de eventos e configuração de webhooks
Referência de webhooks
Os webhooks enviam requisições HTTP POST para o seu endpoint quando ocorrem eventos no Umbrella, para que você não precise consultar a API repetidamente em busca de mudanças.
Configuração
- Acesse Painel > Configurações > Integrações > Webhooks
- Clique em Adicionar endpoint de webhook
- Informe a URL HTTPS do seu endpoint
- Selecione os eventos que deseja receber
- Salve e guarde o segredo de assinatura (exibido apenas uma vez)
Seu endpoint deve aceitar requisições POST, retornar um status 2xx em até 30 segundos e aceitar application/json.
Tipos de evento
Eventos de apólice
| Evento | Descrição |
|---|---|
policy.created | O cliente comprou uma garantia |
policy.activated | O status da apólice mudou para ativa |
policy.expired | A apólice chegou à data de término |
policy.cancelled | Apólice cancelada (reembolso ou ação do lojista) |
policy.voided | Apólice anulada (cancelamento do pedido ou chargeback) |
Eventos de sinistro
| Evento | Descrição |
|---|---|
claim.submitted | O cliente abriu um sinistro |
claim.approved | O lojista aprovou um sinistro |
claim.denied | O lojista negou um sinistro |
claim.resolved | Sinistro totalmente resolvido |
claim.evidence_uploaded | Evidência anexada a um sinistro |
Eventos de registro
| Evento | Descrição |
|---|---|
registration.submitted | Registro de produto enviado |
registration.approved | Registro aprovado |
registration.denied | Registro negado |
Eventos de garantia
| Evento | Descrição |
|---|---|
warranty.created | Novo plano de garantia criado |
warranty.updated | Plano de garantia modificado |
warranty.activated | Plano de garantia ativado |
warranty.deactivated | Plano de garantia desativado |
Estrutura do payload
Todo webhook segue este envelope:
{
"id": "evt_a1b2c3d4e5f6",
"type": "claim.submitted",
"timestamp": "2025-03-15T14:30:00.000Z",
"apiVersion": "1.3.9",
"orgId": "org_xyz789",
"data": { ... }
}
id— ID único do evento (use para eliminar duplicatas)type— tipo de eventotimestamp— quando o evento ocorreudata— payload específico do evento, com os detalhes do recurso em questão (apólice, sinistro, registro etc.)
Verificação de assinatura
Toda requisição inclui um cabeçalho X-Umbrella-Signature com um hash HMAC-SHA256 do corpo da requisição. Verifique-o antes de processar os eventos.
const crypto = require('crypto');
function verifyWebhookSignature(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload, 'utf8')
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}
Política de novas tentativas
Entregas com falha (status diferente de 2xx, tempo esgotado, erro de conexão) são repetidas com backoff exponencial:
| Tentativa | Intervalo |
|---|---|
| 2ª | 1 minuto |
| 3ª | 5 minutos |
| 4ª | 30 minutos |
| 5ª | 2 horas |
| 6ª | 6 horas |
| 7ª (final) | 12 horas |
Após 7 tentativas com falha, a entrega é marcada como falha. Uma resposta 410 Gone desativa o endpoint permanentemente.
Testes
- Acesse Painel > Configurações > Integrações > Webhooks
- Clique no seu endpoint e depois em Enviar evento de teste
- Selecione um tipo de evento e confira o resultado da entrega
A página de detalhes do webhook também mostra um log das entregas recentes, com códigos de status e tempos.
id do evento para eliminar duplicatas, pois as novas tentativas podem entregar o mesmo evento mais de uma vez.
Relacionados
- Autenticação — segurança e credenciais da API
- API de sinistros — endpoints de gerenciamento de sinistros
- API de apólices — endpoints de gerenciamento de apólices


