Blazelock

Über Webhooks

Erfahren Sie, was Webhooks sind, wann Sie sie verwenden sollten und wie Sie eine Webhook-Integration absichern.

Webhooks ermöglichen es Blazelock, Ihre Anwendung zu benachrichtigen, sobald sich etwas ändert. Anstatt den aktuellen Scan-Status wiederholt abzufragen, erhält Ihr System eine HTTP-POST-Anfrage, wenn ein relevantes Ereignis eintritt.

Für die meisten asynchronen Scan-Abläufe ist dies der effizientere Weg, um mit Blazelock synchron zu bleiben.

Warum Webhooks verwenden?

  • Erhalten Sie Scan-Updates nahezu in Echtzeit, anstatt auf das nächste Polling-Intervall zu warten.
  • Reduzieren Sie unnötige API-Anfragen, indem Sie wiederholte Statusabfragen für unveränderte Scans vermeiden.
  • Lösen Sie nachgelagerte Workflows automatisch aus, sobald relevante Webhook-Ereignisse zugestellt werden.
  • Halten Sie den Zustand Ihrer Anwendung und Ihrer internen Systeme mit dem aktuellen Scan-Status synchron.

Erste Schritte

  1. Richten Sie einen HTTPS-Endpunkt ein, der POST-Anfragen von Blazelock empfangen kann.
  2. Hinterlegen Sie Ihre Webhook-URL im Blazelock Dashboard für die jeweilige API-Anbindung.
  3. Implementieren Sie Handler für die Webhook-Ereignisse, die Ihre Anwendung verarbeiten soll.

Die Validierung von Webhook-Signaturen ist für den Einstieg nicht zwingend erforderlich, wir empfehlen sie jedoch ausdrücklich, damit Ihre Anwendung verifizieren kann, dass eingehende Ereignisse von Blazelock gesendet wurden.

Zustellung & Retry-Versuche

Blazelock erwartet, dass Ihr Endpunkt innerhalb von 15 Sekunden mit einem 2xx-Statuscode antwortet. Wenn Ihr Endpunkt eine Nicht-2xx-Antwort zurückgibt oder die Anfrage in ein Timeout läuft, gilt die Zustellung als fehlgeschlagen und wird automatisch erneut versucht.

Deshalb sollten Webhook-Handler die Anfrage zügig bestätigen und länger laufende Verarbeitung in Hintergrundjobs, Queues oder asynchrone Worker auslagern.

Blazelock führt derzeit insgesamt bis zu 10 Zustellversuche durch:

VersuchVerzögerung nach dem vorherigen VersuchUngefähre Zeit seit dem ersten Versuch
1SofortSofort
21 Minute1 Minute
32 Minuten3 Minuten
45 Minuten8 Minuten
510 Minuten18 Minuten
630 Minuten48 Minuten
71 Stunde1 Stunde 48 Minuten
82 Stunden3 Stunden 48 Minuten
94 Stunden7 Stunden 48 Minuten
1022 Stunden29 Stunden 48 Minuten

Jeder Zustellversuch wird einzeln signiert. Das bedeutet, dass der Webhook-Zeitstempel und die Signatur den jeweils gesendeten Retry-Versuch widerspiegeln.

Sicherheit ist wichtig

Blazelock signiert jede Webhook-Anfrage und sendet Security-Header mit, deren Validierung wir vor der Verarbeitung des Payloads empfehlen. Das hilft dabei, Ihren Endpunkt vor gefälschten Anfragen und Replay-Angriffen zu schützen. Weitere Informationen finden Sie in unserem Leitfaden zur Validierung von Webhook-Signaturen.

Best Practices

  • Zuerst validieren: Prüfen Sie Zeitstempel und Signatur, bevor Sie dem Payload vertrauen. Weitere Informationen finden Sie in unserem Leitfaden zur Validierung von Webhook-Signaturen.
  • Schnell antworten: Geben Sie einen 2xx-Statuscode zurück, sobald das Ereignis zur Verarbeitung angenommen wurde.
  • Ereignisse idempotent verarbeiten: Ihre Verarbeitung sollte auch dann korrekt funktionieren, wenn dasselbe Ereignis mehrfach zugestellt wird.
  • Asynchron verarbeiten: Verlagern Sie aufwendige Logik aus dem Request-Zyklus in Hintergrund-Worker.

Auf dieser Seite