O que são Webhooks?
Webhooks são notificações HTTP enviadas pelo Triglit para seus endpoints quando eventos ocorrem. Isso permite que você reaja a eventos em tempo real sem precisar fazer polling constante.Eventos Disponíveis
O Triglit envia os seguintes eventos de execução de workflows:run.started: Execução (run) iniciadarun.completed: Execução concluída com sucessorun.failed: Execução falhourun.cancelled: Execução canceladarun.paused: Execução pausada (aguardando retomada)run.resumed: Execução retomada após pausa
Configuração
1. Configurar Webhook no Frontend
A configuração de webhooks é feita através do painel do Triglit (frontend), não via API. No painel, você pode:- Acessar as configurações de webhooks
- Adicionar um endpoint para receber notificações
- Selecionar quais eventos deseja receber
- Ver o secret para validação
A configuração de webhooks é feita apenas pelo frontend do Triglit. Não há endpoints de API para cadastro de webhooks.
2. Implementar Endpoint
Como os webhooks são entregues via Svix, você precisa validar a assinatura usando o SDK do Svix ou validar manualmente:Estrutura do Evento
Os eventos enviados pelo Triglit seguem esta estrutura:O campo
subTenantId é opcional e estará presente apenas quando a execução ocorrer em um ambiente de sub-tenant. Se não houver sub-tenant associado, este campo não será incluído no payload.Estrutura por Tipo de Evento
run.started:
run.completed:
run.failed:
run.cancelled:
run.paused:
run.resumed:
Validação de Assinatura
O Svix envia webhooks com assinaturas nos headers:svix-id: ID único do eventosvix-timestamp: Timestamp do eventosvix-signature: Assinatura HMAC SHA256
Exemplo Completo
Retries e Confiabilidade
O Svix gerencia automaticamente retries e entrega confiável de webhooks:- Retries automáticos: O Svix retenta automaticamente em caso de falha
- Entrega garantida: Webhooks são entregues de forma confiável
- Timeout: Configurável no Svix
- Dead Letter Queue: Webhooks que falham persistentemente são armazenados
200 OK rapidamente após validar a assinatura:
Boas Práticas
Validação de Assinatura
Validação de Assinatura
Sempre valide assinaturas usando o SDK do Svix. Nunca processe webhooks sem validação.
Idempotência
Idempotência
Torne handlers idempotentes para lidar com retries do Svix. Use o
svix-id para detectar duplicatas.Resposta Rápida
Resposta Rápida
Retorne 200 OK rapidamente após validar a assinatura e processe eventos de forma assíncrona.
Logging
Logging
Logue todos os eventos recebidos usando o
svix-id para rastreabilidade.HTTPS
HTTPS
Use sempre HTTPS para webhooks em produção. O Svix requer HTTPS para endpoints de produção.
Configuração no Frontend
Configuração no Frontend
Configure webhooks através do painel do Triglit. Não é necessário usar a API para isso.
SDKs do Svix
O Svix oferece SDKs oficiais para várias linguagens:- JavaScript/TypeScript:
npm install svix - Python:
pip install svix - Go:
go get github.com/svix/svix-libs/go - Ruby:
gem install svix - Java:
mvn install svix - C#:
dotnet add package Svix
Documentação do Svix
Veja a documentação completa do Svix para mais detalhes sobre validação e configuração

