Pular para o conteúdo

Introdução

O Notyfacil é a infraestrutura de webhooks do seu SaaS. Você publica um evento com uma chamada HTTP, e nós levamos esse evento a cada sistema que o espera: assinado, com retry, com o histórico de cada tentativa e com replay quando alguém precisar dele de novo.

O que você deixa de construir é a parte que parece simples e não é: fila, backoff, assinatura, rotação de segredo, proteção contra SSRF, desativação de destino que só falha, e uma tela onde o seu cliente descobre por que o webhook dele não chegou sem abrir um chamado.

Envio. O seu sistema avisa os sistemas dos seus clientes. Você publica pedido.pago uma vez; cada cliente que cadastrou uma URL para esse tipo recebe o evento, assinado com um segredo que só ele tem.

Recebimento. Provedores externos avisam o seu sistema. Mercado Pago, Stripe e Asaas mandam os webhooks deles para uma URL nossa; nós conferimos a assinatura do provedor, guardamos a mensagem e a repassamos para as suas URLs, com o mesmo retry e o mesmo histórico do envio.

Os dois produtos dividem o mesmo motor de entrega. O que muda é de onde o fato vem.

A documentação usa estes nomes sempre com o mesmo sentido.

Termo O que é
Consumer Quem recebe no envio. Normalmente é um cliente seu, identificado pelo id do seu sistema.
Tipo de evento Um nome do catálogo do que pode ser publicado, como pedido.pago.
Endpoint Uma URL de um Consumer, com os tipos que ela recebe e o secret que assina as entregas.
Evento O fato que você publica. Imutável.
Entrega A obrigação de levar um Evento a um endpoint. Um evento para três endpoints são três Entregas.
Tentativa Uma execução HTTP de uma Entrega, com o resultado dela.

No recebimento, o análogo do Evento é a Mensagem recebida, que chega por uma Fonte e é repassada a Destinos.

O fluxo inteiro do envio cabe numa linha:

POST /v1/events → Evento → uma Entrega por endpoint inscrito → Tentativas até dar certo ou esgotar
API https://api.notyfacil.com.br
Painel https://app.notyfacil.com.br
Especificação OpenAPI https://api.notyfacil.com.br/openapi/v1.json