Bewährte Vorgehensweisen
Richtlinien zum Aufbau zuverlässiger Integrationen mit DiffHook.
Verwenden Sie CSS-Selektoren, um Rauschen zu reduzieren
Seiten ändern sich ständig – Cookie-Banner werden aktualisiert, Anzeigen werden aktualisiert, Zeitstempel ticken. Richten Sie Ihre Monitore auf die Inhalte aus, die Sie wirklich interessieren:
{
"css_selector": "#pricing-table"
}
Dies reduziert Fehlalarme und macht Ihre Unterschiede aussagekräftiger.
Verwenden Sie JS-Rendering nur bei Bedarf
Das Headless-Browser-Rendering ist langsamer und ressourcenintensiver. Aktivieren Sie es nur, wenn die Zielseite tatsächlich JavaScript benötigt, um aussagekräftige Inhalte darzustellen.
Die meisten Newsfeeds, Dokumentationsseiten und Preisseiten werden vom Server gerendert und benötigen es nicht.
Reagieren Sie schnell auf Webhooks
Ihr Endpunkt sollte innerhalb von 10 Sekunden 200 OK zurückgeben. Timeouts und Nicht-2xx-Antworten lösen automatische Wiederholungsversuche mit exponentiellem Backoff in Minuten aus (siehe Webhooks empfangen).
Nutzlasten asynchron verarbeiten – in eine Warteschlange schieben, in einer Datenbank speichern und sofort 200 zurückgeben.
Idempotenz
In seltenen Fehlerszenarien können Webhooks mehr als einmal bereitgestellt werden. Verwenden Sie die Kombination monitor_id + triggered_at als Deduplizierungsschlüssel:
const eventKey = `${body.monitor_id}:${body.triggered_at}`
if (await redis.get(eventKey)) return // Already processed
await redis.set(eventKey, '1', 'EX', 86400)
Wählen Sie das richtige Intervall
Eine gute Faustregel:
| Anwendungsfall | Empfohlenes Intervall |
|---|---|
| Flash-Sales, Preisalarme | 5–15 Minuten |
| Konkurrenzüberwachung | 60 Minuten |
| Zulassungsanträge | 360 Min. (6h) |
| Jobbörsen, Karriereseiten | 1440 Min. (täglich) |
Signaturen überprüfen
Überprüfen Sie immer den X-Signature-Header, bevor Sie Webhook-Nutzlasten verarbeiten. Dies schützt vor gefälschten Anfragen. Implementierungsbeispiele finden Sie im Signaturen verifizieren-Handbuch.