Wir erweitern aktiv die Unterstützung für Webhooks.Gerade eingeführt: automatische Wiederholungen mit exponentiellem Backoff — fehlgeschlagene Lieferungen werden jetzt bis zu 5 Mal innerhalb von 30 Minuten erneut versucht.Demnächst verfügbar:
- Teamweite Standard-Webhook-URLs
- Kryptografische Signaturen zur Überprüfung von Nutzlasten
Überblick
Webhooks liefern Echtzeit-HTTP-POST-Benachrichtigungen an Ihren Server, wenn langwierige Operationen abgeschlossen sind. Anstatt den Status abzufragen, erhält Ihre Anwendung sofortige Updates.Anwendungsfälle
Asynchrone Verarbeitung
Lassen Sie sich benachrichtigen, wenn Stapel oder Crawls abgeschlossen sind, anstatt den Status abzufragen
Pipeline-Auslöser
Lösen Sie automatisch nachgelagerte Verarbeitungen aus, wenn Daten bereit sind
Alarmierung
Senden Sie Benachrichtigungen an Slack, E-Mail oder andere Systeme bei Abschluss
Datenabgleich
Halten Sie Ihre Datenbank synchron mit Olostep-Ergebnissen
Unterstützte Ereignisse
batch.completed
batch.completed
Wird ausgelöst, wenn ein Stapel die Verarbeitung abgeschlossen hat (alle Elemente abgeschlossen oder fehlgeschlagen).
crawl.completed
crawl.completed
Wird ausgelöst, wenn ein Crawl abgeschlossen ist und alle entdeckten Seiten verarbeitet wurden.
Einrichtung von Webhooks
Geben Siewebhook an, wenn Sie eine Ressource erstellen. Diese URL erhält die Abschlussbenachrichtigung.
Parametername: Der kanonische Parameter ist
webhook. Zur Abwärtskompatibilität wird auch webhook_url als Alias akzeptiert.Webhook-Nutzlast
Alle Webhook-Nutzlasten folgen einer einheitlichen Umschlagstruktur:Umschlagfelder
| Feld | Beschreibung |
|---|---|
id | Ereignis-ID — gleich bei allen Wiederholungsversuchen |
object | Ereignistyp (z.B., event.batch.completed) |
timestamp | Wann dieser Lieferungsversuch gesendet wurde (Epoch ms) |
delivery_attempt | Aktueller Versuch / maximale Versuche (z.B., 1/5, 3/5) |
data | Die tatsächlichen Ressourcendaten (gleiches Format wie API-Antwort) |
Wiederholungsverhalten
Fehlgeschlagene Webhook-Lieferungen werden automatisch mit exponentiellem Backoff innerhalb eines 30-Minuten-Fensters erneut versucht:| Versuch | Verzögerung vor dem Versuch | Kumulative Zeit |
|---|---|---|
| 1 | Sofort | 0 min |
| 2 | ~2 min | ~2 min |
| 3 | ~4 min | ~6 min |
| 4 | ~7 min | ~13 min |
| 5 | ~15 min | ~28 min |
Timeout pro Anfrage: 30 Sekunden
Was als Erfolg zählt
Ihr Endpunkt muss innerhalb von 30 Sekunden einen2xx-Statuscode zurückgeben. Jede andere Antwort löst einen Wiederholungsversuch aus.
| Antwort | Ergebnis |
|---|---|
200 OK | ✅ Geliefert |
201 Created | ✅ Geliefert |
301 Redirect | ❌ Wiederholen (wir folgen keinen Weiterleitungen) |
400 Bad Request | ❌ Wiederholen |
500 Server Error | ❌ Wiederholen |
| Timeout (>30s) | ❌ Wiederholen |
| Verbindung abgelehnt | ❌ Wiederholen |
Beste Praktiken
Schnell antworten, asynchron verarbeiten
Schnell antworten, asynchron verarbeiten
Geben Sie sofort
200 OK zurück und verarbeiten Sie den Webhook asynchron. Wenn Ihre Verarbeitung länger als 30 Sekunden dauert, werden wir erneut versuchen — was zu doppelten Lieferungen führt.Idempotente Handler implementieren
Idempotente Handler implementieren
Verwenden Sie das
id-Feld zur Deduplizierung. Speichern Sie verarbeitete Ereignis-IDs und überspringen Sie Duplikate.Webhook-Empfänge protokollieren
Webhook-Empfänge protokollieren
Protokollieren Sie alle Webhook-Empfänge zur Fehlerbehebung. Schließen Sie die Ereignis-ID, den Zeitstempel und das Verarbeitungsergebnis ein.
HTTPS-Endpunkte verwenden
HTTPS-Endpunkte verwenden
Verwenden Sie immer HTTPS für Webhook-Endpunkte. HTTP-Endpunkte sind anfällig für Abhören und Man-in-the-Middle-Angriffe.
Fehlerbehebung
Keine Webhooks empfangen
Keine Webhooks empfangen
- Überprüfen Sie, ob der
webhook-Parameter in Ihrer Anfrage enthalten war - Überprüfen Sie, ob Ihr Endpunkt öffentlich zugänglich ist (nicht localhost)
- Überprüfen Sie Ihre Serverprotokolle auf eingehende Anfragen
- Stellen Sie sicher, dass Sie einen
2xx-Statuscode zurückgeben
Doppelte Webhooks empfangen
Doppelte Webhooks empfangen
Dies ist während der Wiederholungen zu erwarten. Implementieren Sie idempotente Verarbeitung mit dem
id-Feld:Webhooks laufen ab
Webhooks laufen ab
Ihr Endpunkt muss innerhalb von 30 Sekunden antworten. Verarbeiten Sie Webhooks asynchron:
Demnächst verfügbar
Team-Standard-URL
Konfigurieren Sie eine Standard-Webhook-URL in Ihren Kontoeinstellungen. Alle Anfragen verwenden diese URL, es sei denn, sie wird überschrieben.
Signaturverifizierung
Kryptografische Signaturen (HMAC-SHA256), um zu überprüfen, dass Webhook-Nutzlasten von Olostep stammen.
Möchten Sie frühzeitig Zugang zu diesen Funktionen erhalten? Kontaktieren Sie uns unter info@olostep.com oder treten Sie unserer Slack-Community bei.