Destinos
O destino é uma URL sua que recebe o que uma fonte repassa. Uma fonte pode ter até 10, e cada mensagem vira uma Entrega para cada destino habilitado.
Adicionar
Seção intitulada “Adicionar”curl -X POST https://api.notyfacil.com.br/v1/ingest/sources/src_01JB8Z2R4K7M1QX5VN3HT9WCDF/destinations \ -H "Authorization: Bearer $NOTYFACIL_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://api.padariadoze.com.br/pagamentos/webhook","description":"Backend de pagamentos"}'{ "id": "dst_01JB8Z7C5H2M9R4TXK1WQ6VNPD", "url": "https://api.padariadoze.com.br/pagamentos/webhook", "secret": "whsec_…" }A URL segue as mesmas regras dos endpoints: https em
produção, portas 80 e 443, nada de rede privada. Os headers fixos também, com headers no mesmo
formato.
O que chega
Seção intitulada “O que chega”POST /pagamentos/webhook HTTP/1.1Content-Type: application/jsonUser-Agent: Notyfacil/1.0Webhook-Id: in_01JB8Z0M5V3H7Q2KX9WRC4D6TNWebhook-Timestamp: 1757337600Webhook-Signature: v1,Ym9M2Qb7yT4kX1pN8wR5eH3jL6cV0aZ9sD2fG7uK4hE=Notyfacil-Source: src_01JB8Z2R4K7M1QX5VN3HT9WCDF
{"action":"payment.updated","data":{"id":"123456789"}}- O corpo é o do provedor, sem alteração e com o
Content-Typeoriginal, que pode ser form-urlencoded. - O
Webhook-Idé o id da mensagem recebida, com prefixoin_. É o mesmo em todas as tentativas e no replay. Notyfacil-Sourcediz de qual fonte veio.- Os headers originais do provedor não vêm; eles ficam gravados na mensagem.
Verificar
Seção intitulada “Verificar”A verificação é exatamente a do envio, com o secret do destino: HMAC-SHA256 sobre
{Webhook-Id}.{Webhook-Timestamp}.{corpo cru}. O código em Node.js, PHP, C# e Python está em
verificando a assinatura, e as regras de resposta em
o que responder.
A assinatura do provedor já foi conferida na entrada. O que o seu destino confere é que o repasse veio do Notyfacil.
Pausar e reativar
Seção intitulada “Pausar e reativar”curl -X PATCH https://api.notyfacil.com.br/v1/ingest/destinations/dst_01JB8Z7C5H2M9R4TXK1WQ6VNPD \ -H "Authorization: Bearer $NOTYFACIL_KEY" \ -H "Content-Type: application/json" \ -d '{"status":"disabled"}'Um destino que acumula 20 falhas seguidas é desativado automaticamente, como um endpoint, e as
Entregas na fila para ele são canceladas. Para reativá-lo, mande "status":"enabled": a contagem de
falhas volta a zero. As mensagens do período em que ele esteve fora podem ser repassadas com
replay.
Rotacionar o secret
Seção intitulada “Rotacionar o secret”curl -X POST https://api.notyfacil.com.br/v1/ingest/destinations/dst_01JB8Z7C5H2M9R4TXK1WQ6VNPD/rotate-secret \ -H "Authorization: Bearer $NOTYFACIL_KEY"Igual à rotação de secret de um endpoint: por 24 horas os repasses saem assinados com os dois secrets, e o seu código aceita qualquer um que confira.
Excluir
Seção intitulada “Excluir”DELETE /v1/ingest/destinations/{id} exclui o destino e o histórico de entregas para ele. As
mensagens da fonte continuam lá.
Referência: adicionar um destino