Gateway open source de webhooks que recebe, persiste, entrega e depura eventos, com novas tentativas, limitação de taxa e disjuntor.
svix/svix-webhooks
Serviço open source de envio de webhooks escrito em Rust, que cuida da entrega, das tentativas e da assinatura para que desenvolvedores enviem webhooks com uma chamada de API.
Alternativa open source a:Svix Cloud
- Estrelas
- 3,475
- Forks
- 299
- Issues abertas
- 64
- Último commit
- há 18 horas
O que é?
O Svix é um serviço de webhooks para equipes que precisam enviá-los aos clientes. O desenvolvedor faz uma chamada de API para publicar um evento, e o serviço cuida da entrega a cada endpoint inscrito, incluindo novas tentativas, assinatura dos payloads e acompanhamento do status de entrega.
O servidor é escrito em Rust e pode ser executado como binário independente ou contêiner Docker. Ele requer PostgreSQL para armazenar eventos e, opcionalmente, usa Redis ou outros backends de fila para a fila de tarefas e o cache. A configuração é feita por meio de um arquivo TOML ou de variáveis de ambiente. O projeto oferece esquemas de assinatura simétrica (no estilo HMAC, com segredos por endpoint) e assimétrica ed25519, sendo a simétrica a opção padrão. As tarefas com falha que esgotam as tentativas vão para uma dead letter queue, de onde podem ser reenviadas por um endpoint de administração.
Há bibliotecas cliente para Go, Python, TypeScript/JavaScript, Java, Kotlin, Ruby, C#, Rust e PHP, além de um provider do Terraform e uma CLI distribuída pelo npm. O repositório também inclui uma implementação de DLQ para filas Redis e exportação opcional de traces, métricas e logs via OpenTelemetry.
Recursos principais
- 01Envia webhooks com uma única chamada de API do lado do publicador.
- 02Gerencia novas tentativas e acompanha o status de entrega de cada endpoint.
- 03Assina payloads com chaves simétricas por padrão, com suporte opcional a assinaturas assimétricas ed25519.
- 04Oferece suporte a PostgreSQL para armazenamento e Redis para a fila de tarefas.
- 05Oferece uma dead letter queue com um endpoint de administração para reenviar tarefas com falha.
- 06Exporta traces, métricas e logs via OpenTelemetry.
Casos de uso
- Adicionar notificações de webhook de saída a um produto SaaS para integrações com clientes.
- Substituir um dispatcher de webhooks desenvolvido internamente que precisa de novas tentativas e assinatura.
- Hospedar por conta própria um pipeline de entrega de webhooks com PostgreSQL e Redis.
- Enviar notificações de eventos a partir de um backend usando uma das bibliotecas cliente disponíveis.
Início rápido
- 1
Experimente o Svix CLI sem instalá-lo
npx svix-cli --help - 2
Acesse o diretório server no repositório
cd server - 3
Inicie o servidor com o Docker Compose, que também inicia o Redis e o PostgreSQL
docker compose up
Antes de usar
- O servidor precisa de um banco de dados PostgreSQL. O Redis é opcional, mas recomendado para a fila de tarefas.
- O Redis precisa ser configurado com persistência e uma política de eviction que não remova chaves, o que dá mais trabalho para hospedar por conta própria.
Tópicos
Perguntas frequentes
- O que é svix-webhooks?
- Serviço open source de envio de webhooks escrito em Rust, que cuida da entrega, das tentativas e da assinatura para que desenvolvedores enviem webhooks com uma chamada de API. O Svix é um serviço de webhooks para equipes que precisam enviá-los aos clientes. O desenvolvedor faz uma chamada de API para publicar um evento, e o serviço cuida da entrega a cada endpoint inscrito, incluindo novas tentativas, assinatura dos payloads e acompanhamento do status de entrega.
- svix-webhooks é gratuito? Qual é a licença?
- svix-webhooks é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- svix-webhooks ainda é mantido?
- Manutenção ativa. O último commit de svix-webhooks foi em 6 de nov. de 2026.
- Para que posso usar svix-webhooks?
- Adicionar notificações de webhook de saída a um produto SaaS para integrações com clientes. Substituir um dispatcher de webhooks desenvolvido internamente que precisa de novas tentativas e assinatura. Hospedar por conta própria um pipeline de entrega de webhooks com PostgreSQL e Redis. Enviar notificações de eventos a partir de um backend usando uma das bibliotecas cliente disponíveis.
- Como instalar svix-webhooks?
- Experimente o Svix CLI sem instalá-lo: npx svix-cli --help Acesse o diretório server no repositório: cd server Inicie o servidor com o Docker Compose, que também inicia o Redis e o PostgreSQL: docker compose up
- Onde consigo svix-webhooks?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/svix/svix-webhooks
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma plataforma de streaming de dados compatível com a API do Kafka, escrita em C++ e que funciona sem ZooKeeper ou JVM.
NSQ é uma plataforma distribuída de mensageria em tempo real, projetada para lidar com volumes muito altos de mensagens sem um ponto único de falha.
Um runtime portátil que oferece a apps distribuídos e agentes de IA workflows duráveis, segurança entre serviços, estado e pub/sub por meio de um sidecar.
Motor de workflows duráveis que executa funções por etapas, tarefas em segundo plano e workflows de IA em serverless, servidores ou edge, com novas tentativas e controle de fluxo.
Uma biblioteca Go para criar aplicações orientadas a eventos, com uma interface unificada de Publisher/Subscriber para Kafka, RabbitMQ, NATS, SQL e outros.