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.
Dois produtos, o mesmo motor
Seção intitulada “Dois produtos, o mesmo motor”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.
O vocabulário
Seção intitulada “O vocabulário”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 esgotarEndereços
Seção intitulada “Endereços”| API | https://api.notyfacil.com.br |
| Painel | https://app.notyfacil.com.br |
| Especificação OpenAPI | https://api.notyfacil.com.br/openapi/v1.json |