Repolode
svix

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. 1

    Experimente o Svix CLI sem instalá-lo

    npx svix-cli --help
  2. 2

    Acesse o diretório server no repositório

    cd server
  3. 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